From 5d581a5b7a8372a3c6c2da249e7e62720a31f4cf Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 21 Mar 2024 21:45:28 +0100 Subject: [PATCH 001/180] save WIP --- .../.github/workflows/CI.yml | 85 + .../.github/workflows/CleanupDocPreview.yml | 29 + .../.github/workflows/TagBot.yml | 15 + .../AlgebraicSolving.jl-main/.gitignore | 3 + .../AlgebraicSolving.jl-main/LICENSE.md | 636 +++++++ .../AlgebraicSolving.jl-main/Manifest.toml | 675 +++++++ .../AlgebraicSolving.jl-main/Project.toml | 33 + .../AlgebraicSolving.jl-main/README.md | 22 + .../docs/Project.toml | 11 + .../AlgebraicSolving.jl-main/docs/make.jl | 36 + .../docs/src/groebner-bases.md | 65 + .../docs/src/index.md | 23 + .../docs/src/katsura.md | 34 + .../docs/src/normal-forms.md | 44 + .../docs/src/solvers.md | 57 + .../docs/src/types.md | 53 + .../src/AlgebraicSolving.jl | 21 + .../src/algorithms/groebner-bases.jl | 184 ++ .../src/algorithms/normal-forms.jl | 174 ++ .../src/algorithms/solvers.jl | 432 +++++ .../src/examples/cyclic.jl | 23 + .../src/examples/katsura.jl | 90 + .../AlgebraicSolving.jl-main/src/exports.jl | 4 + .../AlgebraicSolving.jl-main/src/imports.jl | 61 + .../src/interfaces/nemo.jl | 118 ++ .../src/siggb/hashtable.jl | 472 +++++ .../src/siggb/linear_algebra.jl | 156 ++ .../src/siggb/monomials.jl | 127 ++ .../src/siggb/siggb.jl | 256 +++ .../src/siggb/symbolic_pp.jl | 368 ++++ .../src/siggb/typedefs.jl | 109 ++ .../src/siggb/update.jl | 350 ++++ .../AlgebraicSolving.jl-main/src/types.jl | 51 + .../test/algorithms/groebner-bases.jl | 70 + .../test/algorithms/normal-forms.jl | 18 + .../test/algorithms/solvers.jl | 53 + .../test/examples/katsura.jl | 28 + .../test/interfaces/nemo.jl | 16 + .../AlgebraicSolving.jl-main/test/runtests.jl | 10 + src/connectcurves/data.jl | 10 + src/connectcurves/main.ipynb | 486 ++++++ src/connectcurves/main.jl | 155 ++ src/connectcurves/src/resultant/Makefile | 18 + .../__pycache__/bresultant.cpython-310.pyc | Bin 0 -> 3376 bytes src/connectcurves/src/resultant/bresultant | Bin 0 -> 3412328 bytes src/connectcurves/src/resultant/bresultant.jl | 71 + .../src/resultant/bresultant.sage | 85 + src/connectcurves/src/resultant/data.c | 387 ++++ src/connectcurves/src/resultant/data.h | 150 ++ .../src/resultant/flint_euclide.c | 355 ++++ .../src/resultant/flint_resultant.c | 1285 ++++++++++++++ src/connectcurves/src/resultant/io.c | 562 ++++++ src/connectcurves/src/resultant/main.c | 1550 +++++++++++++++++ src/connectcurves/src/resultant/out.txt | 1 + .../src/resultant/ratreconstruct.c | 176 ++ src/connectcurves/src/usolve/usolve | Bin 0 -> 2969640 bytes src/connectcurves/src/usolve/usolve.jl | 63 + src/connectcurves/tools.jl | 84 + 58 files changed, 10450 insertions(+) create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CI.yml create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CleanupDocPreview.yml create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/TagBot.yml create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/.gitignore create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/LICENSE.md create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/Manifest.toml create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/Project.toml create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/README.md create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/Project.toml create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/make.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/groebner-bases.md create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/index.md create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/katsura.md create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/normal-forms.md create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/solvers.md create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/types.md create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/AlgebraicSolving.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/groebner-bases.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/normal-forms.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/examples/cyclic.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/examples/katsura.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/exports.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/imports.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/interfaces/nemo.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/hashtable.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/linear_algebra.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/monomials.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/siggb.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/symbolic_pp.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/typedefs.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/update.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/types.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/groebner-bases.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/normal-forms.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/solvers.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/examples/katsura.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/interfaces/nemo.jl create mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/runtests.jl create mode 100644 src/connectcurves/data.jl create mode 100644 src/connectcurves/main.ipynb create mode 100644 src/connectcurves/main.jl create mode 100644 src/connectcurves/src/resultant/Makefile create mode 100644 src/connectcurves/src/resultant/__pycache__/bresultant.cpython-310.pyc create mode 100755 src/connectcurves/src/resultant/bresultant create mode 100644 src/connectcurves/src/resultant/bresultant.jl create mode 100644 src/connectcurves/src/resultant/bresultant.sage create mode 100644 src/connectcurves/src/resultant/data.c create mode 100644 src/connectcurves/src/resultant/data.h create mode 100644 src/connectcurves/src/resultant/flint_euclide.c create mode 100644 src/connectcurves/src/resultant/flint_resultant.c create mode 100644 src/connectcurves/src/resultant/io.c create mode 100644 src/connectcurves/src/resultant/main.c create mode 100644 src/connectcurves/src/resultant/out.txt create mode 100644 src/connectcurves/src/resultant/ratreconstruct.c create mode 100755 src/connectcurves/src/usolve/usolve create mode 100644 src/connectcurves/src/usolve/usolve.jl create mode 100644 src/connectcurves/tools.jl diff --git a/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CI.yml b/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CI.yml new file mode 100644 index 0000000..730421f --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CI.yml @@ -0,0 +1,85 @@ +name: Run tests + +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +concurrency: + # group by workflow and ref; the last slightly strange component ensures that for pull + # requests, we limit to 1 concurrent job, but for the main branch we don't + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/main' || github.run_number }} + # Cancel intermediate builds, but only if it is a pull request build. + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + +jobs: + test: + runs-on: ${{ matrix.os }} + timeout-minutes: 120 + continue-on-error: ${{ matrix.julia-version == 'nightly' }} + strategy: + fail-fast: false + matrix: + julia-version: + - '1.6' + - '1.9' + - '~1.10.0-0' + - 'nightly' + julia-arch: + - x64 + os: + - ubuntu-latest + include: + # Add a few macOS jobs (not too many, the number we can run in parallel is limited) + - julia-version: '1.6' + julia-arch: x64 + os: macOS-latest + - julia-version: 'nightly' + julia-arch: x64 + os: macOS-latest + + steps: + - uses: actions/checkout@v2 + with: + # For Codecov, we must also fetch the parent of the HEAD commit to + # be able to properly deal with PRs / merges + fetch-depth: 2 + - name: "Set up Julia" + uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.julia-version }} + arch: ${{ matrix.julia-arch }} + - name: "Build package" + uses: julia-actions/julia-buildpkg@latest + - name: "Run tests" + uses: julia-actions/julia-runtest@latest + - name: "Run doctests" + if: ${{ matrix.julia-version == '1.6' }} + run: | + julia --project=docs --color=yes --code-coverage -e ' + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate() + using Documenter: doctest + using AlgebraicSolving + doctest(AlgebraicSolving)' + - name: "Process code coverage" + uses: julia-actions/julia-processcoverage@v1 + with: + directories: src + - name: "Upload coverage data to Codecov" + continue-on-error: true + uses: codecov/codecov-action@v2 + docs: + name: Documentation + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/cache@v1 + - uses: julia-actions/julia-buildpkg@latest + - uses: julia-actions/julia-docdeploy@latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CleanupDocPreview.yml b/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CleanupDocPreview.yml new file mode 100644 index 0000000..18be754 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CleanupDocPreview.yml @@ -0,0 +1,29 @@ +name: Cleanup Doc Preview + +on: + pull_request: + types: [closed] + +jobs: + cleanup-doc-preview: + runs-on: ubuntu-latest + steps: + - name: Checkout gh-pages branch + uses: actions/checkout@v2 + with: + ref: gh-pages + - name: Delete preview + run: | + if [ -d "previews/PR$PRNUM" ]; then + git config user.name "Documenter.jl" + git config user.email "documenter@juliadocs.github.io" + git rm -rf "previews/PR$PRNUM" + git commit -m "delete preview for $PRNUM" + git push origin gh-pages:gh-pages + fi + env: + PRNUM: ${{ github.event.number }} + +# adapted from here: +# https://juliadocs.github.io/Documenter.jl/stable/man/hosting/#gh-pages-Branch +# without history cleanup diff --git a/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/TagBot.yml b/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/TagBot.yml new file mode 100644 index 0000000..f49313b --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/TagBot.yml @@ -0,0 +1,15 @@ +name: TagBot +on: + issue_comment: + types: + - created + workflow_dispatch: +jobs: + TagBot: + if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' + runs-on: ubuntu-latest + steps: + - uses: JuliaRegistries/TagBot@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + ssh: ${{ secrets.DOCUMENTER_KEY }} diff --git a/src/connectcurves/AlgebraicSolving.jl-main/.gitignore b/src/connectcurves/AlgebraicSolving.jl-main/.gitignore new file mode 100644 index 0000000..014cf71 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/.gitignore @@ -0,0 +1,3 @@ +*~ +docs/build/* +docs/make-dep.jl diff --git a/src/connectcurves/AlgebraicSolving.jl-main/LICENSE.md b/src/connectcurves/AlgebraicSolving.jl-main/LICENSE.md new file mode 100644 index 0000000..18d88dc --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/LICENSE.md @@ -0,0 +1,636 @@ +The AlgebraicSolving.jl package is licensed under the GNU Public License, Version 3.0+: + +> Copyright (c) 2019 The AlgerbaicSolving Development Team. +> This program is free software: you can redistribute it and/or modify +> it under the terms of the GNU General Public License as published by +> the Free Software Foundation, either version 3 of the License, or +> (at your option) any later version. +> +> This program is distributed in the hope that it will be useful, +> but WITHOUT ANY WARRANTY; without even the implied warranty of +> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +> GNU General Public License for more details. +> +> +> GNU GENERAL PUBLIC LICENSE +> Version 3, 29 June 2007 +> +> Copyright (C) 2007 Free Software Foundation, Inc. +> Everyone is permitted to copy and distribute verbatim copies +> of this license document, but changing it is not allowed. +> +> Preamble +> +> The GNU General Public License is a free, copyleft license for +> software and other kinds of works. +> +> The licenses for most software and other practical works are designed +> to take away your freedom to share and change the works. By contrast, +> the GNU General Public License is intended to guarantee your freedom to +> share and change all versions of a program--to make sure it remains free +> software for all its users. We, the Free Software Foundation, use the +> GNU General Public License for most of our software; it applies also to +> any other work released this way by its authors. You can apply it to +> your programs, too. +> +> When we speak of free software, we are referring to freedom, not +> price. Our General Public Licenses are designed to make sure that you +> have the freedom to distribute copies of free software (and charge for +> them if you wish), that you receive source code or can get it if you +> want it, that you can change the software or use pieces of it in new +> free programs, and that you know you can do these things. +> +> To protect your rights, we need to prevent others from denying you +> these rights or asking you to surrender the rights. Therefore, you have +> certain responsibilities if you distribute copies of the software, or if +> you modify it: responsibilities to respect the freedom of others. +> +> For example, if you distribute copies of such a program, whether +> gratis or for a fee, you must pass on to the recipients the same +> freedoms that you received. You must make sure that they, too, receive +> or can get the source code. And you must show them these terms so they +> know their rights. +> +> Developers that use the GNU GPL protect your rights with two steps: +> (1) assert copyright on the software, and (2) offer you this License +> giving you legal permission to copy, distribute and/or modify it. +> +> For the developers' and authors' protection, the GPL clearly explains +> that there is no warranty for this free software. For both users' and +> authors' sake, the GPL requires that modified versions be marked as +> changed, so that their problems will not be attributed erroneously to +> authors of previous versions. +> +> Some devices are designed to deny users access to install or run +> modified versions of the software inside them, although the manufacturer +> can do so. This is fundamentally incompatible with the aim of +> protecting users' freedom to change the software. The systematic +> pattern of such abuse occurs in the area of products for individuals to +> use, which is precisely where it is most unacceptable. Therefore, we +> have designed this version of the GPL to prohibit the practice for those +> products. If such problems arise substantially in other domains, we +> stand ready to extend this provision to those domains in future versions +> of the GPL, as needed to protect the freedom of users. +> +> Finally, every program is threatened constantly by software patents. +> States should not allow patents to restrict development and use of +> software on general-purpose computers, but in those that do, we wish to +> avoid the special danger that patents applied to a free program could +> make it effectively proprietary. To prevent this, the GPL assures that +> patents cannot be used to render the program non-free. +> +> The precise terms and conditions for copying, distribution and +> modification follow. +> +> TERMS AND CONDITIONS +> +> 0. Definitions. +> +> "This License" refers to version 3 of the GNU General Public License. +> +> "Copyright" also means copyright-like laws that apply to other kinds of +> works, such as semiconductor masks. +> +> "The Program" refers to any copyrightable work licensed under this +> License. Each licensee is addressed as "you". "Licensees" and +> "recipients" may be individuals or organizations. +> +> To "modify" a work means to copy from or adapt all or part of the work +> in a fashion requiring copyright permission, other than the making of an +> exact copy. The resulting work is called a "modified version" of the +> earlier work or a work "based on" the earlier work. +> +> A "covered work" means either the unmodified Program or a work based +> on the Program. +> +> To "propagate" a work means to do anything with it that, without +> permission, would make you directly or secondarily liable for +> infringement under applicable copyright law, except executing it on a +> computer or modifying a private copy. Propagation includes copying, +> distribution (with or without modification), making available to the +> public, and in some countries other activities as well. +> +> To "convey" a work means any kind of propagation that enables other +> parties to make or receive copies. Mere interaction with a user through +> a computer network, with no transfer of a copy, is not conveying. +> +> An interactive user interface displays "Appropriate Legal Notices" +> to the extent that it includes a convenient and prominently visible +> feature that (1) displays an appropriate copyright notice, and (2) +> tells the user that there is no warranty for the work (except to the +> extent that warranties are provided), that licensees may convey the +> work under this License, and how to view a copy of this License. If +> the interface presents a list of user commands or options, such as a +> menu, a prominent item in the list meets this criterion. +> +> 1. Source Code. +> +> The "source code" for a work means the preferred form of the work +> for making modifications to it. "Object code" means any non-source +> form of a work. +> +> A "Standard Interface" means an interface that either is an official +> standard defined by a recognized standards body, or, in the case of +> interfaces specified for a particular programming language, one that +> is widely used among developers working in that language. +> +> The "System Libraries" of an executable work include anything, other +> than the work as a whole, that (a) is included in the normal form of +> packaging a Major Component, but which is not part of that Major +> Component, and (b) serves only to enable use of the work with that +> Major Component, or to implement a Standard Interface for which an +> implementation is available to the public in source code form. A +> "Major Component", in this context, means a major essential component +> (kernel, window system, and so on) of the specific operating system +> (if any) on which the executable work runs, or a compiler used to +> produce the work, or an object code interpreter used to run it. +> +> The "Corresponding Source" for a work in object code form means all +> the source code needed to generate, install, and (for an executable +> work) run the object code and to modify the work, including scripts to +> control those activities. However, it does not include the work's +> System Libraries, or general-purpose tools or generally available free +> programs which are used unmodified in performing those activities but +> which are not part of the work. For example, Corresponding Source +> includes interface definition files associated with source files for +> the work, and the source code for shared libraries and dynamically +> linked subprograms that the work is specifically designed to require, +> such as by intimate data communication or control flow between those +> subprograms and other parts of the work. +> +> The Corresponding Source need not include anything that users +> can regenerate automatically from other parts of the Corresponding +> Source. +> +> The Corresponding Source for a work in source code form is that +> same work. +> +> 2. Basic Permissions. +> +> All rights granted under this License are granted for the term of +> copyright on the Program, and are irrevocable provided the stated +> conditions are met. This License explicitly affirms your unlimited +> permission to run the unmodified Program. The output from running a +> covered work is covered by this License only if the output, given its +> content, constitutes a covered work. This License acknowledges your +> rights of fair use or other equivalent, as provided by copyright law. +> +> You may make, run and propagate covered works that you do not +> convey, without conditions so long as your license otherwise remains +> in force. You may convey covered works to others for the sole purpose +> of having them make modifications exclusively for you, or provide you +> with facilities for running those works, provided that you comply with +> the terms of this License in conveying all material for which you do +> not control copyright. Those thus making or running the covered works +> for you must do so exclusively on your behalf, under your direction +> and control, on terms that prohibit them from making any copies of +> your copyrighted material outside their relationship with you. +> +> Conveying under any other circumstances is permitted solely under +> the conditions stated below. Sublicensing is not allowed; section 10 +> makes it unnecessary. +> +> 3. Protecting Users' Legal Rights From Anti-Circumvention Law. +> +> No covered work shall be deemed part of an effective technological +> measure under any applicable law fulfilling obligations under article +> 11 of the WIPO copyright treaty adopted on 20 December 1996, or +> similar laws prohibiting or restricting circumvention of such +> measures. +> +> When you convey a covered work, you waive any legal power to forbid +> circumvention of technological measures to the extent such circumvention +> is effected by exercising rights under this License with respect to +> the covered work, and you disclaim any intention to limit operation or +> modification of the work as a means of enforcing, against the work's +> users, your or third parties' legal rights to forbid circumvention of +> technological measures. +> +> 4. Conveying Verbatim Copies. +> +> You may convey verbatim copies of the Program's source code as you +> receive it, in any medium, provided that you conspicuously and +> appropriately publish on each copy an appropriate copyright notice; +> keep intact all notices stating that this License and any +> non-permissive terms added in accord with section 7 apply to the code; +> keep intact all notices of the absence of any warranty; and give all +> recipients a copy of this License along with the Program. +> +> You may charge any price or no price for each copy that you convey, +> and you may offer support or warranty protection for a fee. +> +> 5. Conveying Modified Source Versions. +> +> You may convey a work based on the Program, or the modifications to +> produce it from the Program, in the form of source code under the +> terms of section 4, provided that you also meet all of these conditions: +> +> a) The work must carry prominent notices stating that you modified +> it, and giving a relevant date. +> +> b) The work must carry prominent notices stating that it is +> released under this License and any conditions added under section +> 7. This requirement modifies the requirement in section 4 to +> "keep intact all notices". +> +> c) You must license the entire work, as a whole, under this +> License to anyone who comes into possession of a copy. This +> License will therefore apply, along with any applicable section 7 +> additional terms, to the whole of the work, and all its parts, +> regardless of how they are packaged. This License gives no +> permission to license the work in any other way, but it does not +> invalidate such permission if you have separately received it. +> +> d) If the work has interactive user interfaces, each must display +> Appropriate Legal Notices; however, if the Program has interactive +> interfaces that do not display Appropriate Legal Notices, your +> work need not make them do so. +> +> A compilation of a covered work with other separate and independent +> works, which are not by their nature extensions of the covered work, +> and which are not combined with it such as to form a larger program, +> in or on a volume of a storage or distribution medium, is called an +> "aggregate" if the compilation and its resulting copyright are not +> used to limit the access or legal rights of the compilation's users +> beyond what the individual works permit. Inclusion of a covered work +> in an aggregate does not cause this License to apply to the other +> parts of the aggregate. +> +> 6. Conveying Non-Source Forms. +> +> You may convey a covered work in object code form under the terms +> of sections 4 and 5, provided that you also convey the +> machine-readable Corresponding Source under the terms of this License, +> in one of these ways: +> +> a) Convey the object code in, or embodied in, a physical product +> (including a physical distribution medium), accompanied by the +> Corresponding Source fixed on a durable physical medium +> customarily used for software interchange. +> +> b) Convey the object code in, or embodied in, a physical product +> (including a physical distribution medium), accompanied by a +> written offer, valid for at least three years and valid for as +> long as you offer spare parts or customer support for that product +> model, to give anyone who possesses the object code either (1) a +> copy of the Corresponding Source for all the software in the +> product that is covered by this License, on a durable physical +> medium customarily used for software interchange, for a price no +> more than your reasonable cost of physically performing this +> conveying of source, or (2) access to copy the +> Corresponding Source from a network server at no charge. +> +> c) Convey individual copies of the object code with a copy of the +> written offer to provide the Corresponding Source. This +> alternative is allowed only occasionally and noncommercially, and +> only if you received the object code with such an offer, in accord +> with subsection 6b. +> +> d) Convey the object code by offering access from a designated +> place (gratis or for a charge), and offer equivalent access to the +> Corresponding Source in the same way through the same place at no +> further charge. You need not require recipients to copy the +> Corresponding Source along with the object code. If the place to +> copy the object code is a network server, the Corresponding Source +> may be on a different server (operated by you or a third party) +> that supports equivalent copying facilities, provided you maintain +> clear directions next to the object code saying where to find the +> Corresponding Source. Regardless of what server hosts the +> Corresponding Source, you remain obligated to ensure that it is +> available for as long as needed to satisfy these requirements. +> +> e) Convey the object code using peer-to-peer transmission, provided +> you inform other peers where the object code and Corresponding +> Source of the work are being offered to the general public at no +> charge under subsection 6d. +> +> A separable portion of the object code, whose source code is excluded +> from the Corresponding Source as a System Library, need not be +> included in conveying the object code work. +> +> A "User Product" is either (1) a "consumer product", which means any +> tangible personal property which is normally used for personal, family, +> or household purposes, or (2) anything designed or sold for incorporation +> into a dwelling. In determining whether a product is a consumer product, +> doubtful cases shall be resolved in favor of coverage. For a particular +> product received by a particular user, "normally used" refers to a +> typical or common use of that class of product, regardless of the status +> of the particular user or of the way in which the particular user +> actually uses, or expects or is expected to use, the product. A product +> is a consumer product regardless of whether the product has substantial +> commercial, industrial or non-consumer uses, unless such uses represent +> the only significant mode of use of the product. +> +> "Installation Information" for a User Product means any methods, +> procedures, authorization keys, or other information required to install +> and execute modified versions of a covered work in that User Product from +> a modified version of its Corresponding Source. The information must +> suffice to ensure that the continued functioning of the modified object +> code is in no case prevented or interfered with solely because +> modification has been made. +> +> If you convey an object code work under this section in, or with, or +> specifically for use in, a User Product, and the conveying occurs as +> part of a transaction in which the right of possession and use of the +> User Product is transferred to the recipient in perpetuity or for a +> fixed term (regardless of how the transaction is characterized), the +> Corresponding Source conveyed under this section must be accompanied +> by the Installation Information. But this requirement does not apply +> if neither you nor any third party retains the ability to install +> modified object code on the User Product (for example, the work has +> been installed in ROM). +> +> The requirement to provide Installation Information does not include a +> requirement to continue to provide support service, warranty, or updates +> for a work that has been modified or installed by the recipient, or for +> the User Product in which it has been modified or installed. Access to a +> network may be denied when the modification itself materially and +> adversely affects the operation of the network or violates the rules and +> protocols for communication across the network. +> +> Corresponding Source conveyed, and Installation Information provided, +> in accord with this section must be in a format that is publicly +> documented (and with an implementation available to the public in +> source code form), and must require no special password or key for +> unpacking, reading or copying. +> +> 7. Additional Terms. +> +> "Additional permissions" are terms that supplement the terms of this +> License by making exceptions from one or more of its conditions. +> Additional permissions that are applicable to the entire Program shall +> be treated as though they were included in this License, to the extent +> that they are valid under applicable law. If additional permissions +> apply only to part of the Program, that part may be used separately +> under those permissions, but the entire Program remains governed by +> this License without regard to the additional permissions. +> +> When you convey a copy of a covered work, you may at your option +> remove any additional permissions from that copy, or from any part of +> it. (Additional permissions may be written to require their own +> removal in certain cases when you modify the work.) You may place +> additional permissions on material, added by you to a covered work, +> for which you have or can give appropriate copyright permission. +> +> Notwithstanding any other provision of this License, for material you +> add to a covered work, you may (if authorized by the copyright holders of +> that material) supplement the terms of this License with terms: +> +> a) Disclaiming warranty or limiting liability differently from the +> terms of sections 15 and 16 of this License; or +> +> b) Requiring preservation of specified reasonable legal notices or +> author attributions in that material or in the Appropriate Legal +> Notices displayed by works containing it; or +> +> c) Prohibiting misrepresentation of the origin of that material, or +> requiring that modified versions of such material be marked in +> reasonable ways as different from the original version; or +> +> d) Limiting the use for publicity purposes of names of licensors or +> authors of the material; or +> +> e) Declining to grant rights under trademark law for use of some +> trade names, trademarks, or service marks; or +> +> f) Requiring indemnification of licensors and authors of that +> material by anyone who conveys the material (or modified versions of +> it) with contractual assumptions of liability to the recipient, for +> any liability that these contractual assumptions directly impose on +> those licensors and authors. +> +> All other non-permissive additional terms are considered "further +> restrictions" within the meaning of section 10. If the Program as you +> received it, or any part of it, contains a notice stating that it is +> governed by this License along with a term that is a further +> restriction, you may remove that term. If a license document contains +> a further restriction but permits relicensing or conveying under this +> License, you may add to a covered work material governed by the terms +> of that license document, provided that the further restriction does +> not survive such relicensing or conveying. +> +> If you add terms to a covered work in accord with this section, you +> must place, in the relevant source files, a statement of the +> additional terms that apply to those files, or a notice indicating +> where to find the applicable terms. +> +> Additional terms, permissive or non-permissive, may be stated in the +> form of a separately written license, or stated as exceptions; +> the above requirements apply either way. +> +> 8. Termination. +> +> You may not propagate or modify a covered work except as expressly +> provided under this License. Any attempt otherwise to propagate or +> modify it is void, and will automatically terminate your rights under +> this License (including any patent licenses granted under the third +> paragraph of section 11). +> +> However, if you cease all violation of this License, then your +> license from a particular copyright holder is reinstated (a) +> provisionally, unless and until the copyright holder explicitly and +> finally terminates your license, and (b) permanently, if the copyright +> holder fails to notify you of the violation by some reasonable means +> prior to 60 days after the cessation. +> +> Moreover, your license from a particular copyright holder is +> reinstated permanently if the copyright holder notifies you of the +> violation by some reasonable means, this is the first time you have +> received notice of violation of this License (for any work) from that +> copyright holder, and you cure the violation prior to 30 days after +> your receipt of the notice. +> +> Termination of your rights under this section does not terminate the +> licenses of parties who have received copies or rights from you under +> this License. If your rights have been terminated and not permanently +> reinstated, you do not qualify to receive new licenses for the same +> material under section 10. +> +> 9. Acceptance Not Required for Having Copies. +> +> You are not required to accept this License in order to receive or +> run a copy of the Program. Ancillary propagation of a covered work +> occurring solely as a consequence of using peer-to-peer transmission +> to receive a copy likewise does not require acceptance. However, +> nothing other than this License grants you permission to propagate or +> modify any covered work. These actions infringe copyright if you do +> not accept this License. Therefore, by modifying or propagating a +> covered work, you indicate your acceptance of this License to do so. +> +> 10. Automatic Licensing of Downstream Recipients. +> +> Each time you convey a covered work, the recipient automatically +> receives a license from the original licensors, to run, modify and +> propagate that work, subject to this License. You are not responsible +> for enforcing compliance by third parties with this License. +> +> An "entity transaction" is a transaction transferring control of an +> organization, or substantially all assets of one, or subdividing an +> organization, or merging organizations. If propagation of a covered +> work results from an entity transaction, each party to that +> transaction who receives a copy of the work also receives whatever +> licenses to the work the party's predecessor in interest had or could +> give under the previous paragraph, plus a right to possession of the +> Corresponding Source of the work from the predecessor in interest, if +> the predecessor has it or can get it with reasonable efforts. +> +> You may not impose any further restrictions on the exercise of the +> rights granted or affirmed under this License. For example, you may +> not impose a license fee, royalty, or other charge for exercise of +> rights granted under this License, and you may not initiate litigation +> (including a cross-claim or counterclaim in a lawsuit) alleging that +> any patent claim is infringed by making, using, selling, offering for +> sale, or importing the Program or any portion of it. +> +> 11. Patents. +> +> A "contributor" is a copyright holder who authorizes use under this +> License of the Program or a work on which the Program is based. The +> work thus licensed is called the contributor's "contributor version". +> +> A contributor's "essential patent claims" are all patent claims +> owned or controlled by the contributor, whether already acquired or +> hereafter acquired, that would be infringed by some manner, permitted +> by this License, of making, using, or selling its contributor version, +> but do not include claims that would be infringed only as a +> consequence of further modification of the contributor version. For +> purposes of this definition, "control" includes the right to grant +> patent sublicenses in a manner consistent with the requirements of +> this License. +> +> Each contributor grants you a non-exclusive, worldwide, royalty-free +> patent license under the contributor's essential patent claims, to +> make, use, sell, offer for sale, import and otherwise run, modify and +> propagate the contents of its contributor version. +> +> In the following three paragraphs, a "patent license" is any express +> agreement or commitment, however denominated, not to enforce a patent +> (such as an express permission to practice a patent or covenant not to +> sue for patent infringement). To "grant" such a patent license to a +> party means to make such an agreement or commitment not to enforce a +> patent against the party. +> +> If you convey a covered work, knowingly relying on a patent license, +> and the Corresponding Source of the work is not available for anyone +> to copy, free of charge and under the terms of this License, through a +> publicly available network server or other readily accessible means, +> then you must either (1) cause the Corresponding Source to be so +> available, or (2) arrange to deprive yourself of the benefit of the +> patent license for this particular work, or (3) arrange, in a manner +> consistent with the requirements of this License, to extend the patent +> license to downstream recipients. "Knowingly relying" means you have +> actual knowledge that, but for the patent license, your conveying the +> covered work in a country, or your recipient's use of the covered work +> in a country, would infringe one or more identifiable patents in that +> country that you have reason to believe are valid. +> +> If, pursuant to or in connection with a single transaction or +> arrangement, you convey, or propagate by procuring conveyance of, a +> covered work, and grant a patent license to some of the parties +> receiving the covered work authorizing them to use, propagate, modify +> or convey a specific copy of the covered work, then the patent license +> you grant is automatically extended to all recipients of the covered +> work and works based on it. +> +> A patent license is "discriminatory" if it does not include within +> the scope of its coverage, prohibits the exercise of, or is +> conditioned on the non-exercise of one or more of the rights that are +> specifically granted under this License. You may not convey a covered +> work if you are a party to an arrangement with a third party that is +> in the business of distributing software, under which you make payment +> to the third party based on the extent of your activity of conveying +> the work, and under which the third party grants, to any of the +> parties who would receive the covered work from you, a discriminatory +> patent license (a) in connection with copies of the covered work +> conveyed by you (or copies made from those copies), or (b) primarily +> for and in connection with specific products or compilations that +> contain the covered work, unless you entered into that arrangement, +> or that patent license was granted, prior to 28 March 2007. +> +> Nothing in this License shall be construed as excluding or limiting +> any implied license or other defenses to infringement that may +> otherwise be available to you under applicable patent law. +> +> 12. No Surrender of Others' Freedom. +> +> If conditions are imposed on you (whether by court order, agreement or +> otherwise) that contradict the conditions of this License, they do not +> excuse you from the conditions of this License. If you cannot convey a +> covered work so as to satisfy simultaneously your obligations under this +> License and any other pertinent obligations, then as a consequence you may +> not convey it at all. For example, if you agree to terms that obligate you +> to collect a royalty for further conveying from those to whom you convey +> the Program, the only way you could satisfy both those terms and this +> License would be to refrain entirely from conveying the Program. +> +> 13. Use with the GNU Affero General Public License. +> +> Notwithstanding any other provision of this License, you have +> permission to link or combine any covered work with a work licensed +> under version 3 of the GNU Affero General Public License into a single +> combined work, and to convey the resulting work. The terms of this +> License will continue to apply to the part which is the covered work, +> but the special requirements of the GNU Affero General Public License, +> section 13, concerning interaction through a network will apply to the +> combination as such. +> +> 14. Revised Versions of this License. +> +> The Free Software Foundation may publish revised and/or new versions of +> the GNU General Public License from time to time. Such new versions will +> be similar in spirit to the present version, but may differ in detail to +> address new problems or concerns. +> +> Each version is given a distinguishing version number. If the +> Program specifies that a certain numbered version of the GNU General +> Public License "or any later version" applies to it, you have the +> option of following the terms and conditions either of that numbered +> version or of any later version published by the Free Software +> Foundation. If the Program does not specify a version number of the +> GNU General Public License, you may choose any version ever published +> by the Free Software Foundation. +> +> If the Program specifies that a proxy can decide which future +> versions of the GNU General Public License can be used, that proxy's +> public statement of acceptance of a version permanently authorizes you +> to choose that version for the Program. +> +> Later license versions may give you additional or different +> permissions. However, no additional obligations are imposed on any +> author or copyright holder as a result of your choosing to follow a +> later version. +> +> 15. Disclaimer of Warranty. +> +> THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +> APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +> HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +> OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +> THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +> PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +> IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +> ALL NECESSARY SERVICING, REPAIR OR CORRECTION. +> +> 16. Limitation of Liability. +> +> IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +> WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +> THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +> GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +> USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +> DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +> PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +> EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +> SUCH DAMAGES. +> +> 17. Interpretation of Sections 15 and 16. +> +> If the disclaimer of warranty and limitation of liability provided +> above cannot be given local legal effect according to their terms, +> reviewing courts shall apply local law that most closely approximates +> an absolute waiver of all civil liability in connection with the +> Program, unless a warranty or assumption of liability accompanies a +> copy of the Program in return for a fee. +> +> END OF TERMS AND CONDITIONS +> diff --git a/src/connectcurves/AlgebraicSolving.jl-main/Manifest.toml b/src/connectcurves/AlgebraicSolving.jl-main/Manifest.toml new file mode 100644 index 0000000..a5ecec9 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/Manifest.toml @@ -0,0 +1,675 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.10.1" +manifest_format = "2.0" +project_hash = "0ee312c14b17a77836ab601affa7daf8c143a52c" + +[[deps.AbstractAlgebra]] +deps = ["GroupsCore", "InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] +git-tree-sha1 = "8ce780dc3e4445182458350598acae268001497c" +uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" +version = "0.35.2" + +[[deps.Adapt]] +deps = ["LinearAlgebra", "Requires"] +git-tree-sha1 = "f8c724a2066b2d37d0234fe4022ec67987022d00" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "4.0.0" +weakdeps = ["StaticArrays"] + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" + +[[deps.Antic_jll]] +deps = ["Artifacts", "FLINT_jll", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "Pkg"] +git-tree-sha1 = "4b354e5ef3d0a235515bd1b27af9cee3fa1de62c" +uuid = "e21ec000-9f72-519e-ba6d-10061e575a27" +version = "0.201.500+0" + +[[deps.Arb_jll]] +deps = ["Artifacts", "FLINT_jll", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "Pkg"] +git-tree-sha1 = "a564158702b6a4d1fb53c3fa399e891d7599afa0" +uuid = "d9960996-1013-53c9-9ba4-74a4155039c3" +version = "200.2300.0+0" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" + +[[deps.ArrayInterface]] +deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "bbec08a37f8722786d87bedf84eae19c020c4efa" +uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" +version = "7.7.0" + + [deps.ArrayInterface.extensions] + ArrayInterfaceBandedMatricesExt = "BandedMatrices" + ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" + ArrayInterfaceCUDAExt = "CUDA" + ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" + ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" + ArrayInterfaceTrackerExt = "Tracker" + + [deps.ArrayInterface.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.BenchmarkTools]] +deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] +git-tree-sha1 = "f1f03a9fa24271160ed7e73051fba3c1a759b53f" +uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +version = "1.4.0" + +[[deps.BinaryWrappers]] +deps = ["JLLWrappers", "Scratch"] +git-tree-sha1 = "7c08e585f2d50e3c74bc2491474d3f897d2ebec8" +uuid = "f01c122e-0ea1-4f85-ad8f-907073ad7a9f" +version = "0.1.2" + +[[deps.BitTwiddlingConvenienceFunctions]] +deps = ["Static"] +git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" +uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" +version = "0.1.5" + +[[deps.CPUSummary]] +deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] +git-tree-sha1 = "601f7e7b3d36f18790e2caf83a882d88e9b71ff1" +uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" +version = "0.2.4" + +[[deps.Calcium_jll]] +deps = ["Antic_jll", "Arb_jll", "Artifacts", "FLINT_jll", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "Pkg"] +git-tree-sha1 = "37fd335ecca9bd6ab25a2a4d26b7b2f6fe64c246" +uuid = "fcfa6d1b-d8ce-59d5-8c0a-c0d7f69e4f40" +version = "0.401.100+0" + +[[deps.CloseOpenIntervals]] +deps = ["Static", "StaticArrayInterface"] +git-tree-sha1 = "70232f82ffaab9dc52585e0dd043b5e0c6b714f1" +uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" +version = "0.1.12" + +[[deps.CodeTracking]] +deps = ["InteractiveUtils", "UUIDs"] +git-tree-sha1 = "c0216e792f518b39b22212127d4a84dc31e4e386" +uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" +version = "1.3.5" + +[[deps.CommonSubexpressions]] +deps = ["MacroTools", "Test"] +git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" +uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" +version = "0.3.0" + +[[deps.Compat]] +deps = ["UUIDs"] +git-tree-sha1 = "886826d76ea9e72b35fcd000e535588f7b60f21d" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.10.1" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "1.1.0+0" + +[[deps.CpuId]] +deps = ["Markdown"] +git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" +uuid = "adafc99b-e345-5852-983c-f28acb93d879" +version = "0.3.1" + +[[deps.CxxWrap]] +deps = ["Libdl", "MacroTools", "libcxxwrap_julia_jll"] +git-tree-sha1 = "3345cb637ca1efb2ebf7f5145558522b92660d1f" +uuid = "1f15a43c-97ca-5a2a-ae31-89f07a497df4" +version = "0.14.2" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.DiffResults]] +deps = ["StaticArraysCore"] +git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" +uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" +version = "1.1.0" + +[[deps.DiffRules]] +deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] +git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272" +uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" +version = "1.15.1" + +[[deps.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.3" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.FLINT_jll]] +deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "OpenBLAS32_jll"] +git-tree-sha1 = "5c9a3c03282df69a9108d67978d193a2b881f476" +uuid = "e134572f-a0d5-539d-bddf-3cad8db41a82" +version = "200.900.7+0" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.ForwardDiff]] +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] +git-tree-sha1 = "cf0fe81336da9fb90944683b8c41984b08793dad" +uuid = "f6369f11-7733-5829-9624-2563aa707210" +version = "0.10.36" +weakdeps = ["StaticArrays"] + + [deps.ForwardDiff.extensions] + ForwardDiffStaticArraysExt = "StaticArrays" + +[[deps.GLPK_jll]] +deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "fe68622f32828aa92275895fdb324a85894a5b1b" +uuid = "e8aa6df9-e6ca-548a-97ff-1f85fc5b8b98" +version = "5.0.1+0" + +[[deps.GMP_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" +version = "6.2.1+6" + +[[deps.GroupsCore]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "6df9cd6ee79fc59feab33f63a1b3c9e95e2461d5" +uuid = "d5909c97-4eac-4ecc-a3dc-fdd0858a4120" +version = "0.4.2" + +[[deps.HostCPUFeatures]] +deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] +git-tree-sha1 = "eb8fed28f4994600e29beef49744639d985a04b2" +uuid = "3e5b6fbb-0976-4d2c-9146-d79de83f2fb0" +version = "0.1.16" + +[[deps.IfElse]] +git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" +uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" +version = "0.1.1" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.2.2" + +[[deps.JLLWrappers]] +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.5.0" + +[[deps.JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.4" + +[[deps.JuliaInterpreter]] +deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] +git-tree-sha1 = "7b762d81887160169ddfc93a47e5fd7a6a3e78ef" +uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" +version = "0.9.29" + +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "d986ce2d884d49126836ea94ed5bfb0f12679713" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "15.0.7+0" + +[[deps.LayoutPointers]] +deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] +git-tree-sha1 = "62edfee3211981241b57ff1cedf4d74d79519277" +uuid = "10f19ff3-798f-405d-979b-55457f8fc047" +version = "0.1.15" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.4" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "8.4.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibGit2_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] +uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" +version = "1.6.4+0" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.11.0+1" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.LogExpFunctions]] +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "7d6dd4e9212aebaeed356de34ccf262a3cd415aa" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.26" + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" + + [deps.LogExpFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[deps.LoopVectorization]] +deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] +git-tree-sha1 = "0f5648fbae0d015e3abe5867bca2b362f67a5894" +uuid = "bdcacae8-1622-11e9-2a5c-532679323890" +version = "0.12.166" + + [deps.LoopVectorization.extensions] + ForwardDiffExt = ["ChainRulesCore", "ForwardDiff"] + SpecialFunctionsExt = "SpecialFunctions" + + [deps.LoopVectorization.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" + +[[deps.LoweredCodeUtils]] +deps = ["JuliaInterpreter"] +git-tree-sha1 = "31e27f0b0bf0df3e3e951bfcc43fe8c730a219f6" +uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" +version = "2.4.5" + +[[deps.MPFR_jll]] +deps = ["Artifacts", "GMP_jll", "Libdl"] +uuid = "3a97d323-0669-5f0c-9066-3539efd106a3" +version = "4.2.0+1" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "b211c553c199c111d998ecdaf7623d1b89b69f93" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.12" + +[[deps.ManualMemory]] +git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" +uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" +version = "0.1.8" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.2+1" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2023.1.10" + +[[deps.NaNMath]] +deps = ["OpenLibm_jll"] +git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "1.0.2" + +[[deps.Nemo]] +deps = ["AbstractAlgebra", "Antic_jll", "Arb_jll", "Calcium_jll", "FLINT_jll", "Libdl", "LinearAlgebra", "Pkg", "Random", "RandomExtensions", "SHA"] +git-tree-sha1 = "26d12d1c2995ef0fd6d520f41b7a2f41e8c5ba03" +uuid = "2edaba10-b0f1-5616-af89-8c11ac63239a" +version = "0.39.1" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.OffsetArrays]] +git-tree-sha1 = "6a731f2b5c03157418a20c12195eb4b74c8f8621" +uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" +version = "1.13.0" +weakdeps = ["Adapt"] + + [deps.OffsetArrays.extensions] + OffsetArraysAdaptExt = "Adapt" + +[[deps.OpenBLAS32_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6065c4cff8fee6c6770b277af45d5082baacdba1" +uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" +version = "0.3.24+0" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" +version = "0.3.23+4" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" +version = "0.8.1+2" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.5+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.6.3" + +[[deps.Parsers]] +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "2.8.1" + +[[deps.Pidfile]] +deps = ["FileWatching", "Test"] +git-tree-sha1 = "2d8aaf8ee10df53d0dfb9b8ee44ae7c04ced2b03" +uuid = "fa939f87-e72e-5be4-a000-7fc836dbe307" +version = "1.3.0" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.10.0" + +[[deps.PolyesterWeave]] +deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] +git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" +uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" +version = "0.2.1" + +[[deps.PrecompileTools]] +deps = ["Preferences"] +git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f" +uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" +version = "1.2.0" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "00805cd429dcb4870060ff49ef443486c262e38e" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.4.1" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.Profile]] +deps = ["Printf"] +uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.Random]] +deps = ["SHA"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[deps.RandomExtensions]] +deps = ["Random", "SparseArrays"] +git-tree-sha1 = "b8a399e95663485820000f26b6a43c794e166a49" +uuid = "fb686558-2515-59ef-acaa-46db3789a887" +version = "0.4.4" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.Revise]] +deps = ["CodeTracking", "Distributed", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Pkg", "REPL", "Requires", "UUIDs", "Unicode"] +git-tree-sha1 = "12aa2d7593df490c407a3bbd8b86b8b515017f3e" +uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" +version = "3.5.14" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" + +[[deps.SIMDTypes]] +git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" +uuid = "94e857df-77ce-4151-89e5-788b33177be4" +version = "0.1.0" + +[[deps.SLEEFPirates]] +deps = ["IfElse", "Static", "VectorizationBase"] +git-tree-sha1 = "3aac6d68c5e57449f5b9b865c9ba50ac2970c4cf" +uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" +version = "0.6.42" + +[[deps.Scratch]] +deps = ["Dates"] +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.2.1" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[deps.Singular]] +deps = ["AbstractAlgebra", "BinaryWrappers", "CxxWrap", "Libdl", "LinearAlgebra", "Nemo", "Pidfile", "Pkg", "Random", "RandomExtensions", "Singular_jll", "Statistics", "lib4ti2_jll", "libsingular_julia_jll"] +git-tree-sha1 = "8d80ee22a1f38d928e72b0487165063bcb7ad810" +uuid = "bcd08a7b-43d2-5ff7-b6d4-c458787f915c" +version = "0.21.3" + +[[deps.Singular_jll]] +deps = ["Artifacts", "FLINT_jll", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "cddlib_jll"] +git-tree-sha1 = "b445ce68347d4bd8634217741471c0ef526e8a33" +uuid = "43d676ae-4934-50ba-8046-7a96366d613b" +version = "403.214.1400+0" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SparseArrays]] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +version = "1.10.0" + +[[deps.SpecialFunctions]] +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "e2cfc4012a19088254b3950b85c3c1d8882d864d" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.3.1" + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" + + [deps.SpecialFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + +[[deps.Static]] +deps = ["IfElse"] +git-tree-sha1 = "f295e0a1da4ca425659c57441bcb59abb035a4bc" +uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" +version = "0.8.8" + +[[deps.StaticArrayInterface]] +deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] +git-tree-sha1 = "5d66818a39bb04bf328e92bc933ec5b4ee88e436" +uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" +version = "1.5.0" +weakdeps = ["OffsetArrays", "StaticArrays"] + + [deps.StaticArrayInterface.extensions] + StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" + StaticArrayInterfaceStaticArraysExt = "StaticArrays" + +[[deps.StaticArrays]] +deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] +git-tree-sha1 = "4e17a790909b17f7bf1496e3aec138cf01b60b3b" +uuid = "90137ffa-7385-5640-81b9-e52037218182" +version = "1.9.0" + + [deps.StaticArrays.extensions] + StaticArraysChainRulesCoreExt = "ChainRulesCore" + StaticArraysStatisticsExt = "Statistics" + + [deps.StaticArrays.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + +[[deps.StaticArraysCore]] +git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" +uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +version = "1.4.2" + +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.10.0" + +[[deps.SuiteSparse]] +deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] +uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" + +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "7.2.1+1" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.ThreadingUtilities]] +deps = ["ManualMemory"] +git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" +uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" +version = "0.5.2" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.VectorizationBase]] +deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static", "StaticArrayInterface"] +git-tree-sha1 = "7209df901e6ed7489fe9b7aa3e46fb788e15db85" +uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" +version = "0.21.65" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+1" + +[[deps.cddlib_jll]] +deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c25e5fe14395ea7b1d702f4eb90c52bdf50e3450" +uuid = "f07e07eb-5685-515a-97c8-3014f6152feb" +version = "0.94.13+0" + +[[deps.lib4ti2_jll]] +deps = ["Artifacts", "GLPK_jll", "GMP_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "79116185def638e73ea3d88ca6c10e210a1dc183" +uuid = "1493ae25-0f90-5c0e-a06c-8c5077d6d66f" +version = "1.6.10+0" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" +version = "5.8.0+1" + +[[deps.libcxxwrap_julia_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "3d47ce071d272d2cae9d1bc449c261237e9784f7" +uuid = "3eaa8342-bff7-56a5-9981-c04077f7cee7" +version = "0.11.2+0" + +[[deps.libsingular_julia_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Singular_jll", "libcxxwrap_julia_jll"] +git-tree-sha1 = "bcf29726c1c4cd53c0e3c6c093cdca68d0f67beb" +uuid = "ae4fbd8f-ecdb-54f8-bbce-35570499b30e" +version = "0.40.11+0" + +[[deps.msolve_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "FLINT_jll", "GMP_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl", "MPFR_jll"] +git-tree-sha1 = "6d02a110f583341deea0d249b1a741352631aed6" +uuid = "6d01cc9a-e8f6-580e-8c54-544227e08205" +version = "0.6.3+0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.52.0+1" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+2" diff --git a/src/connectcurves/AlgebraicSolving.jl-main/Project.toml b/src/connectcurves/AlgebraicSolving.jl-main/Project.toml new file mode 100644 index 0000000..631e6dc --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/Project.toml @@ -0,0 +1,33 @@ +name = "AlgebraicSolving" +uuid = "66b61cbe-0446-4d5d-9090-1ff510639f9d" +authors = ["ederc ", "Mohab Safey El Din "] +version = "0.4.6" + +[deps] +BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" +LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" +Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" +Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" +Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" +Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" +Singular = "bcd08a7b-43d2-5ff7-b6d4-c458787f915c" +StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +msolve_jll = "6d01cc9a-e8f6-580e-8c54-544227e08205" + +[compat] +LinearAlgebra = "1.6" +Logging = "1.6" +LoopVectorization = "0.12" +Markdown = "1.6" +Nemo = "0.35.1, 0.36, 0.37, 0.38, 0.39" +Printf = "1.6" +Random = "1.6" +StaticArrays = "1" +Test = "1.6" +julia = "1.6" +msolve_jll = "0.6.3" diff --git a/src/connectcurves/AlgebraicSolving.jl-main/README.md b/src/connectcurves/AlgebraicSolving.jl-main/README.md new file mode 100644 index 0000000..5063df7 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/README.md @@ -0,0 +1,22 @@ +# AlgebraicSolving.jl + +A julia package for algebraically solving multivariate polynomial systems. + +## Installation +AlgebraicSolving requires Julia 1.6 or newer. In principle it can be installed and used +like any other Julia package: + +```julia +julia> using Pkg +julia> Pkg.add("AlgebraicSolving") +julia> using AlgebraicSolving +``` + +## Documentation and Examples + +You can find a detailed documentation including various examples at +https://algebraic-solving.github.io/ . + +# Funding + +The development of `AlgebraicSolving` is supported by the [Forschungsinitiative Rheinland-Pfalz](https://rptu.de/forschung/forschungsinitiative-rlp). diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/Project.toml b/src/connectcurves/AlgebraicSolving.jl-main/docs/Project.toml new file mode 100644 index 0000000..ee69314 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/docs/Project.toml @@ -0,0 +1,11 @@ +[deps] +AlgebraicSolving= "66b61cbe-0446-4d5d-9090-1ff510639f9d" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" +msolve_jll = "6d01cc9a-e8f6-580e-8c54-544227e08205" +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" + +[compat] +Documenter = "0.26" +msolve_jll = "0.6.1" diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/make.jl b/src/connectcurves/AlgebraicSolving.jl-main/docs/make.jl new file mode 100644 index 0000000..ab996ee --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/docs/make.jl @@ -0,0 +1,36 @@ +using AlgebraicSolving +using Documenter + +push!(LOAD_PATH, "../src") + +DocMeta.setdocmeta!(AlgebraicSolving, :DocTestSetup, :(using AlgebraicSolving); recursive=true) + +# Build documentation. +# ==================== + +makedocs( + # options + modules = [AlgebraicSolving], + doctest = true, + clean = true, + checkdocs = :none, + sitename = "AlgebraicSolving.jl", + format = Documenter.HTML(), + pages = [ + "index.md", + "types.md", + "Algorithms" => ["groebner-bases.md", + "normal-forms.md", + "solvers.md"], + "Examples" => "katsura.md" + ] +) + +# Deploy built documentation from Travis. +# ======================================= + +deploydocs( + # options + repo = "github.com/algebraic-solving/AlgebraicSolving.jl.git", + target = "build", +) diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/groebner-bases.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/groebner-bases.md new file mode 100644 index 0000000..58792c0 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/groebner-bases.md @@ -0,0 +1,65 @@ +```@meta +CurrentModule = AlgebraicSolving +DocTestSetup = quote + using AlgebraicSolving +end +``` + +```@setup algebraicsolving +using AlgebraicSolving +``` + +```@contents +Pages = ["groebner-bases.md"] +``` + +# Gröbner bases + +## Introduction + +AlgebraicSolving allows to compute Gröbner bases for input generators over finite +fields of characteristic smaller $2^{31}$ w.r.t. the degree reverse +lexicographical monomial order. + +At the moment different variants of Faugère's F4 Algorithm are implemented as +well as a signature based algorithm to compute Gröbner bases. + +## Functionality + +```@docs + groebner_basis( + I::Ideal{T} where T <: MPolyRingElem; + initial_hts::Int=17, + nr_thrds::Int=1, + max_nr_pairs::Int=0, + la_option::Int=2, + eliminate::Int=0, + complete_reduction::Bool=true, + info_level::Int=0 + ) +``` + +The engine supports the elimination of one block of variables considering the +product monomial ordering of two blocks, both ordered w.r.t. the degree +reverse lexicographical order. One can either directly add the number of +variables of the first block via the `eliminate` parameter in the +`groebner_basis` call. We have also implemented an alias for this call: + +```@docs + eliminate( + I::Ideal{T} where T <: MPolyRingElem, + eliminate::Int; + initial_hts::Int=17, + nr_thrds::Int=1, + max_nr_pairs::Int=0, + la_option::Int=2, + complete_reduction::Bool=true, + info_level::Int=0 + ) +``` + +To compute signature Gröbner bases use + +```@docs + sig_groebner_basis(sys::Vector{T}; info_level::Int = 0, degbound::Int = 0) where {T <: MPolyRingElem} +``` diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/index.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/index.md new file mode 100644 index 0000000..4ae0cec --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/index.md @@ -0,0 +1,23 @@ +# Getting Started + +AlgebraicSolving is a computer algebra package for the Julia programming +language, maintained by Christian Eder and Mohab Safey El Din. + +- (Source code) + +The features of AlgebraicSolving include algorithms for computing +Gröbner bases over finite fields and for computing real solutions. +The main workhorse of AlgebraicSolving is the [msolve +library](https://msolve.lip6.fr/) . + +## Installation + +To use Nemo we require Julia 1.6 or higher. Please see + for instructions on +how to obtain julia for your system. + +At the Julia prompt simply type + +``` +julia> using Pkg; Pkg.add("AlgebraicSolving") +``` diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/katsura.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/katsura.md new file mode 100644 index 0000000..fa72c56 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/katsura.md @@ -0,0 +1,34 @@ +```@meta +CurrentModule = AlgebraicSolving +DocTestSetup = quote + using AlgebraicSolving +end +``` + +```@setup algebraicsolving +using AlgebraicSolving +``` + +```@contents +Pages = ["katsura.md"] +``` + +# Examples + +Here we include some well-known example multivariate polynomial systems. + +## Katsura-n + +These systems appeared in a problem of magnetism in physics. +For a given $n$ `katsura(n)` has $2^n$ solutions and is defined in a +polynomial ring with $n+1$ variables. For a given polynomial ring `R` +with $n$ variables `katsura(R)` defines the corresponding system with +$2^{n-1}$ solutions. + +### Functionality + +```@docs + katsura(n::Int) + katsura(R::MPolyRing) +``` + diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/normal-forms.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/normal-forms.md new file mode 100644 index 0000000..bf04482 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/normal-forms.md @@ -0,0 +1,44 @@ +```@meta +CurrentModule = AlgebraicSolving +DocTestSetup = quote + using AlgebraicSolving +end +``` + +```@setup algebraicsolving +using AlgebraicSolving +``` + +```@contents +Pages = ["normal-forms.md"] +``` + +# Normal forms + +## Introduction + +AlgebraicSolving allows to compute normal forms of a polynomial resp. a finite +array of polynomials w.r.t. some given ideal over a finite field of +characteristic smaller $2^{31}$ w.r.t. the degree reverse lexicographical +monomial order. + +**Note:** It therefore might first compute a Gröbner bases for the ideal. +## Functionality + +```@docs + normal_form( + f::T, + I::Ideal{T}; + nr_thrds::Int=1, + info_level::Int=0 + ) where T <: MPolyRingElem +``` + +```@docs + normal_form( + F::Vector{T}, + I::Ideal{T}; + nr_thrds::Int=1, + info_level::Int=0 + ) where T <: MPolyRingElem +``` diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/solvers.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/solvers.md new file mode 100644 index 0000000..0017986 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/solvers.md @@ -0,0 +1,57 @@ +```@meta +CurrentModule = AlgebraicSolving +DocTestSetup = quote + using AlgebraicSolving +end +``` + +```@setup algebraicsolving +using AlgebraicSolving +``` + +```@contents +Pages = ["solvers.md"] +``` + +# Algebraic Systems Solving + +## Introduction + +AlgebraicSolving allows to solve systems for input generators over finite +fields of characteristic smaller $2^{31}$ and over the rationals. + +The underlying engine is provided by msolve. + +## Functionality + +```@docs + rational_parametrization( + I::Ideal{T} where T <: MPolyRingElem; + initial_hts::Int=17, + nr_thrds::Int=1, + max_nr_pairs::Int=0, + la_option::Int=2, + info_level::Int=0, + precision::Int=32 + ) + + real_solutions( + I::Ideal{T} where T <: MPolyRingElem; + initial_hts::Int=17, + nr_thrds::Int=1, + max_nr_pairs::Int=0, + la_option::Int=2, + info_level::Int=0, + precision::Int=32 + ) + rational_solutions( + I::Ideal{T} where T <: MPolyRingElem; + initial_hts::Int=17, + nr_thrds::Int=1, + max_nr_pairs::Int=0, + la_option::Int=2, + info_level::Int=0, + precision::Int=32 + ) +``` + diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/types.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/types.md new file mode 100644 index 0000000..80fcd90 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/types.md @@ -0,0 +1,53 @@ +```@meta +CurrentModule = AlgebraicSolving +DocTestSetup = quote + using AlgebraicSolving +end +``` + +```@setup algebraicsolving +using AlgebraicSolving +``` + +```@contents +Pages = ["types.md"] +``` + +# Data Types + +## Introduction + +AlgebraicSolving handles ideals in multivariate polynomial rings over a prime +field of characteristic $0$ or $p$ where $p$ is a prime number $<2^{31}$. + +## Polynomial Rings + +We use [Nemo](https://www.nemocas.org/index.html)'s multivariate polynomial +ring structures: + +```@repl +using AlgebraicSolving +R, (x,y,z) = polynomial_ring(QQ, ["x", "y", "z"], ordering=:degrevlex) +``` +The above example defines a multivariate polynomial ring in three variables `x`, +`y`, and `z` over the rationals using the dgree reverse lexicographical ordering +for printing polynomials in the following. One can also define polynomial rings +over finite fields: + +```@repl +using AlgebraicSolving +R, (x,y,z) = polynomial_ring(GF(101), ["x", "y", "z"], ordering=:degrevlex) +``` + +## Ideals + +Ideals can be constructed by giving an array of generators. Ideals cache varies +data structures connected to ideals in order to make computational algebra more +effective: + +```@repl +using AlgebraicSolving +R, (x,y,z) = polynomial_ring(QQ, ["x", "y", "z"], ordering=:degrevlex) +I = Ideal([x+y+1, y*z^2-13*y^2]) +``` + diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/AlgebraicSolving.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/AlgebraicSolving.jl new file mode 100644 index 0000000..54ddc46 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/AlgebraicSolving.jl @@ -0,0 +1,21 @@ +module AlgebraicSolving + +greet() = print("AlgebraicSolving -- a package for algebraic solving based on msolve") + +#= io =# +include("imports.jl") +include("exports.jl") +#= types =# +include("types.jl") +#= functionality =# +include("interfaces/nemo.jl" ) +include("algorithms/groebner-bases.jl") +include("algorithms/normal-forms.jl") +include("algorithms/solvers.jl") +#= siggb =# +include("siggb/siggb.jl") +#= examples =# +include("examples/katsura.jl") +include("examples/cyclic.jl") + +end # module AlgebraicSolving diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/groebner-bases.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/groebner-bases.jl new file mode 100644 index 0000000..3d2f495 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/groebner-bases.jl @@ -0,0 +1,184 @@ +import msolve_jll: libneogb + +export groebner_basis, eliminate + +@doc Markdown.doc""" + eliminate(I::Ideal{T} where T <: MPolyRingElem, eliminate::Int, ) + +Compute a Groebner basis of the ideal `I` w.r.t. to the product monomial ordering defined by two blocks +w.r.t. the degree reverse lexicographical monomial ordering using Faugère's F4 algorithm. Hereby the first block includes +the first `eliminate` variables. + +At the moment the underlying algorithm is based on variants of Faugère's F4 Algorithm. + +**Note**: At the moment only ground fields of characteristic `p`, `p` prime, `p < 2^{31}` are supported. + +# Arguments +- `I::Ideal{T} where T <: MPolyRingElem`: input generators. +- `initial_hts::Int=17`: initial hash table size `log_2`. +- `nr_thrds::Int=1`: number of threads for parallel linear algebra. +- `max_nr_pairs::Int=0`: maximal number of pairs per matrix, only bounded by minimal degree if `0`. +- `la_option::Int=2`: linear algebra option: exact sparse-dense (`1`), exact sparse (`2`, default), probabilistic sparse-dense (`42`), probabilistic sparse(`44`). +- `complete_reduction::Bool=true`: compute a reduced Gröbner basis for `I` +- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). + +# Examples +```jldoctest +julia> using AlgebraicSolving + +julia> R, (x,y,z) = polynomial_ring(GF(101),["x","y","z"], ordering=:degrevlex) +(Multivariate polynomial ring in 3 variables over GF(101), FqMPolyRingElem[x, y, z]) + +julia> I = Ideal([x+2*y+2*z-1, x^2+2*y^2+2*z^2-x, 2*x*y+2*y*z-y]) +FqMPolyRingElem[x + 2*y + 2*z + 100, x^2 + 2*y^2 + 2*z^2 + 100*x, 2*x*y + 2*y*z + 100*y] + +julia> eliminate(I, 2) +1-element Vector{FqMPolyRingElem}: + z^4 + 38*z^3 + 95*z^2 + 95*z +``` +""" +function eliminate( + I::Ideal{T} where T <: MPolyRingElem, + eliminate::Int; + initial_hts::Int=17, + nr_thrds::Int=1, + max_nr_pairs::Int=0, + la_option::Int=2, + complete_reduction::Bool=true, + info_level::Int=0 + ) + if eliminate <= 0 + error("Number of variables to be eliminated is <= 0.") + else + return groebner_basis(I, initial_hts=initial_hts, nr_thrds=nr_thrds, + max_nr_pairs=max_nr_pairs, la_option=la_option, + eliminate=eliminate, + complete_reduction=complete_reduction, + info_level=info_level) + end +end + +@doc Markdown.doc""" + groebner_basis(I::Ideal{T} where T <: MPolyRingElem, ) + +Compute a Groebner basis of the ideal `I` w.r.t. to the degree reverse lexicographical monomial ordering using Faugère's F4 algorithm. +At the moment the underlying algorithm is based on variants of Faugère's F4 Algorithm. + +**Note**: At the moment only ground fields of characteristic `p`, `p` prime, `p < 2^{31}` are supported. + +# Arguments +- `I::Ideal{T} where T <: MPolyRingElem`: input generators. +- `initial_hts::Int=17`: initial hash table size `log_2`. +- `nr_thrds::Int=1`: number of threads for parallel linear algebra. +- `max_nr_pairs::Int=0`: maximal number of pairs per matrix, only bounded by minimal degree if `0`. +- `la_option::Int=2`: linear algebra option: exact sparse-dense (`1`), exact sparse (`2`, default), probabilistic sparse-dense (`42`), probabilistic sparse(`44`). +- `eliminate::Int=0`: size of first block of variables to be eliminated. +- `complete_reduction::Bool=true`: compute a reduced Gröbner basis for `I` +- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). + +# Examples +```jldoctest +julia> using AlgebraicSolving + +julia> R, (x,y,z) = polynomial_ring(GF(101),["x","y","z"], ordering=:degrevlex) +(Multivariate polynomial ring in 3 variables over GF(101), FqMPolyRingElem[x, y, z]) + +julia> I = Ideal([x+2*y+2*z-1, x^2+2*y^2+2*z^2-x, 2*x*y+2*y*z-y]) +FqMPolyRingElem[x + 2*y + 2*z + 100, x^2 + 2*y^2 + 2*z^2 + 100*x, 2*x*y + 2*y*z + 100*y] + +julia> groebner_basis(I) +4-element Vector{FqMPolyRingElem}: + x + 2*y + 2*z + 100 + y*z + 82*z^2 + 10*y + 40*z + y^2 + 60*z^2 + 20*y + 81*z + z^3 + 28*z^2 + 64*y + 13*z + +julia> groebner_basis(I, eliminate=2) +1-element Vector{FqMPolyRingElem}: + z^4 + 38*z^3 + 95*z^2 + 95*z +``` +""" +function groebner_basis( + I::Ideal{T} where T <: MPolyRingElem; + initial_hts::Int=17, + nr_thrds::Int=1, + max_nr_pairs::Int=0, + la_option::Int=2, + eliminate::Int=0, + complete_reduction::Bool=true, + info_level::Int=0 + ) + + return get!(I.gb, eliminate) do + _core_groebner_basis(I, initial_hts = initial_hts, nr_thrds = nr_thrds, + max_nr_pairs = max_nr_pairs, la_option = la_option, + eliminate = eliminate, + complete_reduction = complete_reduction, + info_level = info_level) + end +end + +function _core_groebner_basis( + I::Ideal{T} where T <: MPolyRingElem; + initial_hts::Int=17, + nr_thrds::Int=1, + max_nr_pairs::Int=0, + la_option::Int=2, + eliminate::Int=0, + complete_reduction::Bool=true, + info_level::Int=0 + ) + + F = I.gens + R = first(F).parent + if F == [R(0)] + return F + end + nr_vars = nvars(R) + nr_gens = length(F) + field_char = Int(characteristic(R)) + + mon_order = 0 + elim_block_size = eliminate + reduce_gb = Int(complete_reduction) + + # convert ideal to flattened arrays of ints + if !(is_probable_prime(field_char)) + error("At the moment we only supports finite fields.") + end + + lens, cfs, exps = _convert_to_msolve(F) + + gb_ld = Ref(Cint(0)) + gb_len = Ref(Ptr{Cint}(0)) + gb_exp = Ref(Ptr{Cint}(0)) + gb_cf = Ref(Ptr{Cvoid}(0)) + + nr_terms = ccall((:export_f4, libneogb), Int, + (Ptr{Nothing}, Ptr{Cint}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cvoid}}, + Ptr{Cint}, Ptr{Cint}, Ptr{Cvoid}, Cint, Cint, Cint, Cint, Cint, Cint, + Cint, Cint, Cint, Cint, Cint, Cint, Cint), + cglobal(:jl_malloc), gb_ld, gb_len, gb_exp, gb_cf, lens, exps, cfs, + field_char, mon_order, elim_block_size, nr_vars, nr_gens, initial_hts, + nr_thrds, max_nr_pairs, 0, la_option, reduce_gb, 0, info_level) + + # convert to julia array, also give memory management to julia + jl_ld = gb_ld[] + jl_len = Base.unsafe_wrap(Array, gb_len[], jl_ld) + jl_exp = Base.unsafe_wrap(Array, gb_exp[], nr_terms*nr_vars) + ptr = reinterpret(Ptr{Int32}, gb_cf[]) + jl_cf = Base.unsafe_wrap(Array, ptr, nr_terms) + + basis = _convert_finite_field_array_to_abstract_algebra( + jl_ld, jl_len, jl_cf, jl_exp, R, eliminate) + + + ccall((:free_f4_julia_result_data, libneogb), Nothing , + (Ptr{Nothing}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cint}}, + Ptr{Ptr{Cvoid}}, Int, Int), + cglobal(:jl_free), gb_len, gb_exp, gb_cf, jl_ld, field_char) + + I.gb[eliminate] = basis + + return basis +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/normal-forms.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/normal-forms.jl new file mode 100644 index 0000000..36a7913 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/normal-forms.jl @@ -0,0 +1,174 @@ +import msolve_jll: libneogb + +export normal_form + +@doc Markdown.doc""" + normal_form( + f::T, + I::Ideal{T}; + nr_thrds::Int=1, + info_level::Int=0 + ) where T <: MPolyRingElem + +Compute the normal forms of the elements of `F` w.r.t. a degree reverse +lexicographical Gröbner basis of `I`. + +**Note:** If `I` has not already cached a degree reverse lexicographical +Gröbner basis, then this one is first computed. + +# Arguments +- `F::Vector{T} where T <: MPolyRingElem`: elements to be reduced. +- `I::Ideal{T} where T <: MPolyRingElem`: ideal data to reduce with. +- `nr_thrds::Int=1`: number of threads for parallel linear algebra. +- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). + +# Examples +```jldoctest +julia> using AlgebraicSolving + +julia> R, (x,y) = polynomial_ring(GF(101),["x","y"]) +(Multivariate polynomial ring in 2 variables over GF(101), FqMPolyRingElem[x, y]) + +julia> I = Ideal([y*x^3+12-y, x+y]) +FqMPolyRingElem[x^3*y + 100*y + 12, x + y] + +julia> f = 2*x^2+7*x*y +2*x^2 + 7*x*y + +julia> normal_form(f, I) +96*y^2 +``` +""" +function normal_form( + f::T, + I::Ideal{T}; + nr_thrds::Int=1, + info_level::Int=0 + ) where T <: MPolyRingElem + nf = _core_normal_form([f], I; nr_thrds, info_level) + return nf[1] +end + +@doc Markdown.doc""" + normal_form( + F::Vector{T}, + I::Ideal{T}; + nr_thrds::Int=1, + info_level::Int=0 + ) where T <: MPolyRingElem + +Compute the normal forms of the elements of `F` w.r.t. a degree reverse +lexicographical Gröbner basis of `I`. + +**Note:** If `I` has not already cached a degree reverse lexicographical +Gröbner basis, then this one is first computed. + +# Arguments +- `F::Vector{T} where T <: MPolyRingElem`: elements to be reduced. +- `I::Ideal{T} where T <: MPolyRingElem`: ideal data to reduce with. +- `nr_thrds::Int=1`: number of threads for parallel linear algebra. +- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). + +# Examples +```jldoctest +julia> using AlgebraicSolving + +julia> R, (x,y) = polynomial_ring(GF(101),["x","y"]) +(Multivariate polynomial ring in 2 variables over GF(101), FqMPolyRingElem[x, y]) + +julia> I = Ideal([y*x^3+12-y, x+y]) +FqMPolyRingElem[x^3*y + 100*y + 12, x + y] + +julia> F = [2*x^2+7*x*y, x+y] +2-element Vector{FqMPolyRingElem}: + 2*x^2 + 7*x*y + x + y + +julia> normal_form(F,I) +2-element Vector{FqMPolyRingElem}: + 96*y^2 + 0 +``` +""" +function normal_form( + F::Vector{T}, + I::Ideal{T}; + nr_thrds::Int=1, + info_level::Int=0 + ) where T <: MPolyRingElem + return _core_normal_form(F, I; nr_thrds, info_level) +end + +function _core_normal_form( + F::Vector{T}, + I::Ideal{T}; + nr_thrds::Int=1, + info_level::Int=0 + ) where T <: MPolyRingElem + + + if (length(F) == 0 || length(I.gens) == 0) + error("Input data not valid.") + end + + R = first(F).parent + nr_vars = nvars(R) + field_char = Int(characteristic(R)) + + if !(is_probable_prime(field_char)) + error("At the moment we only supports finite fields.") + end + + #= first get a degree reverse lexicographical Gröbner basis for I =# + if !haskey(I.gb, 0) + if field_char > 2^17 + groebner_basis(I, eliminate = 0, la_option = 44, info_level = info_level) + else + groebner_basis(I, eliminate = 0, la_option = 2, info_level = info_level) + end + end + G = I.gb[0] + + if G == [R(0)] + return F + end + + tbr_nr_gens = length(F) + bs_nr_gens = length(G) + is_gb = 1 + + # convert ideal to flattened arrays of ints + tbr_lens, tbr_cfs, tbr_exps = _convert_to_msolve(F) + bs_lens, bs_cfs, bs_exps = _convert_to_msolve(G) + + nf_ld = Ref(Cint(0)) + nf_len = Ref(Ptr{Cint}(0)) + nf_exp = Ref(Ptr{Cint}(0)) + nf_cf = Ref(Ptr{Cvoid}(0)) + + nr_terms = ccall((:export_nf, libneogb), Int, + (Ptr{Nothing}, Ptr{Cint}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cvoid}}, + Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cvoid}, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cvoid}, + Cint, Cint, Cint, Cint, Cint, Cint, Cint), + cglobal(:jl_malloc), nf_ld, nf_len, nf_exp, nf_cf, tbr_nr_gens, tbr_lens, tbr_exps, + tbr_cfs, bs_nr_gens, bs_lens, bs_exps, bs_cfs, field_char, 0, 0, nr_vars, is_gb, + nr_thrds, info_level) + + # convert to julia array, also give memory management to julia + jl_ld = nf_ld[] + jl_len = Base.unsafe_wrap(Array, nf_len[], jl_ld) + jl_exp = Base.unsafe_wrap(Array, nf_exp[], nr_terms*nr_vars) + ptr = reinterpret(Ptr{Int32}, nf_cf[]) + jl_cf = Base.unsafe_wrap(Array, ptr, nr_terms) + + basis = _convert_finite_field_array_to_abstract_algebra( + jl_ld, jl_len, jl_cf, jl_exp, R, 0) + + ccall((:free_f4_julia_result_data, libneogb), Nothing , + (Ptr{Nothing}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cint}}, + Ptr{Ptr{Cvoid}}, Int, Int), + cglobal(:jl_free), nf_len, nf_exp, nf_cf, jl_ld, field_char) + + return basis +end + diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl new file mode 100644 index 0000000..11cd320 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl @@ -0,0 +1,432 @@ +import msolve_jll: libmsolve + +export inter_solutions, real_solutions, rational_solutions, rational_parametrization + +@doc Markdown.doc""" + _get_rational_parametrization(nr::Int32, lens::Vector{Int32}, cfs::Ptr{BigInt}) + +Construct the rational parametrization of the solution set computed via msolve. + +**Note**: This is an internal function and should only be used inside `msolve()`. +""" +function _get_rational_parametrization( + nr::Int32, + lens::Vector{Int32}, + cfs::Ptr{BigInt}, + cfs_lf::Ptr{BigInt}, + nr_vars::Int32 + ) + if cfs_lf != Ptr{BigInt}(0) + lf = [ZZRingElem(unsafe_load(cfs_lf, i)) for i in 1:nr_vars] + else + lf = ZZRingElem[] + end + C, x = polynomial_ring(QQ,"x") + ctr = 0 + + elim = C([unsafe_load(cfs, i) for i in 1:lens[1]]) + ctr += lens[1] + + denom = C([unsafe_load(cfs, i+ctr) for i in 1:lens[2]]) + ctr += lens[2] + + size = nr-2 + p = Vector{PolyRingElem}(undef, size) + k = 1 + for i in 3:nr + p[k] = C([unsafe_load(cfs, j+ctr) for j in 1:lens[i]-1]) + # multiply parametrization polynomial directly with + # corresponding coefficients + p[k] *= (-1) * ZZRingElem(unsafe_load(cfs, lens[i]+ctr)) + ctr += lens[i] + k += 1 + end + + return lf, elim, denom, p +end + +@doc Markdown.doc""" + _core_msolve(I::Ideal{T} where T <: MPolyRingElem, ) + +Compute a rational parametrization and the real solutions of the ideal `I` via msolve. + +**Note**: This is an internal function. +""" +function _core_msolve( + I::Ideal{T} where T <: MPolyRingElem; # input generators + initial_hts::Int=17, # hash table size, default 2^17 + nr_thrds::Int=1, # number of threads + max_nr_pairs::Int=0, # number of pairs maximally chosen + # in symbolic preprocessing + la_option::Int=2, # linear algebra option + info_level::Int=0, # info level for print outs + precision::Int=32 # precision of the solution set + ) + + F = I.gens + R = first(F).parent + nr_vars = nvars(R) + nr_gens = length(F) + field_char = Int(characteristic(R)) + + variable_names = map(string, R.S) + + #= add new variables and linear forms, =# + genericity_handling = 2 + + reset_ht = 0 + print_gb = 0 + get_param = 1 + + mon_order = 0 + elim_block_size = 0 + use_signatures = 0 + + if field_char != 0 + error("At the moment we only support the rationals as ground field.") + end + # convert Singular ideal to flattened arrays of ints + lens, cfs, exps = _convert_to_msolve(F) + + res_ld = Ref(Cint(0)) + res_nr_vars = Ref(Cint(0)) + res_dim = Ref(Cint(0)) + res_dquot = Ref(Cint(0)) + nb_sols = Ref(Cint(0)) + res_len = Ref(Ptr{Cint}(0)) + res_vnames = Ref(Ptr{Ptr{Cchar}}(0)) + res_cf_lf = Ref(Ptr{Cvoid}(0)) + res_cf = Ref(Ptr{Cvoid}(0)) + sols_num = Ref(Ptr{Cvoid}(0)) + sols_den = Ref(Ptr{Cint}(0)) + + ccall((:msolve_julia, libmsolve), Cvoid, + (Ptr{Nothing}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Ptr{Cint}}, + Ptr{Ptr{Ptr{Cchar}}}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}, Ptr{Ptr{Cint}}, Ptr{Cint}, + Ptr{Cint}, Ptr{Cvoid}, Ptr{Ptr{Cchar}}, Ptr{Cchar}, Cint, Cint, + Cint, Cint, Cint, Cint, Cint, Cint, Cint, Cint, Cint, Cint, Cint, + Cint, Cint, Cint), + cglobal(:jl_malloc), res_ld, res_nr_vars, res_dim, res_dquot, res_len, res_vnames, + res_cf_lf, res_cf, + nb_sols, sols_num, sols_den, lens, exps, cfs, variable_names, + "/dev/null", field_char, mon_order, elim_block_size, nr_vars, + nr_gens, initial_hts, nr_thrds, max_nr_pairs, reset_ht, la_option, + use_signatures, print_gb, get_param, genericity_handling, precision, + info_level) + # convert to julia array, also give memory management to julia + jl_ld = res_ld[] + jl_rp_nr_vars = res_nr_vars[] + jl_dim = res_dim[] + jl_dquot = res_dquot[] + jl_nb_sols = nb_sols[] + + # set dimension + I.dim = jl_dim + if jl_dim > 0 + error("Dimension of ideal is greater than zero, no solutions provided.") + end + + # get rational parametrization + jl_len = Base.unsafe_wrap(Array, res_len[], jl_ld) + nterms = 0 + + if jl_dquot == 0 + C,x = polynomial_ring(QQ,"x") + I.rat_param = RationalParametrization(Symbol[], ZZRingElem[], C(-1), C(-1), PolyRingElem[]) + I.real_sols = QQFieldElem[] + return I.rat_param, I.real_sols + end + [nterms += jl_len[i] for i=1:jl_ld] + jl_cf = reinterpret(Ptr{BigInt}, res_cf[]) + jl_cf_lf = reinterpret(Ptr{BigInt}, res_cf_lf[]) + + jl_vnames = Base.unsafe_wrap(Array, res_vnames[], jl_rp_nr_vars) + + vsymbols = [Symbol(unsafe_string(jl_vnames[i])) for i in 1:jl_rp_nr_vars] + + rat_param = _get_rational_parametrization(jl_ld, jl_len, + jl_cf, jl_cf_lf, jl_rp_nr_vars) + + I.rat_param = RationalParametrization(vsymbols, rat_param[1],rat_param[2], + rat_param[3], rat_param[4]) + if jl_nb_sols == 0 + I.real_sols = QQFieldElem[] + return rat_param, Vector{QQFieldElem}[] + end + + # get solutions + jl_sols_num = reinterpret(Ptr{BigInt}, sols_num[]) + jl_sols_den = reinterpret(Ptr{Int32}, sols_den[]) + # elseif is_prime(field_char) + # jl_cf = reinterpret(Ptr{Int32}, res_cf[]) + # jl_sols_num = reinterpret(Ptr{Int32}, sols_num[]) + # end + + #= solutions are returned as intervals, i.e. a minimum and a maximum entry for + = the numerator and denominator; thus we sum up and divide by 2 =# + + inter_solutions = Vector{Vector{Vector{QQFieldElem}}}(undef, jl_nb_sols) + solutions = Vector{Vector{QQFieldElem}}(undef, jl_nb_sols) + + len = 2*jl_nb_sols*nr_vars + i = 1 + k = 1 + while i <= len + j = 1 + inter_tmp = Vector{Vector{QQFieldElem}}(undef, nr_vars) + tmp = Vector{QQFieldElem}(undef, nr_vars) + while j <= nr_vars + inter_tmp_coeff = Vector{QQFieldElem}(undef, 2) + inter_tmp_coeff[1] = QQFieldElem(unsafe_load(jl_sols_num, i)) >> Int64(unsafe_load(jl_sols_den, i)) + inter_tmp_coeff[2] = QQFieldElem(unsafe_load(jl_sols_num, i+1)) >> Int64(unsafe_load(jl_sols_den, i+1)) + inter_tmp[j] = inter_tmp_coeff + tmp[j] = sum(inter_tmp_coeff) >> 1 + i += 2 + j += 1 + end + inter_solutions[k] = inter_tmp + solutions[k] = tmp + k += 1 + end + I.inter_sols = inter_solutions + I.real_sols = solutions + + ccall((:free_msolve_julia_result_data, libmsolve), Nothing , + (Ptr{Nothing}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cvoid}}, + Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cint}}, Cint, Cint, Cint), + cglobal(:jl_free), res_len, res_cf, sols_num, sols_den, + jl_ld, jl_nb_sols, field_char) + + return rat_param, solutions +end + +@doc Markdown.doc""" + rational_parametrization(I::Ideal{T} where T <: MPolyRingElem, ) + +Given an ideal `I` with a finite solution set over the complex numbers, return +the rational parametrization of the ideal with a given precision (default 32 bits). + +**Note**: At the moment only QQ is supported as ground field. If the dimension of the ideal +is greater then zero an empty array is returned. + +# Arguments +- `I::Ideal{T} where T <: MPolyRingElem`: input generators. +- `initial_hts::Int=17`: initial hash table size `log_2`. +- `nr_thrds::Int=1`: number of threads for parallel linear algebra. +- `max_nr_pairs::Int=0`: maximal number of pairs per matrix, only bounded by minimal degree if `0`. +- `la_option::Int=2`: linear algebra option: exact sparse-dense (`1`), exact sparse (`2`, default), probabilistic sparse-dense (`42`), probabilistic sparse(`44`). +- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). +- `precision::Int=32`: bit precision for the computed solutions. + +# Examples +```jldoctest +julia> using AlgebraicSolving + +julia> R,(x1,x2,x3) = polynomial_ring(QQ, ["x1","x2","x3"]) +(Multivariate polynomial ring in 3 variables over QQ, QQMPolyRingElem[x1, x2, x3]) + +julia> I = Ideal([x1+2*x2+2*x3-1, x1^2+2*x2^2+2*x3^2-x1, 2*x1*x2+2*x2*x3-x2]) +QQMPolyRingElem[x1 + 2*x2 + 2*x3 - 1, x1^2 - x1 + 2*x2^2 + 2*x3^2, 2*x1*x2 + 2*x2*x3 - x2] + +julia> rational_parametrization(I) +AlgebraicSolving.RationalParametrization([:x1, :x2, :x3], ZZRingElem[], 84*x^4 - 40*x^3 + x^2 + x, 336*x^3 - 120*x^2 + 2*x + 1, AbstractAlgebra.PolyRingElem[184*x^3 - 80*x^2 + 4*x + 1, 36*x^3 - 18*x^2 + 2*x]) +``` +""" +function rational_parametrization( + I::Ideal{T} where T <: MPolyRingElem; # input generators + initial_hts::Int=17, # hash table size, default 2^17 + nr_thrds::Int=1, # number of threads + max_nr_pairs::Int=0, # number of pairs maximally chosen + # in symbolic preprocessing + la_option::Int=2, # linear algebra option + info_level::Int=0, # info level for print outs + precision::Int=32 # precision of the solution set + ) + + isdefined(I, :rat_param) || + _core_msolve(I, + initial_hts = initial_hts, + nr_thrds = nr_thrds, + max_nr_pairs = max_nr_pairs, + la_option = la_option, + info_level = info_level, + precision = precision) + + return I.rat_param +end + + +@doc Markdown.doc""" + rational_solutions(I::Ideal{T} where T <: MPolyRingElem, ) + +Given an ideal `I` with a finite solution set over the complex numbers, return +the rational roots of the ideal. + +# Arguments +- `I::Ideal{T} where T <: MPolyRingElem`: input generators. +- `initial_hts::Int=17`: initial hash table size `log_2`. +- `nr_thrds::Int=1`: number of threads for parallel linear algebra. +- `max_nr_pairs::Int=0`: maximal number of pairs per matrix, only bounded by minimal degree if `0`. +- `la_option::Int=2`: linear algebra option: exact sparse-dense (`1`), exact sparse (`2`, default), probabilistic sparse-dense (`42`), probabilistic sparse(`44`). +- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). +- `precision::Int=32`: bit precision for the computed solutions. + +# Examples +```jldoctest +julia> using AlgebraicSolving + +julia> R,(x1,x2,x3) = polynomial_ring(QQ, ["x1","x2","x3"]) +(Multivariate polynomial ring in 3 variables over QQ, QQMPolyRingElem[x1, x2, x3]) + +julia> I = Ideal([x1+2*x2+2*x3-1, x1^2+2*x2^2+2*x3^2-x1, 2*x1*x2+2*x2*x3-x2]) +QQMPolyRingElem[x1 + 2*x2 + 2*x3 - 1, x1^2 - x1 + 2*x2^2 + 2*x3^2, 2*x1*x2 + 2*x2*x3 - x2] + +julia> rat_sols = rational_solutions(I) +2-element Vector{Vector{QQFieldElem}}: + [1, 0, 0] + [1//3, 0, 1//3] + +julia> map(r->map(p->evaluate(p, r), I.gens), rat_sols) +2-element Vector{Vector{QQFieldElem}}: + [0, 0, 0] + [0, 0, 0] +``` +""" +function rational_solutions( + I::Ideal{T} where T <: MPolyRingElem; # input generators + initial_hts::Int=17, # hash table size, default 2^17 + nr_thrds::Int=1, # number of threads + max_nr_pairs::Int=0, # number of pairs maximally chosen + # in symbolic preprocessing + la_option::Int=2, # linear algebra option + info_level::Int=0, # info level for print outs + precision::Int=32 # precision of the solution set + ) + isdefined(I, :rat_param) || + _core_msolve(I, + initial_hts = initial_hts, + nr_thrds = nr_thrds, + max_nr_pairs = max_nr_pairs, + la_option = la_option, + info_level = info_level, + precision = precision) + param_t = I.rat_param + + nvars = length(param_t.vars) + lpol = filter(l->degree(l) == 1, keys(factor(param_t.elim).fac)) + nb = length(lpol) + + rat_elim = [-coeff(l, 0)// coeff(l, 1) for l in lpol] + rat_den = map(l->evaluate(param_t.denom, l), rat_elim) + rat_num = map(r->map(l->evaluate(l, r), param_t.param), rat_elim) + + rat_sols = Vector{Vector{QQFieldElem}}(undef, nb) + + if length(param_t.vars) == parent(I).nvars + + for i in 1:nb + rat_sols[i] = Vector{QQFieldElem}(undef, nvars) + for j in 1:(nvars-1) + rat_sols[i][j] = rat_num[i][j] // rat_den[i] + end + rat_sols[i][nvars] = rat_elim[i] + end + + else + + for i in 1:nb + rat_sols[i] = Vector{QQFieldElem}(undef, nvars - 1) + for j in 1:(nvars-1) + rat_sols[i][j] = rat_num[i][j] // rat_den[i] + end + end + + end + + I.rat_sols = rat_sols + + return I.rat_sols +end + + +@doc Markdown.doc""" + real_solutions(I::Ideal{T} where T <: MPolyRingElem, ) + +Given an ideal `I` with a finite solution set over the complex numbers, return +the real roots of the ideal with a given precision (default 32 bits). + +**Note**: At the moment only QQ is supported as ground field. If the dimension of the ideal +is greater than zero an empty array is returned. + +# Arguments +- `I::Ideal{T} where T <: MPolyRingElem`: input generators. +- `initial_hts::Int=17`: initial hash table size `log_2`. +- `nr_thrds::Int=1`: number of threads for parallel linear algebra. +- `max_nr_pairs::Int=0`: maximal number of pairs per matrix, only bounded by minimal degree if `0`. +- `la_option::Int=2`: linear algebra option: exact sparse-dense (`1`), exact sparse (`2`, default), probabilistic sparse-dense (`42`), probabilistic sparse(`44`). +- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). +- `precision::Int=32`: bit precision for the computed solutions. + +# Examples +```jldoctest +julia> using AlgebraicSolving + +julia> R,(x1,x2,x3) = polynomial_ring(QQ, ["x1","x2","x3"]) +(Multivariate polynomial ring in 3 variables over QQ, QQMPolyRingElem[x1, x2, x3]) + +julia> I = Ideal([x1+2*x2+2*x3-1, x1^2+2*x2^2+2*x3^2-x1, 2*x1*x2+2*x2*x3-x2]) +QQMPolyRingElem[x1 + 2*x2 + 2*x3 - 1, x1^2 - x1 + 2*x2^2 + 2*x3^2, 2*x1*x2 + 2*x2*x3 - x2] + +julia> real_solutions(I) +4-element Vector{Vector{QQFieldElem}}: + [5416829397//8589934592, 2708414699//8589934592, -2844258330290649520990905062759917788583//21778071482940061661655974875633165533184] + [1, 0, 0] + [1945971683//8589934592, 972985841//8589934592, 744426424910260862653434112767010536665//2722258935367507707706996859454145691648] + [2863311531//8589934592, 0, 3629678580490010276942662479272194255531//10889035741470030830827987437816582766592] +``` +""" +function real_solutions( + I::Ideal{T} where T <: MPolyRingElem; # input generators + initial_hts::Int=17, # hash table size, default 2^17 + nr_thrds::Int=1, # number of threads + max_nr_pairs::Int=0, # number of pairs maximally chosen + # in symbolic preprocessing + la_option::Int=2, # linear algebra option + info_level::Int=0, # info level for print outs + precision::Int=32 # precision of the solution set + ) + + isdefined(I, :real_sols) || + _core_msolve(I, + initial_hts = initial_hts, + nr_thrds = nr_thrds, + max_nr_pairs = max_nr_pairs, + la_option = la_option, + info_level = info_level, + precision = precision) + + return I.real_sols +end + +function inter_solutions( + I::Ideal{T} where T <: MPolyRingElem; # input generators + initial_hts::Int=17, # hash table size, default 2^17 + nr_thrds::Int=1, # number of threads + max_nr_pairs::Int=0, # number of pairs maximally chosen + # in symbolic preprocessing + la_option::Int=2, # linear algebra option + info_level::Int=0, # info level for print outs + precision::Int=32 # precision of the solution set + ) + + isdefined(I, :real_sols) || + _core_msolve(I, + initial_hts = initial_hts, + nr_thrds = nr_thrds, + max_nr_pairs = max_nr_pairs, + la_option = la_option, + info_level = info_level, + precision = precision) + + return I.inter_sols +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/examples/cyclic.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/examples/cyclic.jl new file mode 100644 index 0000000..10c539c --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/examples/cyclic.jl @@ -0,0 +1,23 @@ +@doc Markdown.doc""" + cyclic(R::MPolyRing) + +Return the Cyclic ideal in the variables of `R`. + +# Example +```jldoctest +julia> using AlgebraicSolving + +julia> R, vars = polynomial_ring(QQ, ["x$i" for i in 1:4]) +(Multivariate polynomial ring in 4 variables over QQ, QQMPolyRingElem[x1, x2, x3, x4]) + +julia> cyclic(R) +QQMPolyRingElem[x1 + x2 + x3 + x4, x1*x2 + x1*x4 + x2*x3 + x3*x4, x1*x2*x3 + x1*x2*x4 + x1*x3*x4 + x2*x3*x4, x1*x2*x3*x4 - 1] +``` +""" +function cyclic(R::MPolyRing) + vars = gens(R) + n = length(vars) + pols = [sum(prod(vars[j%n+1] for j in k:k+i) for k in 1:n) for i in 0:n-2] + push!(pols, prod(vars[i] for i in 1:n)-1) + return Ideal(pols) +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/examples/katsura.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/examples/katsura.jl new file mode 100644 index 0000000..07b6d0a --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/examples/katsura.jl @@ -0,0 +1,90 @@ +export katsura + +function _get_katsura_exponent(n::Int, m::Int, l::Int) + e = zeros(Int, n + 1) + if abs(l) == abs(m - l) + e[abs(l) + 1] = 2 + else + e[abs(l) + 1] = 1 + e[abs(m - l) + 1] = 1 + end + + return e +end + +@doc Markdown.doc""" + katsura(n::Int) + +Given a natural number `n` returns the Katsura ideal generated by +$u_m - \sum_{l=n}^n u_{l-m} u_l$, $1 - \sum_{l = -n}^n u_l$ +where $u_{-i} = u_i$, and $u_i = 0$ for $i > n$ and $m \in \{-n, \ldots, n\}$. +Also note that indices have been shifted to start from 1. + +# Example +```jldoctest +julia> using AlgebraicSolving + +julia> katsura(2) +QQMPolyRingElem[x1 + 2*x2 + 2*x3 - 1, x1^2 + 2*x2^2 + 2*x3^2 - x1, 2*x1*x2 + 2*x2*x3 - x2] +``` +""" +function katsura(log_solutions::Int, characteristic::Int=0) + if characteristic == 0 + R, _ = polynomial_ring(QQ, log_solutions + 1, ordering=:degrevlex) + elseif is_probable_prime(characteristic) + R, _ = polynomial_ring(GF(characteristic), log_solutions + 1, ordering=:degrevlex) + else + error("We only support finite fields or QQ as ground fields.") + end + + return katsura(R) +end + +@doc Markdown.doc""" + katsura(R::MPolyRing) + +Returns the Katsura ideal in the given polynomial ring `R`. + +# Example +```jldoctest +julia> using AlgebraicSolving + +julia> R, _ = QQ["x", "y", "z"] +(Multivariate polynomial ring in 3 variables over QQ, QQMPolyRingElem[x, y, z]) + +julia> katsura(R) +QQMPolyRingElem[x + 2*y + 2*z - 1, x^2 - x + 2*y^2 + 2*z^2, 2*x*y + 2*y*z - y] +``` +""" +function katsura(R::MPolyRing) + CR = base_ring(R) + polys = elem_type(R)[] + n = nvars(R) - 1 + coeffs_vec = 2 * fill(CR(1), n + 1) + coeffs_vec[1] = CR(1) + mono_exps = Matrix(1I, n+1, n+1) + #= mono_exps = Matrix{Int}(identity_matrix(ZZ, n + 1)) =# + linear_poly = R(coeffs_vec, [mono_exps[:, i] for i in 1:n+1]) + linear_poly -= R(1) + push!(polys, linear_poly) + + for m in 0:n - 1 + polynomial = MPolyBuildCtx(R) + for l in -n:n + if abs(l) > n || abs(m - l) > n + continue + end + e = _get_katsura_exponent(n, m, l) + push_term!(polynomial, CR(1), e) + end + + e = zeros(Int, n + 1) + e[abs(m) + 1] = 1 + push_term!(polynomial, CR(-1), e) + poly = finish(polynomial) + push!(polys, poly) + end + + return Ideal(polys) +end + diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/exports.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/exports.jl new file mode 100644 index 0000000..9346798 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/exports.jl @@ -0,0 +1,4 @@ +export polynomial_ring, MPolyRing, GFElem, MPolyRingElem, finite_field, GF, fpMPolyRingElem, + characteristic, degree, ZZ, QQ, vars, nvars, ngens, ZZRingElem, QQFieldElem, QQMPolyRingElem, + base_ring, coefficient_ring, evaluate, prime_field, sig_groebner_basis, cyclic, leading_coefficient, + FqMPolyRingElem, derivative diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/imports.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/imports.jl new file mode 100644 index 0000000..ccf335a --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/imports.jl @@ -0,0 +1,61 @@ +using Markdown +using Test +using msolve_jll +using Nemo +using LinearAlgebra +using StaticArrays +using LoopVectorization + +import Random: MersenneTwister +import Logging: ConsoleLogger, with_logger, Warn, Info +import Printf: @sprintf + +import Nemo: + bell, + binomial, + degree, + denominator, + divexact, + divides, + divisor_sigma, + euler_phi, + evaluate, + factorial, + fibonacci, + fits, + fpMPolyRingElem, + fqPolyRepFieldElem, + fraction_field, + GF, + height, + is_prime, + is_probable_prime, + is_square, + is_unit, + isqrtrem, + jacobi_symbol, + leading_coefficient, + matrix_space, + moebius_mu, + MPolyRing, + MPolyRingElem, + number_of_partitions, + numerator, + polynomial_ring, + PolyRing, + PolyRingElem, + prime_field, + primorial, + QQ, + QQField, + QQFieldElem, + QQMatrix, + QQMPolyRingElem, + rising_factorial, + root, + unit, + vars, + ZZ, + ZZMatrix, + ZZRing, + ZZRingElem diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/interfaces/nemo.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/interfaces/nemo.jl new file mode 100644 index 0000000..1078047 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/interfaces/nemo.jl @@ -0,0 +1,118 @@ + +@doc Markdown.doc""" + _convert_to_msolve( + F::Vector{T}) where T <: MPolyRingElem + +Convert a vector of polynomials to input data for msolve. + +**Note**: This is an internal function. +""" +function _convert_to_msolve( + F::Vector{T}) where T <: MPolyRingElem + + R = parent(first(F)) + + nr_vars = nvars(R) + nr_gens = length(F) + lens = Int32[length(F[i]) for i in 1:nr_gens] + nr_terms = sum(lens) + field_char = characteristic(R) + + if field_char > 2^31 || degree(base_ring(R)) != 1 + error("At the moment we only support prime fields up to prime characteristic < 2^31.") + end + # get coefficients + if field_char == 0 + cfs = BigInt[] + else + cfs = Int32[] + end + if field_char == 0 + for i in 1:nr_gens + for cf in coefficients(F[i]) + push!(cfs, BigInt(numerator(cf))) + push!(cfs, BigInt(denominator(cf))) + end + end + else + for i in 1:nr_gens + for cf in coefficients(F[i]) + push!(cfs, Int32(lift(Nemo.ZZ, cf))) + end + end + end + + # get exponent vectors + exps = Int32[] + for i in 1:nr_gens + for ev in exponent_vectors(F[i]) + append!(exps, convert(Vector{Int32}, ev)) + end + end + + return lens, cfs, exps +end + +@doc Markdown.doc""" + _convert_finite_field_gb_to_abstract_algebra( + bld::Int32, + blen::Vector{Int32}, + bcf::Vector{Int32}, + bexp::Vector{Int32}, + R::MPolyRing, + eliminate::Int=0 + ) + +Converts a finite Gröbner basis computed internally via msolve +to a vector of polynomials. + +**Note**: This is an internal function. +""" +function _convert_finite_field_array_to_abstract_algebra( + bld::Int32, + blen::Vector{Int32}, + bcf::Vector{Int32}, + bexp::Vector{Int32}, + R::MPolyRing, + eliminate::Int=0 + ) + + if characteristic(R) == 0 + error("At the moment we only support finite fields.") + end + + nr_gens = bld + nr_vars = nvars(R) + CR = coefficient_ring(R) + + basis = (typeof(R(0)))[] + #= basis = Vector{MPolyRingElem}(undef, bld) =# + + len = 0 + + if eliminate > 0 + z = zeros(Int, eliminate) + end + for i in 1:nr_gens + #= check if element is part of the eliminated basis =# + if eliminate > 0 + cmp = convert(Vector{Int}, bexp[(len)*nr_vars+1:(len+1)*nr_vars]) + if cmp[1:eliminate] > z + continue + end + end + g = MPolyBuildCtx(R) + if bcf[len+1] == 0 + g.poly = R(0) + else + for j in 1:blen[i] + push_term!(g, CR(bcf[len+j]), + convert(Vector{Int}, bexp[(len+j-1)*nr_vars+1:(len+j)*nr_vars])) + end + end + len += blen[i] + push!(basis, g.poly) + end + + return basis +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/hashtable.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/hashtable.jl new file mode 100644 index 0000000..3f9d955 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/hashtable.jl @@ -0,0 +1,472 @@ +# TAKEN AND ADJUSTED FROM GROEBNER.JL BY ALEXANDER DEMIN +# MIT License + +# Copyright (c) 2022 Alexander Demin + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +mutable struct Hashvalue + hash::MonHash + divmask::DivMask +end + +function copy_hashvalue(x::Hashvalue) + Hashvalue(x.hash, x.divmask) +end + +# Hashtable designed to store monomials +mutable struct MonomialHashtable{N} + exponents::Vector{Monomial{N}} + + # for buffering exponent vectors during certain operations + buffer::MVector{N, Exp} + + # maps exponent hash to its position in exponents array + hashtable::Vector{MonIdx} + + # stores hashes, division masks, + # and other valuable info + # for each hashtable enrty + hashdata::Vector{Hashvalue} + + #= Monom divisibility =# + # divisor map to check divisibility faster + divmap::Vector{UInt32} + # bits per div variable + ndivbits::Int + + size::Int + # elements added + load::Int +end + +#------------------------------------------------------------------------------ + +# Returns the next look-up position in the table +function nexthashindex(h::MonHash, j::MonHash, mod::MonHash) + (h + j) & mod + MonHash(1) +end + +#------------------------------------------------------------------------------ + +# initialize and set fields for basis hashtable +function initialize_basis_hash_table(::Val{N}) where N + + # for now at most 32 variables + if N > 32 + error("At most 32 variables currently supported.") + end + + # not necessary to create `initial_size` exponents + exponents = Vector{Monomial{N}}(undef, init_ht_size) + hashdata = Vector{Hashvalue}(undef, init_ht_size) + hashtable = zeros(MonIdx, init_ht_size) + + # exponents[1:load] cover all stored exponents + load = 0 + size = init_ht_size + + # initialize fast divisibility params + int32bits = 32 + ndivbits = div(int32bits, N) + # division mask stores at least 1 bit + # per each of first ndivvars variables + ndivbits == 0 && (ndivbits += 1) + divmap = Vector{DivMask}(undef, N * ndivbits) + + # first stored exponent used as buffer lately + buffer = MVector{N}(zeros(Exp, N)) + + MonomialHashtable{N}(exponents, buffer, hashtable, + hashdata, divmap, ndivbits, + size, load) +end + +# initialize hashtable for `symbolic_preprocessing` +# These are of the same purpose and structure as basis hashtable, +# but are more local oriented +function initialize_secondary_hash_table(basis_ht::MonomialHashtable{N}) where {N} + # 2^6 seems to be the best out of 2^5, 2^6, 2^7 + initial_size = 2^6 + + exponents = Vector{Monomial{N}}(undef, initial_size) + hashdata = Vector{Hashvalue}(undef, initial_size) + hashtable = zeros(MonIdx, initial_size) + + # preserve division info + divmap = basis_ht.divmap + ndivbits = basis_ht.ndivbits + + load = 0 + size = initial_size + + buffer = MVector{N}(zeros(Exp, N)) + + MonomialHashtable(exponents, buffer, hashtable, + hashdata, divmap, ndivbits, + size, load) +end + +function select_tablesize(nvars, syssize) + nvars = ring.nvars + tablesize = 2^10 + if nvars > 4 + tablesize = 2^14 + end + if nvars > 7 + tablesize = 2^16 + end + + if syssize < 3 + tablesize = div(tablesize, 2) + end + if syssize < 2 + tablesize = div(tablesize, 2) + end + + return tablesize +end + +#------------------------------------------------------------------------------ + +ht_resize_threshold() = 0.4 +ht_needs_resize(size, load, added) = (load + added)/size > ht_resize_threshold() + +function check_enlarge_hashtable!(ht::MonomialHashtable, added::Integer) + newsize = ht.size + while ht_needs_resize(newsize, ht.load, added) + newsize *= 2 + end + if newsize != ht.size + ht.size = newsize + @assert ispow2(ht.size) + + resize!(ht.hashdata, ht.size) + resize!(ht.exponents, ht.size) + ht.hashtable = zeros(Int, ht.size) + + mod = MonHash(ht.size - 1) + + for i in 1:ht.load + # hash for this elem is already computed + he = ht.hashdata[i].hash + hidx = he + @inbounds for j in MonHash(1):MonHash(ht.size) + hidx = nexthashindex(he, j, mod) + !iszero(ht.hashtable[hidx]) && continue + ht.hashtable[hidx] = i + break + end + end + end + nothing +end + +#------------------------------------------------------------------------------ + +# if hash collision happened +function ishashcollision(ht::MonomialHashtable{N}, vidx, exps, he) where N + # if not free and not same hash + @inbounds if ht.hashdata[vidx].hash != he + return true + end + # if not free and not same monomial + # TODO: is this shitty? + @inbounds for i in 1:N + if ht.exponents[vidx].exps[i] != exps[i] + return true + end + end + return false +end + +function insert_in_hash_table!(ht::MonomialHashtable{N}, e::Monomial{N}) where {N} + # generate hash + he = Base.hash(e) + + # find new elem position in the table + hidx = he + # power of twoooo + @assert ispow2(ht.size) + mod = MonHash(ht.size - 1) + i = MonHash(1) + hsize = MonHash(ht.size) + + @inbounds while i < hsize + hidx = nexthashindex(he, i, mod) + + vidx = ht.hashtable[hidx] + + # if free + iszero(vidx) && break + + # if not free and not same hash + if ishashcollision(ht, vidx, e.exps, he) + i += MonHash(1) + continue + end + + # already present in hashtable + return vidx + end + + # add its position to hashtable, and insert exponent to that position + vidx = MonIdx(ht.load + 1) + @inbounds ht.hashtable[hidx] = vidx + @inbounds ht.exponents[vidx] = e + divm = divmask(e, ht.divmap, ht.ndivbits) + @inbounds ht.hashdata[vidx] = Hashvalue(he, divm) + + ht.load += 1 + + return vidx +end + +function find_in_hash_table(ht::MonomialHashtable{N}, e::Monomial{N}) where {N} + # generate hash + he = Base.hash(e) + + # find new elem position in the table + hidx = he + # power of twoooo + @assert ispow2(ht.size) + mod = MonHash(ht.size - 1) + i = MonHash(1) + hsize = MonHash(ht.size) + + @inbounds while i < hsize + hidx = nexthashindex(he, i, mod) + + vidx = ht.hashtable[hidx] + + # if free + iszero(vidx) && break + + # if not free and not same hash + if ishashcollision(ht, vidx, e.exps, he) + i += MonHash(1) + continue + end + + # already present in hashtable + return vidx + end + + return zero(MonIdx) +end + +#------------------------------------------------------------------------------ + +#= + Having `ht` filled with monomials from input polys, + computes ht.divmap and divmask for each of already stored monomials +=# +function fill_divmask!(ht::MonomialHashtable{N}) where N + + min_exp = Vector{UInt64}(undef, N) + max_exp = Vector{UInt64}(undef, N) + + e = first(ht.exponents).exps + + @inbounds for i in 1:N + min_exp[i] = e[i] + max_exp[i] = e[i] + end + + @inbounds for i in 1:ht.load + e = ht.exponents[i].exps + for j in 1:N + if e[j] > max_exp[j] + max_exp[j] = e[j] + continue + end + if e[j] < min_exp[j] + min_exp[j] = e[j] + end + end + end + + ctr = 1 + steps = UInt32(0) + @inbounds for i in 1:N + steps = div(max_exp[i] - min_exp[i], UInt32(ht.ndivbits)) + (iszero(steps)) && (steps += UInt32(1)) + for j in 1:ht.ndivbits + ht.divmap[ctr] = steps + steps += UInt32(1) + ctr += 1 + end + end + @inbounds for vidx in 1:ht.load + m = ht.exponents[vidx] + divm = divmask(m, ht.divmap, ht.ndivbits) + hsh = Base.hash(m) + ht.hashdata[vidx] = Hashvalue(hsh, divm) + end + + nothing +end + +#------------------------------------------------------------------------------ + +# add monomials from `poly` multiplied by exponent vector `etmp` +# with hash `htmp` to hashtable `symbol_ht`, +# and substitute hashes in row +function insert_multiplied_poly_in_hash_table!(row::Vector{MonIdx}, + htmp::MonHash, + etmp::Monomial{N}, + poly::Vector{MonIdx}, + ht::MonomialHashtable{N}, + symbol_ht::MonomialHashtable{N}) where N + + # length of poly to add + len = length(poly) + + mod = MonHash(symbol_ht.size - 1) + + bexps = ht.exponents + bdata = ht.hashdata + + sexps = symbol_ht.exponents + sdata = symbol_ht.hashdata + + l = 1 # hardcoding 1 does not seem nice =( + @label Letsgo + @inbounds while l <= len + # we iterate over all monoms of the given poly, + # multiplying them by htmp/etmp, + # and inserting into symbolic hashtable + + # hash is linear, so that + # hash(e1 + e2) = hash(e1) + hash(e2) + h = htmp + bdata[poly[l]].hash + + e = bexps[poly[l]] + + lastidx = symbol_ht.load + 1 + mul!(symbol_ht.buffer, etmp, e) + + # insert into hashtable + k = h + + i = MonHash(1) + ssize = MonHash(symbol_ht.size) + @inbounds while i <= ssize + k = nexthashindex(h, i, mod) + vidx = symbol_ht.hashtable[k] + + # if index is free + iszero(vidx) && break + + if ishashcollision(symbol_ht, vidx, symbol_ht.buffer, h) + i += MonHash(1) + continue + end + + # hit + row[l] = vidx + l += 1 + + @goto Letsgo + end + # miss + + # add multiplied exponent to hash table + sexps[lastidx] = Monomial(etmp.deg + e.deg, + SVector(copy(symbol_ht.buffer))) + symbol_ht.hashtable[k] = lastidx + + divm = divmask(sexps[lastidx], symbol_ht.divmap, symbol_ht.ndivbits) + sdata[lastidx] = Hashvalue(h, divm) + + row[l] = lastidx + l += 1 + symbol_ht.load += 1 + end + + row +end + +function multiplied_poly_to_matrix_row!( + symbolic_ht::MonomialHashtable{N}, basis_ht::MonomialHashtable{N}, + htmp::MonHash, etmp::Monomial{N}, poly::Vector{MonIdx}) where {N} + + row = similar(poly) + check_enlarge_hashtable!(symbolic_ht, length(poly)) + + insert_multiplied_poly_in_hash_table!(row, htmp, etmp, poly, basis_ht, symbolic_ht) +end + +#------------------------------------------------------------------------------ +function insert_in_basis_hash_table_pivots!( + row::Vector{MonIdx}, + ht::MonomialHashtable{N}, + symbol_ht::MonomialHashtable{N}) where {N} + + check_enlarge_hashtable!(ht, length(row)) + + sdata = symbol_ht.hashdata + sexps = symbol_ht.exponents + + mod = MonHash(ht.size - 1) + bdata = ht.hashdata + bexps = ht.exponents + bhash = ht.hashtable + + l = 1 + @label Letsgo + @inbounds while l <= length(row) + hidx = row[l] + + # symbolic hash + h = sdata[hidx].hash + + lastidx = ht.load + 1 + bexps[lastidx] = sexps[hidx] + e = bexps[lastidx] + + k = h + i = MonHash(1) + @inbounds while i <= ht.size + k = nexthashindex(h, i, mod) + hm = bhash[k] + + iszero(hm) && break + + if ishashcollision(ht, hm, e.exps, h) + i += MonHash(1) + continue + end + + row[l] = hm + l += 1 + @goto Letsgo + end + + bhash[k] = pos = lastidx + row[l] = pos + l += 1 + + bdata[pos] = Hashvalue(h, sdata[hidx].divmask) + + ht.load += 1 + end + + nothing +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/linear_algebra.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/linear_algebra.jl new file mode 100644 index 0000000..1178901 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/linear_algebra.jl @@ -0,0 +1,156 @@ +function echelonize!(matrix::MacaulayMatrix, + char::Val{Char}, + shift::Val{Shift}) where {Char, Shift} + + arit_ops = 0 + + col2hash = matrix.col2hash + buffer = zeros(Cbuf, matrix.ncols) + hash2col = Vector{MonIdx}(undef, matrix.ncols) + rev_sigorder = Vector{Int}(undef, matrix.nrows) + pivots = matrix.pivots + + @inbounds for i in 1:matrix.nrows + rev_sigorder[matrix.sig_order[i]] = i + row_ind = matrix.sig_order[i] + end + + @inbounds for i in 1:matrix.ncols + hash2col[col2hash[i]] = MonIdx(i) + end + + @inbounds for i in 1:matrix.nrows + row_ind = matrix.sig_order[i] + + row_cols = matrix.rows[row_ind] + l_col_idx = hash2col[first(row_cols)] + pivots[l_col_idx] == row_ind && continue + + # check if the row can be reduced + does_red = false + for (j, m_idx) in enumerate(row_cols) + colidx = hash2col[m_idx] + pividx = pivots[colidx] + does_red = !iszero(pividx) && rev_sigorder[pividx] < i + does_red && break + end + if !does_red + pivots[l_col_idx] = row_ind + continue + end + + # buffer the row + row_coeffs = matrix.coeffs[row_ind] + @inbounds for (k, j) in enumerate(row_cols) + col_idx = hash2col[j] + buffer[col_idx] = row_coeffs[k] + end + + # do the reduction + @inbounds for j in 1:matrix.ncols + a = buffer[j] % Char + iszero(a) && continue + pividx = pivots[j] + if iszero(pividx) || rev_sigorder[pividx] >= i + continue + end + + # subtract m*rows[pivots[j]] from buffer + pivmons = matrix.rows[pividx] + pivcoeffs = matrix.coeffs[pividx] + + arit_ops_new = critical_loop!(buffer, j, a, hash2col, pivmons, + pivcoeffs, shift) + arit_ops += arit_ops_new + end + + new_row_length = 0 + @inbounds for j in 1:matrix.ncols + iszero(buffer[j]) && continue + buffer[j] = buffer[j] % Char + iszero(buffer[j]) && continue + new_row_length += 1 + end + + # write out matrix row again + j = 1 + inver = one(Coeff) + new_row = Vector{MonIdx}(undef, new_row_length) + new_coeffs = Vector{Coeff}(undef, new_row_length) + @inbounds for k in 1:matrix.ncols + iszero(buffer[k]) && continue + if isone(j) + pivots[k] = row_ind + inver = inv(Coeff(buffer[k]), char) + end + new_row[j] = col2hash[k] + new_coeffs[j] = isone(j) ? one(Coeff) : mul(inver, buffer[k], char) + buffer[k] = zero(Cbuf) + j += 1 + end + + # check if row lead reduced, TODO: dont know if this is reliable + s = matrix.sigs[row_ind] + m = monomial(s) + @inbounds if isempty(new_row) || (matrix.rows[row_ind][1] != new_row[1] && any(!iszero, m.exps)) + matrix.toadd[matrix.toadd_length+1] = row_ind + matrix.toadd_length += 1 + end + + matrix.rows[row_ind] = new_row + matrix.coeffs[row_ind] = new_coeffs + end + if !iszero(arit_ops) + @info "$(arit_ops) submul's" + end +end + +# subtract mult +# TODO: for module tracking we won't be able to assume that mult = buffer[bufind] +@inline function critical_loop!(buffer::Vector{Cbuf}, + bufind::Int, + mult::Cbuf, + hash2col::Vector{MonIdx}, + pivmons::Vector{MonIdx}, + pivcoeffs::Vector{Coeff}, + shift::Val{Shift}) where Shift + + @inbounds buffer[bufind] = zero(Cbuf) + l = length(pivmons) + @turbo warn_check_args=false for k in 2:l + c = pivcoeffs[k] + m_idx = pivmons[k] + colidx = hash2col[m_idx] + buffer[colidx] = submul(buffer[colidx], mult, c, shift) + end + return l-1 +end + +# helper functions +# field arithmetic +function maxshift(::Val{Char}) where Char + bufchar = Cbuf(Char) + return bufchar << leading_zeros(bufchar) +end + +# compute a representation of a - b*c mod char (char ~ Shift) +@inline function submul(a::Cbuf, b::Cbuf, c::Coeff, ::Val{Shift}) where Shift + r0 = a - b*Cbuf(c) + r1 = r0 + Shift + r0 > a ? r1 : r0 +end + +@inline function inv(a::Coeff, ::Val{Char}) where Char + return invmod(Cbuf(a), Cbuf(Char)) % Coeff +end + +@inline function mul(a, b, ::Val{Char}) where Char + return Coeff((Cbuf(a) * Cbuf(b)) % Char) +end + +# for debug helping + +function is_triangular(matrix::MacaulayMatrix) + lms = [first(row) for row in matrix.rows[1:matrix.nrows] if !isempty(row)] + return length(lms) == length(unique(lms)) +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/monomials.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/monomials.jl new file mode 100644 index 0000000..d2aab7d --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/monomials.jl @@ -0,0 +1,127 @@ +#-- Monomial arithmetic --# + +function mul(a::Monomial, b::Monomial) + return Monomial(a.deg + b.deg, a.exps + b.exps) +end + +function mul!(buf::MVector{N, Exp}, a::Monomial{N}, b::Monomial{N}) where N + @inbounds for i in 1:N + buf[i] = a.exps[i] + b.exps[i] + end +end + +function divide(a::Monomial, b::Monomial) + return Monomial(a.deg - b.deg, a.exps - b.exps) +end + +# lcm(a, b) / a +function lcm_div(a::Monomial{N}, b::Monomial{N}) where N + e1 = a.exps + e2 = b.exps + @inbounds exps = SVector{N, Exp}([e1[i] >= e2[i] ? zero(Exp) : e2[i] - e1[i] for i in 1:N]) + return Monomial(sum(exps), exps) +end + +# false if the monomial corresponding to a does not divide +# the monomial corresponding to b +@inline function divch(a::DivMask, b::DivMask) + return iszero(a & (~b)) +end + +@inline function divch(a::Monomial{N}, b::Monomial{N}) where N + if a.deg <= b.deg + @inbounds for i in 1:N + a.exps[i] > b.exps[i] && return false + end + return true + end + return false +end + +@inline function divch(a::Monomial, b::Monomial, + am::DivMask, bm::DivMask) + + return divch(am, bm) && divch(a, b) +end + +# TODO: unroll this loop +@inline function divch!(buf::MVector{N, Exp}, + a::Monomial{N}, + b::Monomial{N}) where N + + @inbounds for i in 1:N + buf[i] = a.exps[i] - b.exps[i] + if buf[i] < 0 + return false + end + end + return true +end + +#-- Monomial Orders --# + +# DRL comparison +@generated function lt_drl(a::Monomial{N}, b::Monomial{N}) where N + quote + a.deg < b.deg && return true + a.deg > b.deg && return false + + ae = a.exps + be = b.exps + $([:(ae[$i] < be[$i] && return false ; ae[$i] > be[$i] && return true) for i in N:-1:1]...) + + return false + end +end + +function lt_pot(a::Sig, b::Sig) + if index(a) == index(b) + return lt_drl(a[2], b[2]) + else + return index(a) < index(b) + end +end + +#---------------------# + +#-- Masking and hashing --# + +# from groebner.jl +# TODO: make this generated? +function divmask(e::Monomial{N}, + divmap, + ndivbits) where N + + ctr = one(DivMask) + res = zero(DivMask) + o = one(DivMask) + for i in N:-1:1 + for j in 1:ndivbits + @inbounds if e.exps[i] >= divmap[ctr] + res |= o << (ctr - 1) + end + ctr += o + end + end + + res +end + +@generated function makehash(::Val{N}, m) where {N} + rng = MersenneTwister(18121987) + hash = :( $(UInt64(0)) ) + for i in 1:N + hash = :($hash + $(rand(rng, MonHash))*(m[$i])) + end + return :($hash % MonHash) +end + +Base.hash(a::Monomial{N}) where N = makehash(Val(N), a.exps) + +#-------------------------# + +# for readibility +index(a::Sig) = a[1] +monomial(a::Sig) = a[2] +index(a::MaskSig) = a[1] +mask(a::MaskSig) = a[2] diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/siggb.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/siggb.jl new file mode 100644 index 0000000..b598352 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/siggb.jl @@ -0,0 +1,256 @@ +# sizes for initialization +const init_ht_size = 2^17 +const init_basis_size = 10000 +const init_syz_size = 1000 +const init_pair_size = 10000 +# default sorting alg +const def_sort_alg = Base.Sort.DEFAULT_UNSTABLE +include("typedefs.jl") +include("monomials.jl") +include("hashtable.jl") +include("update.jl") +include("symbolic_pp.jl") +include("linear_algebra.jl") + +@doc Markdown.doc""" + sig_groebner_basis(sys::Vector{T}; info_level::Int = 0, degbound::Int = 0) where {T <: MPolyRingElem} + +Compute a Signature Gröbner basis of the sequence `sys` w.r.t. to the +degree reverse lexicographical monomial ordering and the degree +position-over-term ordering induced by `sys`. The output is a vector +of `Tuple{Tuple{Int64, T}, T}` where the first element indicates the +signature and the second the underlying polynomial. + +**Note**: At the moment only ground fields of characteristic `p`, `p` prime, `p < 2^{31}` are supported. +**Note**: The input generators must be homogeneous. +**Note**: The algorithms behaviour may depend heavily on how the elements in `sys` are sorted. + +# Arguments +- `sys::Vector{T} where T <: MpolyElem`: input generators. +- `info_level::Int=0`: info level printout: off (`0`, default), computational details (`1`) +- `degbound::Int=0`: degree bound for Gröbner basis computation, compute a full Gröbner basis if `0` (default) or only up to degree `d`. + +# Example +```jldoctest +julia> using AlgebraicSolving + +julia> R, vars = polynomial_ring(GF(17), ["x$i" for i in 1:4]) +(Multivariate polynomial ring in 4 variables over GF(17), FqMPolyRingElem[x1, x2, x3, x4]) + +julia> F = AlgebraicSolving.cyclic(R) +FqMPolyRingElem[x1 + x2 + x3 + x4, x1*x2 + x1*x4 + x2*x3 + x3*x4, x1*x2*x3 + x1*x2*x4 + x1*x3*x4 + x2*x3*x4, x1*x2*x3*x4 + 16] + +julia> Fhom = AlgebraicSolving._homogenize(F.gens) +4-element Vector{FqMPolyRingElem}: + x1 + x2 + x3 + x4 + x1*x2 + x2*x3 + x1*x4 + x3*x4 + x1*x2*x3 + x1*x2*x4 + x1*x3*x4 + x2*x3*x4 + x1*x2*x3*x4 + 16*x5^4 + +julia> sig_groebner_basis(Fhom) +7-element Vector{Tuple{Tuple{Int64, FqMPolyRingElem}, FqMPolyRingElem}}: + ((1, 1), x1 + x2 + x3 + x4) + ((2, 1), x2^2 + 2*x2*x4 + x4^2) + ((3, 1), x2*x3^2 + x3^2*x4 + 16*x2*x4^2 + 16*x4^3) + ((4, 1), x2*x3*x4^2 + x3^2*x4^2 + 16*x2*x4^3 + x3*x4^3 + 16*x4^4 + 16*x5^4) + ((4, x3), x3^3*x4^2 + x3^2*x4^3 + 16*x3*x5^4 + 16*x4*x5^4) + ((4, x2), x2*x4^4 + x4^5 + 16*x2*x5^4 + 16*x4*x5^4) + ((4, x2*x3), x3^2*x4^4 + x2*x3*x5^4 + 16*x2*x4*x5^4 + x3*x4*x5^4 + 15*x4^2*x5^4) +``` +""" +function sig_groebner_basis(sys::Vector{T}; info_level::Int=0, degbound::Int=0) where {T <: MPolyRingElem} + R = parent(first(sys)) + Rchar = characteristic(R) + + # check if input is ok + if Rchar > 2^31 || iszero(Rchar) + error("At the moment we only support finite fields up to prime characteristic < 2^31.") + end + sysl = length(sys) + degs = Vector{Exp}(undef, sysl) + @inbounds for (i, f) in enumerate(sys) + deg = total_degree(f) + if deg > typemax(Exp) + error("input degrees too large.") + end + degs[i] = Exp(deg) + for m in exponent_vectors(f) + if sum(m) != deg + error("input system must be homogeneous.") + end + end + end + + # constants for fast arithmetic + char = Val(Coeff(Rchar.d)) + shift = Val(maxshift(char)) + + # convert to and initialize our data structures + nv = nvars(R) + basis_ht = initialize_basis_hash_table(Val(nv)) + + # initialize basis + sigs = Vector{Sig{nv}}(undef, init_basis_size) + sigmasks = Vector{MaskSig}(undef, init_basis_size) + sigratios = Vector{Monomial{nv}}(undef, init_basis_size) + rewrite_nodes = Vector{Vector{Int}}(undef, init_basis_size+1) + lm_masks = Vector{DivMask}(undef, init_basis_size) + monomials = Vector{Vector{MonIdx}}(undef, init_basis_size) + coeffs = Vector{Vector{Coeff}}(undef, init_basis_size) + is_red = Vector{Bool}(undef, init_basis_size) + syz_sigs = Vector{Monomial{nv}}(undef, init_syz_size) + syz_masks = Vector{MaskSig}(undef, init_syz_size) + basis = Basis(sigs, sigmasks, sigratios, rewrite_nodes, + lm_masks, monomials, coeffs, is_red, + syz_sigs, syz_masks, degs, sysl, + init_basis_size, sysl + 1, 0, init_syz_size) + + # root node + basis.rewrite_nodes[1] = vcat([length(sys)-1, -1], + collect(2:length(sys)+1)) + + # initialize pairset + pairset = Pairset{nv}(Vector{SPair{nv}}(undef, init_pair_size), + sysl, + init_pair_size) + + one_mon = monomial(SVector{nv}(zeros(Exp, nv))) + zero_sig = (zero(SigIndex), one_mon) + # store initial pols in basis and pairset + @inbounds for i in 1:sysl + f = sys[i] + lf = length(f) + + # gather up monomials and coeffs + exps = collect(exponent_vectors(f)) + cfs = collect(coefficients(f)) + mons = Vector{MonIdx}(undef, lf) + coeffs = Vector{Coeff}(undef, lf) + inver = one(Coeff) + @inbounds for j in 1:lf + m = monomial(SVector{nv}((Exp).(exps[j]))) + eidx = insert_in_hash_table!(basis_ht, m) + if isone(j) + inver = inv(Coeff(lift(ZZ, cfs[1])), char) + end + cf = isone(j) ? one(Coeff) : mul(inver, Coeff(lift(ZZ, cfs[j])), char) + mons[j] = eidx + coeffs[j] = cf + end + s = sortperm(mons, by = eidx -> basis_ht.exponents[eidx], + lt = lt_drl, rev = true) + @inbounds mons = mons[s] + @inbounds coeffs = coeffs[s] + + # signatures + sig = (SigIndex(i), one_mon) + lm_exps = SVector{nv}((Exp).(exps[1])) + sigr = monomial(lm_exps) + + # store stuff in basis + basis.sigs[i] = sig + basis.sigratios[i] = sigr + basis.rewrite_nodes[i+1] = [-1, 1] + basis.monomials[i] = mons + basis.coefficients[i] = coeffs + basis.is_red[i] = false + + # add unitvector as pair + pairset.elems[i] = SPair{nv}(sig, zero_sig, zero(DivMask), + zero(DivMask), i, 0, degs[i]) + end + + # compute divmasks + fill_divmask!(basis_ht) + dm_one_mon = divmask(one_mon, basis_ht.divmap, basis_ht.ndivbits) + @inbounds for i in 1:sysl + basis.sigmasks[i] = (SigIndex(i), dm_one_mon) + pairset.elems[i].top_sig_mask = basis.sigmasks[i][2] + basis.lm_masks[i] = basis_ht.hashdata[basis.monomials[i][1]].divmask + end + + logger = ConsoleLogger(stdout, info_level == 0 ? Warn : Info) + with_logger(logger) do + siggb!(basis, pairset, basis_ht, char, shift, degbound = degbound) + end + + # output + eltp = typeof(first(sys)) + outp = Tuple{Tuple{Int, eltp}, eltp}[] + @inbounds for i in basis.basis_offset:basis.basis_load + exps = [basis_ht.exponents[m].exps for m in basis.monomials[i]] + ctx = MPolyBuildCtx(R) + for (e, c) in zip(exps, basis.coefficients[i]) + push_term!(ctx, coefficient_ring(R)(c), Vector{Int}(e)) + end + pol = finish(ctx) + + s = basis.sigs[i] + ctx = MPolyBuildCtx(R) + push_term!(ctx, one(coefficient_ring(R)), Vector{Int}(monomial(s).exps)) + sig = (Int(index(s)), finish(ctx)) + + push!(outp, (sig, pol)) + end + return outp +end + +function siggb!(basis::Basis{N}, + pairset::Pairset, + basis_ht::MonomialHashtable, + char::Val{Char}, + shift::Val{Shift}; + degbound = 0) where {N, Char, Shift} + + while !iszero(pairset.load) + if !iszero(degbound) && first(pairset.elems).deg > degbound + break + end + matrix = initialize_matrix(Val(N)) + symbol_ht = initialize_secondary_hash_table(basis_ht) + + select_normal!(pairset, basis, matrix, basis_ht, symbol_ht) + symbolic_pp!(basis, matrix, basis_ht, symbol_ht) + finalize_matrix!(matrix, symbol_ht) + echelonize!(matrix, char, shift) + + update_basis!(basis, matrix, pairset, symbol_ht, basis_ht) + end +end + + +# miscallaneous helper functions +function sort_pairset_by_degree!(pairset::Pairset, from::Int, sz::Int) + ordr = Base.Sort.ord(isless, p -> p.deg, false, Base.Sort.Forward) + sort!(pairset.elems, from, from+sz, def_sort_alg, ordr) +end + +# homogenize w.r.t. the last variable +function _homogenize(F::Vector{P}) where {P <: MPolyRingElem} + R = parent(first(F)) + S, vars = polynomial_ring(base_ring(R), ["x$i" for i in 1:nvars(R)+1], + ordering = :degrevlex) + res = typeof(first(F))[] + for f in F + ctx = MPolyBuildCtx(S) + d = total_degree(f) + for (e, c) in zip(exponent_vectors(f), coefficients(f)) + enew = push!(e, d - sum(e)) + push_term!(ctx, c, e) + end + push!(res, finish(ctx)) + end + return res +end + +# test against msolve +function _is_gb(gb::Vector{Tuple{Tuple{Int, P}, P}}) where {P <: MPolyRingElem} + gb_pols = [p[2] for p in gb] + gb_msolve = groebner_basis(Ideal(gb_pols), complete_reduction = true) + + lms_gb = (Nemo.leading_monomial).(gb_pols) + lms_msolve = (Nemo.leading_monomial).(gb_msolve) + res1 = all(u -> any(v -> divides(u, v)[1], lms_gb), lms_msolve) + res2 = all(u -> any(v -> divides(u, v)[1], lms_msolve), lms_gb) + return res1 && res2 +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/symbolic_pp.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/symbolic_pp.jl new file mode 100644 index 0000000..d3380da --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/symbolic_pp.jl @@ -0,0 +1,368 @@ +function select_normal!(pairset::Pairset{N}, + basis::Basis{N}, + matrix::MacaulayMatrix, + ht::MonomialHashtable, + symbol_ht::MonomialHashtable) where N + + # sort pairset + sort_pairset_by_degree!(pairset, 1, pairset.load-1) + + # number of selected pairs + npairs = 0 + deg = zero(Exp) + for i in 1:pairset.load + if iszero(deg) + deg = pairset.elems[i].deg + npairs += 1 + continue + end + if pairset.elems[i].deg == deg + npairs += 1 + else + break + end + end + + @info "selected $(npairs) pairs, degree $(deg)" + added_to_matrix = 0 + + # allocate matrix + reinitialize_matrix!(matrix, npairs) + skip = falses(npairs) + + @inbounds for i in 1:npairs + if skip[i] + continue + end + + pair = pairset.elems[i] + # for each unique pair signature + curr_top_sig = pair.top_sig + rewr_ind = find_canonical_rewriter(basis, pair.top_sig, + pair.top_sig_mask) + + pair_with_rewr_ind = 0 + for j in i:npairs + pair2 = pairset.elems[j] + if pair2.top_sig == curr_top_sig + skip[j] = true + if pair2.top_index == rewr_ind + pair_with_rewr_ind = j + end + end + end + + if !iszero(pair_with_rewr_ind) + + # take pair with non-rewr top signature + pair = pairset.elems[pair_with_rewr_ind] + + # add if pair is a unit vector + add_cond = iszero(pair.bot_index) + + # check if we have a pivot already + if !add_cond + mult = divide(monomial(curr_top_sig), + monomial(basis.sigs[rewr_ind])) + lm = mul(mult, leading_monomial(basis, ht, rewr_ind)) + l_idx = find_in_hash_table(symbol_ht, lm) + if !iszero(l_idx) + if !iszero(matrix.pivots[l_idx]) + add_cond = matrix.sigs[matrix.pivots[l_idx]] != curr_top_sig + end + end + end + + # check if there is a non-rewriteable reducer + if !add_cond + mult = divide(monomial(curr_top_sig), + monomial(basis.sigs[rewr_ind])) + lm = mul(mult, leading_monomial(basis, ht, rewr_ind)) + red_sig_mon = similar(symbol_ht.buffer) + @inbounds for j in 1:N + red_sig_mon[j] = zero(Exp) + end + reducer_sig = (zero(SigIndex), monomial(red_sig_mon)) + reducer_ind = zero(SigIndex) + + @inbounds for j in 1:npairs + pair2 = pairset.elems[j] + pair2.bot_sig == curr_top_sig && continue + if iszero(reducer_ind) || lt_pot(pair2.bot_sig, reducer_sig) + !lt_pot(pair2.bot_sig, curr_top_sig) && continue + new_red = false + if !iszero(pair2.bot_index) + rewriteable_basis(basis, pair2.bot_index, + pair2.bot_sig, + pair2.bot_sig_mask) && continue + ind = pair2.bot_index + mult = divide(monomial(pair2.bot_sig), + monomial(basis.sigs[ind])) + lm2 = mul(mult, leading_monomial(basis, ht, ind)) + new_red = lm2 == lm + end + if new_red + reducer_sig = pair2.bot_sig + reducer_ind = pair2.bot_index + end + end + end + + add_cond = !iszero(reducer_ind) + if add_cond + mult = divide(monomial(reducer_sig), + monomial(basis.sigs[reducer_ind])) + lead_idx = write_to_matrix_row!(matrix, basis, + reducer_ind, + symbol_ht, ht, mult, + reducer_sig) + # set pivot + resize_pivots!(matrix, symbol_ht) + matrix.pivots[lead_idx] = matrix.nrows + end + end + + # add row to matrix if any of the add conds is true + if add_cond + mult = divide(monomial(curr_top_sig), + monomial(basis.sigs[rewr_ind])) + l_idx = write_to_matrix_row!(matrix, basis, rewr_ind, + symbol_ht, ht, mult, + curr_top_sig) + added_to_matrix += 1 + if iszero(pair.bot_index) + matrix.toadd[matrix.toadd_length+1] = matrix.nrows + matrix.toadd_length += 1 + end + end + end + end + + if !iszero(added_to_matrix) + @info "$(added_to_matrix) non-rewriteable critical signatures added to matrix" + end + + # remove selected pairs from pairset + @inbounds for i in 1:(pairset.load-npairs) + pairset.elems[i] = pairset.elems[i+npairs] + end + pairset.load -= npairs + resize_pivots!(matrix, symbol_ht) +end + +function symbolic_pp!(basis::Basis{N}, + matrix::MacaulayMatrix, + ht::MonomialHashtable, + symbol_ht::MonomialHashtable) where N + + i = one(MonIdx) + mult = similar(ht.buffer) + mult2 = similar(ht.buffer) + red_sig_mon = similar(ht.buffer) + + # iterate over monomials in symbolic ht + @inbounds while i <= symbol_ht.load + found_reducer = false + # skip if reducer already exists + if !iszero(matrix.pivots[i]) + # exp = symbol_ht.exponents[i] + # println("mon: $(exp.exps)") + # println("reducer exists") + i += one(MonIdx) + continue + end + + red_ind = 0 + @inbounds for j in 1:N + red_sig_mon[j] = zero(Exp) + end + mul_red_sig = (zero(SigIndex), monomial(red_sig_mon)) + + # realloc matrix if necessary + if matrix.size == matrix.nrows + matrix.size *= 2 + resize!(matrix.rows, matrix.size) + resize!(matrix.sigs, matrix.size) + resize!(matrix.parent_inds, matrix.size) + resize!(matrix.coeffs, matrix.size) + resize!(matrix.toadd, matrix.size) + end + + exp = symbol_ht.exponents[i] + divm = symbol_ht.hashdata[i].divmask + + j = basis.basis_offset + @label target + # find element in basis which divmask divides divmask of monomial + @inbounds while j <= basis.basis_load && !divch(basis.lm_masks[j], divm) + j += 1 + end + + if j <= basis.basis_load + @inbounds red_exp = leading_monomial(basis, ht, j) + + # actual divisibility check + if !(divch!(mult2, exp, red_exp)) + j += 1 + @goto target + end + # found_reducer = true + + # check if new reducer sig is smaller than possible previous + if !iszero(red_ind) && lt_pot(mul_red_sig, mul_cand_sig) + j += 1 + @goto target + end + + # check if reducer is rewriteable + cand_sig = basis.sigs[j] + mul_cand_sig = (index(cand_sig), + mul(monomial(mult2), monomial(cand_sig))) + cand_sig_mask = divmask(monomial(mul_cand_sig), ht.divmap, + ht.ndivbits) + if rewriteable(basis, ht, j, mul_cand_sig, cand_sig_mask) + j += 1 + @goto target + end + + # set reducer + red_ind = j + mul_red_sig = mul_cand_sig + j += 1 + @inbounds for k in 1:N + mult[k] = mult2[k] + end + @goto target + end + + # write to matrix + if !iszero(red_ind) + mm = monomial(SVector(mult)) + @inbounds lead_idx = write_to_matrix_row!(matrix, basis, + red_ind, symbol_ht, + ht, mm, + mul_red_sig) + resize_pivots!(matrix, symbol_ht) + matrix.pivots[lead_idx] = matrix.nrows + end + i += one(MonIdx) + end +end + +function finalize_matrix!(matrix::MacaulayMatrix, + symbol_ht::MonomialHashtable) + + # store indices into hashtable in a sorted way + ncols = symbol_ht.load + matrix.ncols = ncols + + col2hash = Vector{ColIdx}(undef, ncols) + @inbounds for i in 1:ncols + col2hash[i] = i + end + exps = symbol_ht.exponents + function cmp(h1, h2) + @inbounds e1 = exps[h1] + @inbounds e2 = exps[h2] + return !lt_drl(e1, e2) + end + sort!(col2hash, lt = cmp) + matrix.col2hash = col2hash + nc = matrix.ncols + @inbounds matrix.pivots[1:nc] = matrix.pivots[1:nc][col2hash] + + if !iszero(matrix.nrows) + @info "matrix of size $((matrix.nrows, matrix.ncols)), density $(@sprintf "%.2f" 100*sum((length).(matrix.rows[1:matrix.nrows]))/(matrix.nrows * matrix.ncols))%" + end + matrix.sig_order = Vector{Int}(undef, matrix.nrows) + # sort signatures + sortperm!(matrix.sig_order, matrix.sigs[1:matrix.nrows], + lt = (sig1, sig2) -> lt_pot(sig1, sig2)) +end + +# TODO: later to optimize: mem allocations for matrix +# helper functions +function initialize_matrix(::Val{N}) where {N} + rows = Vector{Vector{MonIdx}}(undef, 0) + pivots = Vector{Int}(undef, 0) + pivot_size = 0 + sigs = Vector{Sig{N}}(undef, 0) + parent_inds = Vector{Int}(undef, 0) + sig_order = Vector{Int}(undef, 0) + col2hash = Vector{ColIdx}(undef, 0) + coeffs = Vector{Vector{Coeff}}(undef, 0) + toadd = Vector{Int}(undef, 0) + + size = 0 + nrows = 0 + ncols = 0 + toadd_length = 0 + + return MacaulayMatrix(rows, pivots, pivot_size, + sigs, parent_inds, sig_order, + col2hash, coeffs, size, nrows, + ncols, toadd, toadd_length) +end + +# Refresh and initialize matrix for `npairs` elements +function reinitialize_matrix!(matrix::MacaulayMatrix, npairs::Int) + matrix.size = 2 * npairs + matrix.pivot_size = 2 * npairs + resize!(matrix.rows, matrix.size) + resize!(matrix.pivots, matrix.pivot_size) + for i in 1:matrix.pivot_size + matrix.pivots[i] = 0 + end + resize!(matrix.sigs, matrix.size) + resize!(matrix.parent_inds, matrix.size) + resize!(matrix.coeffs, matrix.size) + resize!(matrix.toadd, matrix.size) + for i in 1:npairs + matrix.toadd[i] = 0 + end + return matrix +end + +# resize pivots array if needed +@inline function resize_pivots!(matrix::MacaulayMatrix, + symbol_ht::MonomialHashtable) + if matrix.pivot_size < symbol_ht.load + pv_size = matrix.pivot_size + new_pv_size = 2 * (symbol_ht.load) + resize!(matrix.pivots, new_pv_size) + @inbounds for j in pv_size+1:new_pv_size + matrix.pivots[j] = 0 + end + matrix.pivot_size = new_pv_size + end +end + +# helper function to write row to matrix +function write_to_matrix_row!(matrix::MacaulayMatrix, + basis::Basis, + basis_idx::Int, + symbol_ht::MonomialHashtable, + ht::MonomialHashtable, + mult::Monomial, + sig::Sig, + row_ind=matrix.nrows+1) + + hsh = Base.hash(mult) + poly = basis.monomials[basis_idx] + row = similar(basis.monomials[basis_idx]) + check_enlarge_hashtable!(symbol_ht, length(basis.monomials[basis_idx])) + + s = basis.sigs[basis_idx] + lm = mul(mult, leading_monomial(basis, ht, basis_idx)) + + @inbounds matrix.rows[row_ind] = + insert_multiplied_poly_in_hash_table!(row, hsh, mult, poly, + ht, symbol_ht) + @inbounds matrix.coeffs[row_ind] = basis.coefficients[basis_idx] + @inbounds matrix.sigs[row_ind] = sig + @inbounds matrix.parent_inds[row_ind] = basis_idx + if row_ind == matrix.nrows + 1 + matrix.nrows += 1 + end + return first(matrix.rows[row_ind]) +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/typedefs.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/typedefs.jl new file mode 100644 index 0000000..c8b064e --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/typedefs.jl @@ -0,0 +1,109 @@ +# type for signature indices +const SigIndex = UInt16 +# type for exponents in monomials +# ints because sigratios may require negative exponents +const Exp = Int16 +# types for hashvalue, ht index and divisor mask of a monomial +const MonIdx = Int32 +const MonHash = UInt32 +const DivMask = UInt32 +# stuff for matrix +const ColIdx = UInt32 +const Coeff = UInt32 +# 64 bit buffer +const Cbuf = UInt64 + +struct Monomial{N} + deg::Exp + exps::SVector{N, Exp} +end +function monomial(exps::SV) where {N, SV <: StaticArray{Tuple{N}}} + return Monomial{N}(sum(exps), exps) +end +const Sig{N} = Tuple{SigIndex, Monomial{N}} +const MaskSig = Tuple{SigIndex, DivMask} + +mutable struct Basis{N} + sigs::Vector{Sig{N}} + sigmasks::Vector{MaskSig} + + sigratios::Vector{Monomial{N}} + + # tree structure: + # - length of data for i is rewrite_nodes[i][1] + # - parent of i is rewrite_nodes[i][2] + # - children of i are rewrite_nodes[i][3:end] + # careful: indices are shifted by + 1 compared to basis indices + rewrite_nodes::Vector{Vector{Int}} + + lm_masks::Vector{DivMask} + + monomials::Vector{Vector{MonIdx}} + coefficients::Vector{Vector{Coeff}} + + is_red::Vector{Bool} + + syz_sigs::Vector{Monomial{N}} + syz_masks::Vector{MaskSig} + + # degrees of input elements + degs::Vector{Exp} + + basis_load::Int + basis_size::Int + # for storing the initial polynomials from 1 to offset-1 + basis_offset::Int + syz_load::Int + syz_size::Int +end + +# TODO: should these be stored in a more vectorized way? +mutable struct SPair{N} + top_sig::Sig{N} + bot_sig::Sig{N} + top_sig_mask::DivMask + bot_sig_mask::DivMask + # top index = 0 -> pair is redundant + top_index::Int + bot_index::Int + deg::Exp +end + +mutable struct Pairset{N} + elems::Vector{SPair{N}} + load::Int + size::Int +end + +mutable struct MacaulayMatrix{N} + + # stored as vectors of corresponding exponents (already hashed and sorted) + rows::Vector{Vector{MonIdx}} + + # pivot row index for colidx is pivots[colidx] + pivots::Vector{Int} + pivot_size::Int + + sigs::Vector{Sig{N}} + parent_inds::Vector{Int} + # sig(row[i]) < sig(row[j]) <=> sig_order[i] < sig_order[j] + sig_order::Vector{Int} + + # maps column index to corresponding hash index + col2hash::Vector{ColIdx} + + # row coefficients + coeffs::Vector{Vector{Coeff}} + + #= sizes info =# + # total number of allocated rows + size::Int + # number of filled rows, nrows <= size + nrows::Int + # number of columns + ncols::Int + + # for each i in toadd rows[i] should be added to basis/syzygies + toadd::Vector{Int} + toadd_length::Int +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/update.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/update.jl new file mode 100644 index 0000000..bdb3428 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/update.jl @@ -0,0 +1,350 @@ +# updating the pairset and basis + +# add new reduced rows to basis/syzygies +# TODO: make a new symbol ht everytime? +function update_basis!(basis::Basis, + matrix::MacaulayMatrix, + pairset::Pairset{N}, + symbol_ht::MonomialHashtable, + basis_ht::MonomialHashtable) where N + + new_basis_c = 0 + new_syz_c = 0 + + # TODO: this can be done more optimally + toadd = matrix.toadd[1:matrix.toadd_length] + # sort!(toadd, by = i -> matrix.sigs[i], lt = lt_pot) + + @inbounds for i in toadd + # determine if row is zero + row = matrix.rows[i] + new_sig = matrix.sigs[i] + new_idx = index(new_sig) + new_sig_mon = monomial(new_sig) + new_sig_mask = (new_idx, divmask(new_sig_mon, basis_ht.divmap, + basis_ht.ndivbits)) + if isempty(row) + new_syz_c += 1 + + # make sure we have enough space + if basis.syz_load == basis.syz_size + basis.syz_size *= 2 + resize!(basis.syz_sigs, basis.syz_size) + resize!(basis.syz_masks, basis.syz_size) + end + + # add new syz sig + l = basis.syz_load + 1 + basis.syz_sigs[l] = monomial(new_sig) + basis.syz_masks[l] = new_sig_mask + basis.syz_load += 1 + + # kill pairs with known syz signature + @inbounds for j in 1:pairset.load + p = pairset.elems[j] + cond = index(p.top_sig) == new_idx + if cond && divch(new_sig_mon, monomial(p.top_sig), + new_sig_mask[2], p.top_sig_mask) + pairset.elems[j].top_index = 0 + end + cond = index(p.bot_sig) == new_idx + if cond && divch(new_sig_mon, monomial(p.bot_sig), + new_sig_mask[2], p.bot_sig_mask) + pairset.elems[j].top_index = 0 + end + end + + # remove pairs that became rewriteable in previous loop + remove_red_pairs!(pairset) + else + new_basis_c += 1 + + # make sure we have enough space + if basis.basis_load == basis.basis_size + basis.basis_size *= 2 + resize!(basis.sigs, basis.basis_size) + resize!(basis.sigmasks, basis.basis_size) + resize!(basis.sigratios, basis.basis_size) + resize!(basis.rewrite_nodes, basis.basis_size) + resize!(basis.lm_masks, basis.basis_size) + resize!(basis.monomials, basis.basis_size) + resize!(basis.coefficients, basis.basis_size) + resize!(basis.is_red, basis.basis_size) + end + + # add to basis hashtable + insert_in_basis_hash_table_pivots!(row, basis_ht, symbol_ht) + lm = basis_ht.exponents[first(row)] + s = new_sig + + # add everything to basis + l = basis.basis_load + 1 + basis.sigs[l] = new_sig + basis.sigmasks[l] = new_sig_mask + new_sig_ratio = divide(lm, new_sig_mon) + basis.sigratios[l] = new_sig_ratio + + parent_ind = matrix.parent_inds[i] + tree_data = basis.rewrite_nodes[parent_ind+1] + insind = 3 + @inbounds for j in insind:insind+tree_data[1] + child_ind = tree_data[j] + rat = basis.sigratios[child_ind-1] + if lt_drl(new_sig_ratio, rat) + break + end + insind += 1 + end + insert!(tree_data, insind, l+1) + tree_data[1] += 1 + basis.rewrite_nodes[l+1] = [-1, parent_ind+1] + + basis.lm_masks[l] = divmask(lm, basis_ht.divmap, + basis_ht.ndivbits) + basis.monomials[l] = row + basis.coefficients[l] = matrix.coeffs[i] + basis.basis_load = l + + # build new pairs + update_pairset!(pairset, basis, basis_ht, l) + end + end + if new_basis_c != 0 || new_syz_c != 0 + @info "$(new_basis_c) new, $(new_syz_c) zero" + end +end + + +# construct all pairs with basis element at new_basis_idx +# and perform corresponding rewrite checks +# assumes DPOT +function update_pairset!(pairset::Pairset{N}, + basis::Basis, + basis_ht::MonomialHashtable, + new_basis_idx::Int) where N + + + new_sig_mon = monomial(basis.sigs[new_basis_idx]) + new_sig_idx = index(basis.sigs[new_basis_idx]) + + # check existing pairs for rewriteability against element + # at new_basis_idx + @inbounds bmask = basis.sigmasks[new_basis_idx] + @inbounds parent_ind = basis.rewrite_nodes[new_basis_idx+1][2] + @inbounds for i in 1:pairset.load + p = pairset.elems[i] + if p.top_index == parent_ind-1 + if divch(new_sig_mon, monomial(p.top_sig), + mask(bmask), p.top_sig_mask) + pairset.elems[i].top_index = 0 + continue + end + end + if p.bot_index == parent_ind-1 + if divch(new_sig_mon, monomial(p.bot_sig), + mask(bmask), p.bot_sig_mask) + pairset.elems[i].top_index = 0 + end + end + end + + # kill pairs that became rewriteable in the previous round + remove_red_pairs!(pairset) + + # resize pairset if needed + num_new_pairs = new_basis_idx - 1 + if pairset.load + num_new_pairs >= pairset.size + resize!(pairset.elems, max(2 * pairset.size, + pairset.load - num_new_pairs)) + pairset.size *= 2 + end + + new_sig_ratio = basis.sigratios[new_basis_idx] + new_lm = leading_monomial(basis, basis_ht, new_basis_idx) + # pair construction loop + @inbounds for i in basis.basis_offset:(new_basis_idx - 1) + basis_lm = leading_monomial(basis, basis_ht, i) + basis_sig_idx = index(basis.sigs[i]) + + mult_new_elem = lcm_div(new_lm, basis_lm) + new_pair_sig_mon = mul(mult_new_elem, new_sig_mon) + + mult_basis_elem = lcm_div(basis_lm, new_lm) + basis_pair_sig_mon = mul(mult_basis_elem, monomial(basis.sigs[i])) + + new_pair_sig = (new_sig_idx, new_pair_sig_mon) + basis_pair_sig = (basis_sig_idx, basis_pair_sig_mon) + + # check if S-pair is singular + new_pair_sig == basis_pair_sig && continue + + new_pair_sig_mask = divmask(new_pair_sig_mon, + basis_ht.divmap, + basis_ht.ndivbits) + basis_pair_sig_mask = divmask(basis_pair_sig_mon, + basis_ht.divmap, + basis_ht.ndivbits) + + # check both pair sigs against non-trivial syzygies + rewriteable_syz(basis, new_pair_sig, + new_pair_sig_mask) && continue + rewriteable_syz(basis, basis_pair_sig, + basis_pair_sig_mask) && continue + + # check both pair signatures against koszul syzygies + rewriteable_koszul(basis, basis_ht, new_pair_sig, + new_pair_sig_mask) && continue + rewriteable_koszul(basis, basis_ht, basis_pair_sig, + basis_pair_sig_mask) && continue + + top_sig, top_sig_mask, top_index, + bot_sig, bot_sig_mask, bot_index = begin + if lt_pot(basis_pair_sig, new_pair_sig) + new_pair_sig, new_pair_sig_mask, new_basis_idx, + basis_pair_sig, basis_pair_sig_mask, i + else + basis_pair_sig, basis_pair_sig_mask, i, + new_pair_sig, new_pair_sig_mask, new_basis_idx + end + end + + pair_deg = new_pair_sig_mon.deg + basis.degs[new_sig_idx] + new_pair = SPair(top_sig, bot_sig, + top_sig_mask, bot_sig_mask, + top_index, bot_index, + pair_deg) + pairset.elems[pairset.load + 1] = new_pair + pairset.load += 1 + end +end + +@inline function rewriteable_syz(basis::Basis, + sig::Sig, + sigmask::DivMask) + + ind = index(sig) + + @inbounds for i in 1:basis.syz_load + if index(basis.syz_masks[i]) == ind + is_rewr = divch(basis.syz_sigs[i], monomial(sig), + basis.syz_masks[i][2], sigmask) + is_rewr && return true + end + end + return false +end + +@inline function rewriteable_basis(basis::Basis, + idx::Int, + sig::Sig, + sigmask::DivMask) + + k = find_canonical_rewriter(basis, sig, sigmask) + return k != idx +end + +# @inline function rewriteable_basis(basis::Basis, +# idx::Int, +# sig::Sig, +# sigmask::DivMask) + +# ind = index(sig) + +# @inbounds for i in basis.basis_load:-1:basis.basis_offset +# i == idx && continue +# i_sig_idx = index(basis.sigmasks[i]) +# i_sig_idx != ind && continue +# i_sig_mask = mask(basis.sigmasks[i]) +# if divch(monomial(basis.sigs[i]), monomial(sig), +# i_sig_mask, sigmask) +# is_rewr = comp_sigratio(basis, i, idx) +# is_rewr && return true +# end +# end +# return false +# end + +function find_canonical_rewriter(basis::Basis, + sig::Sig, + sigmask::DivMask) + + node_ind = 1 + while true + @inbounds node = basis.rewrite_nodes[node_ind] + @inbounds node[1] == -1 && break + found_div = false + @inbounds for i in 3:3+node[1] + ch = node[i] + basis_sig = basis.sigs[ch - 1] + basis_sigmask = basis.sigmasks[ch - 1] + index(basis_sig) != index(sig) && continue + if divch(monomial(basis_sig), monomial(sig), + mask(basis_sigmask), sigmask) + node_ind = ch + found_div = true + break + end + end + !found_div && break + end + return node_ind - 1 +end + +@inline function rewriteable_koszul(basis::Basis, + basis_ht::MonomialHashtable, + sig::Sig, + sigmask::DivMask) + + @inbounds for i in basis.basis_offset:basis.basis_load + if index(basis.sigs[i]) < index(sig) + if divch(basis.lm_masks[i], sigmask) + if divch(leading_monomial(basis, basis_ht, i), monomial(sig)) + return true + end + end + end + end + return false +end + +function rewriteable(basis::Basis, + basis_ht::MonomialHashtable, + idx::Int, + sig::Sig, + sigmask::DivMask) + + rewriteable_syz(basis, sig, sigmask) && return true + rewriteable_basis(basis, idx, sig, sigmask) && return true + rewriteable_koszul(basis, basis_ht, sig, sigmask) && return true + return false +end + +# helper functions for readability +function leading_monomial(basis::Basis, + basis_ht::MonomialHashtable, + i) + + return basis_ht.exponents[first(basis.monomials[i])] +end + +@inline function comp_sigratio(basis::Basis, ind1::Int, ind2::Int) + + rat1 = basis.sigratios[ind1] + rat2 = basis.sigratios[ind2] + if rat1 == rat2 + return lt_drl(monomial(basis.sigs[ind1]), monomial(basis.sigs[ind2])) + end + return lt_drl(rat1, rat2) +end + +# remove pairs that are rewriteable +function remove_red_pairs!(pairset::Pairset) + iszero(pairset.load) && return + j = 0 + @inbounds for i in 1:pairset.load + iszero(pairset.elems[i].top_index) && continue + j += 1 + pairset.elems[j] = pairset.elems[i] + end + pairset.load = j +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/types.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/types.jl new file mode 100644 index 0000000..d193d6d --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/types.jl @@ -0,0 +1,51 @@ +export Ideal + +mutable struct RationalParametrization + vars::Vector{Symbol} + lf_cfs::Vector{ZZRingElem} + elim::QQPolyRingElem + denom::QQPolyRingElem + param::Vector{PolyRingElem} + + function RationalParametrization( + vars::Vector{Symbol}, + lf_cfs::Vector{ZZRingElem}, + elim::QQPolyRingElem, + denom::QQPolyRingElem, + param::Vector{PolyRingElem} + ) + rp = new() + rp.vars = vars + rp.lf_cfs = lf_cfs + rp.elim = elim + rp.denom = denom + rp.param = param + + return rp + end +end + +mutable struct Ideal{T <: MPolyRingElem} + gens::Vector{T} + dim::Int + gb::Dict{Int, Vector{T}} + inter_sols::Vector{Vector{Vector{QQFieldElem}}} + real_sols::Vector{Vector{QQFieldElem}} + rat_sols::Vector{Vector{QQFieldElem}} + rat_param::RationalParametrization + + function Ideal(F::Vector{T}) where {T <: MPolyRingElem} + I = new{T}() + I.gens = F + I.dim = -1 + I.gb = Dict() + + return I + end +end + +Base.parent(I::Ideal) = Nemo.parent(I.gens[1]) + +Base.show(io::IO, I::Ideal) = print(io, I.gens) + +Base.getindex(I::Ideal, idx::Int) = I.gens[idx] diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/groebner-bases.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/groebner-bases.jl new file mode 100644 index 0000000..f26122f --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/groebner-bases.jl @@ -0,0 +1,70 @@ +@testset "Algorithms -> Gröbner bases" begin + R, (x,y,z) = polynomial_ring(QQ,["x","y","z"], ordering=:degrevlex) + F = [x^2+1-3, x*y-z, x*z^2-3*y^2] + #= not a finite field =# + @test_throws ErrorException groebner_basis(Ideal(F)) + R, (x,y,z) = polynomial_ring(GF(101),["x","y","z"], ordering=:degrevlex) + I = Ideal([x+2*y+2*z-1, x^2+2*y^2+2*z^2-x, 2*x*y+2*y*z-y]) + G = groebner_basis(I) + H = MPolyRingElem[ + x + 2*y + 2*z + 100 + y*z + 82*z^2 + 10*y + 40*z + y^2 + 60*z^2 + 20*y + 81*z + z^3 + 28*z^2 + 64*y + 13*z + ] + @test G == H + @test I.gb[0] == H + + G = groebner_basis(I, eliminate=2) + H = MPolyRingElem[ + z^4 + 38*z^3 + 95*z^2 + 95*z + ] + @test G == H + + @test_throws ErrorException eliminate(I,0) + L = eliminate(I,2) + @test L == H + @test I.gb[2] == H + + I = Ideal([R(0)]) + G = groebner_basis(I) + @test G == [R(0)] +end + +@testset "Algorithms -> Sig Gröbner bases" begin + R, (x,y,z) = polynomial_ring(QQ,["x","y","z"], ordering=:degrevlex) + F = [x^2+1-3, x*y-z, x*z^2-3*y^2] + #= not a finite field =# + @test_throws ErrorException sig_groebner_basis(F) + R, (x,y,z) = polynomial_ring(GF(17),["x","y","z"], ordering=:degrevlex) + F = [x^2+1-3, x*y-z, x*z^2-3*y^2] + #= not homogeneous =# + @test_throws ErrorException sig_groebner_basis(F) + + #= GB test 1 =# + Fhom = AlgebraicSolving._homogenize(F) + sgb = sig_groebner_basis(Fhom) + @test AlgebraicSolving._is_gb(sgb) + + #= GB test 2 =# + R, (x,y,z,w) = polynomial_ring(GF(65521),["x","y","z","w"], ordering=:degrevlex) + F = cyclic(R).gens + Fhom = AlgebraicSolving._homogenize(F) + sgb = sig_groebner_basis(Fhom) + @test AlgebraicSolving._is_gb(sgb) + + #= GB test 3 =# + F = katsura(R).gens + Fhom = AlgebraicSolving._homogenize(F) + sgb = sig_groebner_basis(Fhom) + @test AlgebraicSolving._is_gb(sgb) + + #= GB test 4 (pivot setting bug) =# + R, (x1, x2, x3, x4) = polynomial_ring(GF(65521), ["x1", "x2", "x3", "x4"], ordering=:degrevlex) + F = [11523*x1^4 + 30378*x1^3*x2 + 30154*x1^2*x2^2 + 10157*x1*x2^3 - 28136*x2^4 - 4771*x1^3*x3 - 21056*x1^2*x2*x3 + 15696*x1*x2^2*x3 - 16144*x2^3*x3 - 1553*x1^2*x3^2 - 30379*x1*x2*x3^2 - 12735*x2^2*x3^2 + 18058*x1*x3^3 + 24670*x2*x3^3 - 16379*x3^4 + 24196*x1^3*x4 - 19411*x1^2*x2*x4 + 17610*x1*x2^2*x4 - 5715*x2^3*x4 - 21186*x1^2*x3*x4 - 22865*x1*x2*x3*x4 - 1939*x2^2*x3*x4 - 5685*x1*x3^2*x4 + 8508*x2*x3^2*x4 + 21819*x3^3*x4 - 24868*x1^2*x4^2 - 18233*x1*x2*x4^2 - 14116*x2^2*x4^2 + 28291*x1*x3*x4^2 - 9068*x2*x3*x4^2 - 15138*x3^2*x4^2 + 8921*x1*x4^3 - 18808*x2*x4^3 - 3005*x3*x4^3 + 7368*x4^4, + 31703*x1^4 + 23616*x1^3*x2 + 20696*x1^2*x2^2 - 7125*x1*x2^3 + 15334*x2^4 + 26619*x1^3*x3 + 2173*x1^2*x2*x3 - 31312*x1*x2^2*x3 - 31386*x2^3*x3 - 25244*x1^2*x3^2 - 28729*x1*x2*x3^2 + 27244*x2^2*x3^2 - 24892*x1*x3^3 + 2046*x2*x3^3 + 2516*x3^4 - 18588*x1^3*x4 + 9980*x1^2*x2*x4 - 10104*x1*x2^2*x4 + 21688*x2^3*x4 - 1315*x1^2*x3*x4 - 17824*x1*x2*x3*x4 + 14919*x2^2*x3*x4 - 568*x1*x3^2*x4 - 22509*x2*x3^2*x4 + 18494*x3^3*x4 + 25947*x1^2*x4^2 - 28652*x1*x2*x4^2 - 25547*x2^2*x4^2 + 1637*x1*x3*x4^2 - 20130*x2*x3*x4^2 + 19739*x3^2*x4^2 + 3742*x1*x4^3 + 25425*x2*x4^3 + 6342*x3*x4^3 - 3004*x4^4, + 2857*x1^4 + 8898*x1^3*x2 + 16959*x1^2*x2^2 - 28026*x1*x2^3 - 25631*x2^4 + 11030*x1^3*x3 + 29101*x1^2*x2*x3 + 30359*x1*x2^2*x3 + 27330*x2^3*x3 + 19126*x1^2*x3^2 - 26603*x1*x2*x3^2 + 2510*x2^2*x3^2 + 7575*x1*x3^3 - 25033*x2*x3^3 - 21024*x3^4 + 30501*x1^3*x4 + 23834*x1^2*x2*x4 - 1858*x1*x2^2*x4 - 10862*x2^3*x4 + 30320*x1^2*x3*x4 + 19705*x1*x2*x3*x4 + 28359*x2^2*x3*x4 + 17590*x1*x3^2*x4 + 11929*x2*x3^2*x4 + 22830*x3^3*x4 + 13501*x1^2*x4^2 - 24860*x1*x2*x4^2 + 12598*x2^2*x4^2 - 9409*x1*x3*x4^2 - 2827*x2*x3*x4^2 - 8608*x3^2*x4^2 + 30938*x1*x4^3 - 12892*x2*x4^3 + 9165*x3*x4^3 - 5202*x4^4, + -23687*x1^4 + 32692*x1^3*x2 + 20539*x1^2*x2^2 - 27327*x1*x2^3 + 3928*x2^4 - 13018*x1^3*x3 - 13583*x1^2*x2*x3 - 30594*x1*x2^2*x3 - 12584*x2^3*x3 - 9819*x1^2*x3^2 + 14542*x1*x2*x3^2 + 30297*x2^2*x3^2 + 15188*x1*x3^3 + 28438*x2*x3^3 + 13512*x3^4 + 13327*x1^3*x4 + 14335*x1^2*x2*x4 - 15128*x1*x2^2*x4 - 21922*x2^3*x4 - 22104*x1^2*x3*x4 - 23535*x1*x2*x3*x4 - 4393*x2^2*x3*x4 - 20398*x1*x3^2*x4 + 14310*x2*x3^2*x4 - 4426*x3^3*x4 - 23087*x1^2*x4^2 - 21281*x1*x2*x4^2 + 13831*x2^2*x4^2 - 23378*x1*x3*x4^2 + 18852*x2*x3*x4^2 - 11968*x3^2*x4^2 - 31181*x1*x4^3 + 20091*x2*x4^3 - 14043*x3*x4^3 - 10677*x4^4] + sgb = sig_groebner_basis(F) + @test AlgebraicSolving._is_gb(sgb) +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/normal-forms.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/normal-forms.jl new file mode 100644 index 0000000..6ad4ce7 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/normal-forms.jl @@ -0,0 +1,18 @@ +@testset "Algorithms -> Normal forms" begin + R, (x,y) = polynomial_ring(GF(101),["x","y"]) + I = Ideal([y*x+17-y, x+13*y]) + f = x^4+y + @test normal_form(f, I) == 100*y+77 + F = [x+13*y, x*y-4] + @test normal_form(F, I) == [0, y + 80] + R, (x,y) = polynomial_ring(GF(536870923),["x","y"]) + I = Ideal([y*x+17-y, x+13*y]) + F = [x+13*y, x*y-4] + @test normal_form(F, I) == [0, y + 536870902] + R, (x,y) = polynomial_ring(GF(65521),["x","y"]) + I = Ideal([y*x+17-y, x+13*y]) + F = [x+13*y, x*y+16] + @test normal_form(F, I) == [0, y + 65520] + I = Ideal([R(0)]) + @test normal_form(F, I) == F +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/solvers.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/solvers.jl new file mode 100644 index 0000000..ed113e4 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/solvers.jl @@ -0,0 +1,53 @@ +@testset "Algorithms -> Solvers" begin + R, (x1,x2,x3,x4) = polynomial_ring(QQ,["x1","x2","x3","x4"], ordering=:degrevlex) + I = Ideal([x1 + 2*x2 + 2*x3 + 2*x4 - 1, + x1^2 + 2*x2^2 + 2*x3^2 + 2*x4^2 - x1, + 2*x1*x2 + 2*x2*x3 + 2*x3*x4 - x2, + x2^2 + 2*x1*x3 + 2*x2*x4 - x3]) + sols = Vector{QQFieldElem}[ + [4862548775//8589934592, 1281562925//8589934592, 2195068207//8589934592, -32714273694608759819673593948262790419337//174224571863520493293247799005065324265472], + [3779635503//8589934592, 2638476131//8589934592, 908473689//8589934592, -92633843493479102248442236077889080803361//696898287454081973172991196020261297061888], + [1, 0, 0, 0], + [6410479475//8589934592, 2005530653//8589934592, -1585770177//8589934592, 55658687714722201275489356321691134094555601//713623846352979940529142984724747568191373312], + [1611414365//8589934592, 673053615//8589934592, 632173751//8589934592, 708759148891639684402860468800417934359477//2787593149816327892691964784081045188247552], + [2863311531//8589934592, 0, 0, 14518714321960041107770649917088777022123//43556142965880123323311949751266331066368] + ] + rat_sols = Vector{QQFieldElem}[[49, 0, 0, 0], [49//3, 0, 0, 1//3]] + + @test sols == real_solutions(I) + @test rat_sols == rational_solutions(I) + @test I.real_sols == real_solutions(I) + + C, x = polynomial_ring(QQ, "x") + elim = 128304*x^8 - 93312*x^7 + 15552*x^6 + 3144*x^5 - 1120*x^4 + 36*x^3 + 15*x^2 - x + denom = 1026432*x^7 - 653184*x^6 + 93312*x^5 + 15720*x^4 - 4480*x^3 + 108*x^2 + 30*x - 1 + p1 = -3872448*x^7 + 2607552*x^6 - 408528*x^5 - 63088*x^4 + 20224*x^3 - 540*x^2 - 172*x + 7 + p2 = -303264*x^7 + 314928*x^6 - 113544*x^5 + 9840*x^4 + 3000*x^3 - 564*x^2 + 12*x + p3 = -699840*x^7 + 449712*x^6 - 74808*x^5 - 1956*x^4 + 1308*x^3 - 174*x^2 + 18*x + p1 *= -7 + p2 *= -7 + p3 *= -7 + + param = rational_parametrization(I) + + @test param.vars == [:x1, :x2, :x3, :x4] + @test param.lf_cfs == ZZRingElem[] + @test param.elim == elim + @test param.denom == denom + @test param.param[1] == p1 + @test param.param[2] == p2 + @test param.param[3] == p3 + @test I.rat_param.elim == elim + @test I.rat_param.denom == denom + @test I.rat_param.param[1] == p1 + @test I.rat_param.param[2] == p2 + @test I.rat_param.param[3] == p3 + + I = Ideal([x1^2-x2, x1*x3-x4, x2*x4-12, x4^3-x3^2]) + real_solutions(I) + @test I.rat_param.vars == Symbol[] + + I = Ideal([x1^2-x2, x1*x3, x2-12]) + @test_throws ErrorException real_solutions(I) + @test_throws ErrorException rational_solutions(I) +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/examples/katsura.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/examples/katsura.jl new file mode 100644 index 0000000..7e5127f --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/test/examples/katsura.jl @@ -0,0 +1,28 @@ +@testset "Examples -> Katsura" begin + I = katsura(3) + R, x = first(I.gens).parent, vars(first(I.gens)) + G = [x[1] + 2*x[2] + 2*x[3] + 2*x[4] - 1, + x[1]^2 + 2*x[2]^2 + 2*x[3]^2 + 2*x[4]^2 - x[1], + 2*x[1]*x[2] + 2*x[2]*x[3] + 2*x[3]*x[4] - x[2], + x[2]^2 + 2*x[1]*x[3] + 2*x[2]*x[4] - x[3]] + + @test I.gens == G + + I = katsura(4, 101) + R, x = first(I.gens).parent, vars(first(I.gens)) + G = [x[1] + 2*x[2] + 2*x[3] + 2*x[4] + 2*x[5] + 100, + x[1]^2 + 2*x[2]^2 + 2*x[3]^2 + 2*x[4]^2 + 2*x[5]^2 + 100*x[1], + 2*x[1]*x[2] + 2*x[2]*x[3] + 2*x[3]*x[4] + 2*x[4]*x[5] + 100*x[2], + x[2]^2 + 2*x[1]*x[3] + 2*x[2]*x[4] + 2*x[3]*x[5] + 100*x[3], + 2*x[2]*x[3] + 2*x[1]*x[4] + 2*x[2]*x[5] + 100*x[4]] + + @test I.gens == G + + R, (x,y,z) = polynomial_ring(QQ, ["x","y","z"]) + I = katsura(R) + G = [x + 2*y + 2*z - 1, + x^2 - x + 2*y^2 + 2*z^2, + 2*x*y + 2*y*z - y] + + @test I.gens == G +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/interfaces/nemo.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/interfaces/nemo.jl new file mode 100644 index 0000000..d3ffdcc --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/test/interfaces/nemo.jl @@ -0,0 +1,16 @@ +@testset "Interfaces -> Nemo" begin + R, (x,y,z) = polynomial_ring(QQ,["x","y","z"], ordering=:degrevlex) + F = [x^2+1-3, x*y-z, x*z^2-3*y^2] + cmp = (Int32[2, 2, 2], BigInt[1, 1, -2, 1, 1, 1, -1, 1, 1, 1, -3, 1], Int32[2, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 2, 0, 2, 0]) + @test AlgebraicSolving._convert_to_msolve(F) == cmp + for _GF in [GF, AlgebraicSolving.Nemo.Native.GF] + R, (x,y,z) = polynomial_ring(_GF(2147483659),["x","y","z"], ordering=:degrevlex) + F = [x^2+1-3, x*y-z, x*z^2-3*y^2] + # prime is bigger than 2^31, should throw an error + @test_throws ErrorException AlgebraicSolving._convert_to_msolve(F) + R, (x,y,z) = polynomial_ring(_GF(101),["x","y","z"], ordering=:degrevlex) + F = [x^2+1-3, x*y-z, x*z^2-3*y^2] + res = AlgebraicSolving._convert_to_msolve(F) + @test AlgebraicSolving._convert_finite_field_array_to_abstract_algebra(Int32(3), res..., R) == F + end +end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/runtests.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/runtests.jl new file mode 100644 index 0000000..11a1d92 --- /dev/null +++ b/src/connectcurves/AlgebraicSolving.jl-main/test/runtests.jl @@ -0,0 +1,10 @@ +using AlgebraicSolving +using Test + +@testset verbose = true "AlgebraicSolving Tests" begin +include("interfaces/nemo.jl") +include("algorithms/groebner-bases.jl") +include("algorithms/normal-forms.jl") +include("algorithms/solvers.jl") +include("examples/katsura.jl") +end diff --git a/src/connectcurves/data.jl b/src/connectcurves/data.jl new file mode 100644 index 0000000..c1533c4 --- /dev/null +++ b/src/connectcurves/data.jl @@ -0,0 +1,10 @@ +#using Nemo +R, (x,y) = Nemo.polynomial_ring(Nemo.QQ, [:x, :y]) + +f = 1594627541097114368612385*x^16 + 24126594979283487048484560*x^15*y - 648897523515553246784074808*x^14*y^2 + 9227671981881181765203810480*x^13*y^3 + 775388988595641728298874736332*x^12*y^4 + 10787151407096126900712389934720*x^11*y^5 + 77139559828286619230682855993096*x^10*y^6 + 452145503210946168432702707056320*x^9*y^7 + 1603450939087454055697523432885078*x^8*y^8 + 472422761323888641034023872620080*x^7*y^9 + 69254293553970771431091788378664*x^6*y^10 + 8171004998268972015374643672912*x^5*y^11 + 486748426688048642456485687660*x^4*y^12 - 12064621488868591078399181568*x^3*y^13 - 1468208821458887902925840024*x^2*y^14 + 12892282240123223587086528*x*y^15 + 1551343473382248651380209*y^16 - 7416582067989458752697004*x^14 - 86407846455606538783280976*x^13*y + 2644747193988832166794696620*x^12*y^2 + 4962811393512179992436546328*x^11*y^3 - 852556155710875435151137729948*x^10*y^4 - 9006223258524272797865687202672*x^9*y^5 - 37408868951040006789841449492372*x^8*y^6 - 96029136974599596104658658159536*x^7*y^7 - 25805546034923632520724584708244*x^6*y^8 - 5242437191813955076157431442064*x^5*y^9 - 409699928605220782678759186860*x^4*y^10 + 39375118017080555511082417752*x^3*y^11 + 4414478650057190403833967932*x^2*y^12 - 62266637085710610417717552*x*y^13 - 7665646840583710272384908*y^14 + 14233446085691566995553618*x^12 + 132571431253302115292123136*x^11*y - 3677320627079906075667837422*x^10*y^2 - 28335523591694036134043888352*x^9*y^3 + 186478273436442358105601202678*x^8*y^4 + 979680543110585521095162296976*x^7*y^5 - 2082167356121156563744172163572*x^6*y^6 - 30539225710419394554664076544*x^5*y^7 + 25429103844006118137220734342*x^4*y^8 - 40056866529454773916181059488*x^3*y^9 - 4741918132209313788162640030*x^2*y^10 + 120063392649421566997191792*x*y^11 + 15453863115268541628254722*y^12 - 14508062550440954802512688*x^10 - 115292786706841839957190896*x^9*y + 2178406370189758736513057100*x^8*y^2 + 17911006599365461837132806264*x^7*y^3 + 18721721306068791970712906740*x^6*y^4 + 140144222573062968441350663256*x^5*y^5 + 15151268277268342933019382004*x^4*y^6 + 14388997206020218965816744888*x^3*y^7 + 2181175955893013097832336108*x^2*y^8 - 116823607901494850142791760*x*y^9 - 16262571151436698863824960*y^10 + 8412196412628079801200763*x^8 + 60038503306269383516796672*x^7*y - 526872554079154536701276538*x^6*y^2 - 2627205980235442180204133952*x^5*y^3 + 1415955761616170935932891503*x^4*y^4 - 1207248891865676270007025776*x^3*y^5 - 411102077811099614734692666*x^2*y^6 + 59338125380312133254699856*x*y^7 + 9471776668272238878375147*y^8 - 2755131867388737857954960*x^6 - 16865677220581290594690288*x^5*y + 37152628773628751552853580*x^4*y^2 - 32454665768852564904473352*x^3*y^3 + 31405824474395795210222812*x^2*y^4 - 14499431708247069028795056*x*y^5 - 2982642484703489520084064*y^6 + 476197729395824935891282*x^4 + 1850003538678786657657456*x^3*y - 861756868723874605906006*x^2*y^2 + 1328290412641467896291664*x*y^3 + 466653249763538900703730*y^4 - 37550891878150349195068*x^2 - 32144769403583975845728*x*y - 33575411625230211328108*y^2 + 864999024811562109121 + +params = [[122052108945321231460815317670274232129992226114393994453269787251191586772999998478131397177313291168794930288045095160607171215109769903956555756352425696420971136000*x^64 - 959032695327466028896923007278462984351139470332688180556285108098088661529598320753396670253784301046095380112992662697008888935637597834208399524065939904172979990400*x^62 + 3394978440692000014057928614441958536159991996524914295852869400764921537705344371827178578116630227593461086898603789268227871843165040143533225447517362520002264974800*x^60 - 7151371831353663495035969461496662107369926971805594266199814693934146824218470195335493405697799780940541485521905675079385537261608449869138456973383228166236613263400*x^58 + 9969225814413837627444295403089186126663063577024217974344348166293461403972870910362754229719173808528360575889159764318118369001502184631485479443883015454011986682401*x^56 - 9671970836026456572298276720419947917471887665345986456817982798052297567912195266544191601002444674028621075312189430899896487514797955240881296337049837774935220682554*x^54 + 6681253172122667315238370397663913411776674477687428422442566526332877899682627142356726322165129405054337925114753161026023235352332208537631829530720089337124514136431*x^52 - 3301410220211424089271602152949473244107752962675011991847086104224995592785126226533504503253978553482754788676052797285321438414446348241998541528575215579369013124460*x^50 + 1153625866312801287615810700563023657416207647590355069763669808767031346841963349314203748595540207647317590903229427229222903703337667856594101141720943044058246069661*x^48 - 276471592632708955049516345940728535991597233768181885239869998582202243235193161503559987330426394282206550597625187581438180394843195337797005605877049995316127695732*x^46 + 42737111275022991036352608355606704897004210791721525996001628183626684128731822288746507037652796985104971734258839597661990354701818586349532900569181156658317172207*x^44 - 3742456659729901795861910080707269450979334093567063228455494047866720922141384258882510820384796174299426197864998469723296217948916294920720322245806788642212733938*x^42 + 124812901359186404102761973487936940587045208569099655070567763717545194869573966522045794363331888832044983896823256208123220099774770839702377440264548366585875579*x^40 + 2402338897585167721834533757115848973167440112325375263084520900477387202262408067511574486301847230054475590188439623088746403126201859025390930755087726059729702*x^38 - 68509937805104958231250341298198031936556840566332137015619239026451252039955810994277373605204223562430671087252591788826574761461118005709558506131791338007874*x^36 - 624602767543007223732132614350621970157553190644735452951939828727474543281390897520224663781381549515690693601166843655358728226002634853702893282072044534446*x^34 + 13841266243479813050333800913292143354226161213381471885203716731691523929640826181288978526617610615435538667085754539706451681501647162951472291089154824022*x^32 + 120202491171080915413185710414618689298315719480659390922869136636343650585376626433724584508907638709141858027047096646486866527054227623638334411322800692*x^30 - 520591115945881824376922076313706995768341899579304100913919000966844639567084555161071560271316369176537001034660519442033156769127410794732325730833980*x^28 - 3485964685779200797630002115057298589671830992286919107804731817646799770252462542189098663357180222904705862318369496603121342757549021191050978703064*x^26 + 21960953746028294720952888991143449905438039053336576582969186618106616244531983175814359264493400282340064599061237274909143339406981178759294248193*x^24 + 73849240175221567401011603553831401615608762932323920532235266189598220913324575676844395015176244479642509332983260487654003662496573180220444096*x^22 - 376824027305240350061272895486201229386360304928699585073020054777149244212956978325887719740315377634155833720619243461026923211826746813178656*x^20 - 1077064125063587403221749603783288580367506330701672842182847262625730650810368754865855958990017905698599286814095848949968486760592194466304*x^18 + 5690103572241003396861444757775613338734813344268307690846513823537481856958196599518133023344306311618066441904169231969794689720488173824*x^16 - 10193839327115713468262671581488410024134801061440399158183138926040393332773799485810782661251229174430436880799884660484369504300179456*x^14 + 10561325681560734971801564218210350941952186355064260084093107402195122950258107824859961357557778152241183977545309415213720791023616*x^12 - 46534691368958178600787555636054508288151498256013167919729116181621692838186009927608371499220570421327776499385092138476518768640*x^10 + 112909129306236789340828850326424134729652275074889648909431954832582428189211468993530209558892954944558876736171329175238475776*x^8 + 9772474340268998156394334148170923898672647267241149302597227839920236210220248425669412935053351970347661778775772607021056*x^6 + 390776074003361993581463215777520753745410226728214668964145360784605806127348743913715665385142126139767899281950769152*x^4 + 6380957595087055938360705671638193919990757753374547762909246062754723245830257862488492320528552761664667467644928*x^2 + 44165363089227334737474203421916712589754518865024815570613297228753546509038442785333463624505223591573323776, -1368192012344681727956616390340957823931846743107613968547047038247652009864975311483829249542034828304106208468177186109897213301041365960681148287255726572280062671123455824694388079483333283217240781970331426931716543118051293991498277553572332365411820058387490863713026806679839812369381791869736815833258051753079818657689188473663735699896793926825586726076994203946003790107304951806641194581090402396487134875531081498273995715986028169156333078352782190633703892700599463666606348023749773307946959921402566397859894767121288556775964925003879539648210002806249836465349252076043086720684596321974852410750553123172136472747057211856907173052944174716041758633767658222201300129004726222343872497638358078006675373294875034880386510701698872415863067469172994685406286032450056285939390183363394396051144225698201068651075526052664612170498048000*x^211 + 20179380142058508207916676906504558798143137134737375383785775280984768957208053471532768862237394630651847100572145659197442068471994105818971953412359553848047639258980711237466127568136491950657667423064913892842509690301919818696920670025070952564708223774178129499149278154432195976091432031412813159091961852467961843055813500728034432029476489683648421062036042239824120325174625410675345948653918225847005348795421961265667452471316456471485600096018962769440789188379652275394790256255475204915671865590680811547632170483878886572397449831265119313007318519552300470951426861482606989674908683994641274427306221406443238710944557095693142842073423208523723185642504384396938089647389854462953877894563956967097056216471624008594727178292891644526937795488049194012031702101543134920519559046496025779124479640348143471514640040575715655497757491200*x^209 - 140846812204452151016691118025848692169927898973143181969051710658692136932221259668905618546441757239242151077999428212483831182609823008216088165029658047299798367463373201487920470393911768114839159533053205881035460751927902626133755372345640651966430432539046240996852741300610768753781840322779407741705522532350779329418971007246078682308061681822656654909604658525806393182497824578609254302772299729689843955508739207919166899148149645823289207060495287794763248511615148259077346815932850849376295820946126850072400065715244885630085632833676075511648910846385256133485689935691317197146204240714003181684233827290675236316967376698166478206364719180894152325308444314750939144742436368818054294512700083671739054776874114553439014951187621485806623166350004806074114447270594134744315098225235018196804207279903606725177586713468659430341035950080*x^207 + 617850548425398421318490550994412217939460540687984723468014289576242682070449060819068043285475304405438913749558197717498483201417907105491686732451934915905855911450937337571031144746933783404716230218772673613244281538309678120301763376986728284030583109758161010138517896729658080267047501698234343535686387123447512060958238110850388624915201609612973600176506868374627300878286526254964950314518317793603404257630053364727696580242403252695916288093696625777167698656787467358895333116634693796398506230149054146339617098017787609275109503209616015552677386534892952097436303185510006635913167939236208266055043864322861391495033160535097978225781273881504127849425822388845706106799016439313129298646900002277785354058549932696473245566217286663191468081358586195043333302368282282369033371814491348647434642777524727346508832155743779344146499633152*x^205 - 1906904277268660277588907367475306380508917709853203330438086307195894274881939047320044190970385803689170451728248777818477176051490164384912746178498090051622387399886336627161777075070491725914893721469424127812646320503354148061244383623066356455529505809009353206943124981561360345461401407610683422039108977873390201099742921646857649882366444402035503349675090408155736825237905125719544080234354477325695007207846905557676154651022883622808739112882459284945410317399178113832847385568591410161628041444151313414817506804504021504710954301094406298651727565995165856403977331140863303751449678309128834153324913897854096493254068817409069736930100229042349482394748680429353652625810496247092823033240986060278878306618467029954924136446913155958896671905833818406879392929986635890201616295100999581329895600023937957315742277995990280583100955099136*x^203 + 4388895263021271238869700364157499030091249698709308768420159315746514157264637580056081357752889656183796191232783909814484187649385277451523840436207304954910094289060483322022814980319947629225689105538681208925689844091901240986892086346305890318009829742079914236584107746614624047736413776635001808933587162183417059565126361433070104304769065242559577010656137763408749253817542033968457178385485891323678386871061455032274862627407085695452666046706097650132207817824870679882170547225051325392104499529647309793853314243762607193324973110863130391221818206003588265818761717800327582179926611362579445237682480071680631238730658337970564375332426030496309155901721259023727344660545018148114981468385194360514089033404696705750203330765486182806577639938868750565427831125054846688526723433224519089542557258797344410713851356231208025361475872751616*x^201 - 7779990408709871826411328035393242878979344266216902241620796964195385461167214233475198032015567019040176777675921747465996511606507122671463452586146357126130597773590077126046864414741457647481550831996679517822466517571402026178151119257392945472467054870640403969742484829454775950591826347292664870324107892723448369148535386760768984001409065665063225958365306722030989208822842480356486101626284888102072860370236555948694117800582522128211809183089332310019361836213363314328893027345102297467098755433544941969489509001049557119089628993162647227189102037782135878857579741777238371480546231032649190900060696213706627303894449612931146740035984298436058278068882640619854451697231290795691290266900486035948149534338028483671980574543590670814241698663240153160983490669793741997677462612463497893902441342842682038248452635528238648104780652609536*x^199 + 10792645092954233344852809500452909002307646454397854710957062723360704446966135828890883779900731490163470787121113219739566152902509542212532857853236894788962363758182594481271389983716947212137435226372887667648099179329318043305592886109879396618125887350372349896037761729298250882419456223541333017362297490419208290025262377294450812609880041941722851414757903221487064115386676502095625710895658486806502722111384519677905985058822418516483267962980815345733578942316155411597805969407016324395750123302231471755321345317117035116055177137569548222218024851505307480617004697104581987668765828390249015778882902042077867550413254104358252782770368652434658620028921996159574679586537098779051505736959370877490624803564705738276500916586914227511646322745126546085778421148188439005706802655352150826393766912465479281218455538502083606619484288188416*x^197 - 11735531541605290203900824746319173020529364076031186084339735270566090450117601490547645862067041619941722508321381253091798886372483425608365451251886460888037478302184983164667106891584088109860067130469934965358999331429248216772331571882227527936789122153766251466319456773451983124848550841765424781648969744109945753292661595813892661171954508042739282589623873189890350820180333678160527821614152238768894502853489150931018892097261506111175776657879652899731275129780576006228908207174450535698605858444242942304993216683632190541333307223806565851051827917751227126285569392648930936343356385601451138936682607965273548313472433951330337515996772594101595084809717835399546899369399190889104722864203223267155564661108698004850973322103272439818018427865340194340188108904763303176614154966596818973980874688251271945164518842678811499845223551336448*x^195 + 9826088871789155132153027049515574899410687705267317420948478789065146905053980885204296929892594301550977604051938050024796589922529977076850662264706016958141012496544024462053182234251237696961269943766957567890921755866206643460032436290707844316008854753429436232912253376049932927700771374419187731347613892399734997390049641031391833106274923426438999754707408181091404965999420770660367846503324686974940661570151720508808780262565362955231781109576537273538014853175457641353797008278489044798004710570614628035502784056502255758893243558999789053130323161125627602122912480465932487667209606126822240820818516770888384671302090566122915365062826654924249722868621163946461419118690936015623276796734896046157232199875951119657621335155753270021608440025534041422127917649311645657733412961446817058530943616938936386846080356702239104101204096974848*x^193 - 5963045374386506218578821314737405135457730415211690292207804277869705694415727588334953385007786502842978329378875228309417168140716062921338662842464235766266039166391263221823301277782710685216032267136941681186704208704722991892218241844467425752234301813256513884248781703880990055655212347824592567779843746443501838310794773221402500767168134377442720900231501043864806001286402574666661120477141033697084455196325658060838759132730570686871777108146455398864741523002878879748869625220827864027561448979659156745436929450516413646529193616546741361416453938676662308051400088724349003685583570668905637438390934054365837614467070339517822309646279417917784670137039441889965426665332222767746402517629002667421154162578503899393434006404928194426391327163659337478362641570507993716681790081088026720807921783145245106157899389923201614593955700146176*x^191 + 2072302934866834318566600447118116070544006348431904807334308176663317289715950361170779446367591870239560127520901818576850420339003217259802501810477408205896236070526731690267017866790422663188316901313682604433385822841732293618849366603484731110898636717548029245255277653294199682429078034880532699355172376300603258345953936707452326060900695517149736388307227240426333923976104292760533644163594979346547156764491820463033441377273383629295937979192110463227890573824037587331932506353686422040472058065744173422154026698284127360254548991387271062266440436202814880933225268146357007185370524038290004992251255369654997148562642181753772065319430349041662103562793298266864400308209021862002302307718870819880548337975910352105696527840126519428949287861979493545184902345210439977577555228947985506653629848873089932123604225656264096326144707526656*x^189 + 344732936251195462398655212297515119566524517029167049776953614722870980908674934543025934921050724502914643747700763730173241502880473507223284907120674152735132327431512692560093146676426380711850213090722095278334000372705441754847241158358825498679703196476293707200305209862447949046552280939016320735010183156220850249119039545289597758330857147710010800201858392163192576442538559270250348632579910645197094611962184879536730826309974228348455207314397915532073482687347394315703282978817989388546487057169521932892694585578876001928343939639410770780577385745094917566681033012734447777308218398644670535191439537029202719560427335151186615320528370769498350326210896135778155931831587223246790074991005033096238721591980424874034448345910854656782945120654824810589637971535634414084417284969138241023769756787202242448943911046985530408482621095936*x^187 - 1056253194628677361018549111671950618344113269316057249967447893505172984917384616787304999571489520684705318265979644571867532386076265892665119664516501164975070659383063934281484420099950801589656571963772998440856593656837112635950684097793576169282626966817825460666192131054640911561995770356904227964346291794192638532651770512655561890119178749321117463772224309694590727979825648976017232453407862829600595313964593267883688957757533950533970379486603387354790388602778367585355179661779377753935339209426138154367826460528135690625619899833887039213851424972525030011136648864905070485646806937472145248819401958894268384700495422647865314439091372344754069380437419740283724551120479400429149916430099522691121935201923502133114297706367616912160361452937608514213986057747986327004409711766610535612408923499432933058983401988544630199900939747328*x^185 + 772012019154773487736142357298655904585409308251812275472321818259413483978238669833987815198243545293814314828936680573653438037820167548967674694589160429586817234138273169000384787103358372095840425819759996048423003512574002256131235031530295141407725136622376126628631701908108352778710181548799949120010731907316068561471750076966536653917332001775802113428571401805717347214465934901440367433530475067047670721889831475327408928991134012903581418985094756765024232641612950890198639355968147581015050037166608660502479831333222837558036636123442398701495837914239361794835156420487411660840582270684038201028590754010404303641708721157254788854673271704082132541303746147482181886503459894071728219330767976144694954630445410218496358638366843480307295832341845559602905572953775114950337780468472433698852321578640989118893625340979920466004718649344*x^183 - 295435062968717170298458704692183084214648385916914440156304678266045594297583219216175292456112625855596700871657769950733538251570023114616117143510690302312731554269829427436858534303052400054138744988415846893047192298395220773232586849603743180579882470652383194636555173935352980921480396929302731590723603938339301735571737407494539317027157129238647325508334282082143535834135352968621472438461664612591483296312683570483716348070054085679932433088601984618169757729851244429364584406582337626907872874386532883394052198922283386095785404023540847332834102435298174718520262316208852027801421772195716595534358171054883959001227876445114821034276093039245314457739850038894344476671428865198538617955335404028537861437083661719912549398867744734811513923982037214872655978773153542506487405487043093749641623734791169594458494733772826549716619624448*x^181 + 15906523347465503204137213317470526160536921667828981907968142883944559723182228741590748370178220096554701979949900496335123132667811483331924706837383050115481415808865496340762761960386282599458769947736412728170329525654536650996717355008213967599993202656077108835532734177082465545418415836283013148164830481772377402266044728038798415671496698831204569448359185621252515867482809805399106988741709543483715919401372308443123849237882280326424213657061095145472503726275895639907459783400784665317178925702218638272365082800241058607864117343327006154327525502919635073138805144191541763877151522105905957280568188969939070155176194034864728158794931633963841636047167862632971836193541803696486357546878043581999312144181537393051001520848340572907577855488334189254188420039491276834823131068973134526481217036779675057465154806615060705838456897536*x^179 + 56327823220956601855358303520043229084000485398795183959911825563711816414734562623958164924910360006421156282997684992003908239248417118680859661273230489349979336449228426589070229453554534425545328808670587144288051647738891510035006584861330722059422970475222211125623049787408923749458636671764847833650049211795213852588239642813621546316333841434000937969148472094737455960983153045991009314579943527313998555652730734376225431621849966627751484070831241286753664428113144094605165613928889411362183763677834265922441124850416535306367359572499951464653060617534597795270197133220294272199631736291914012798477587123903370867123832515370157551079936189482409997179008037895590890692305229058569412604844313025311638586947360309648345349369945398123556293910997339180652607449693611406446338223510214369435918287430813923551499079879558180364879921152*x^177 - 38593099610628495982938455394624560010775064004003616133940644148366120526183056331265962589478564308820817090941059168031523701333176636460917615275804336681009107743613747388773036595675539666184191406968163084009113420864552374811276433871296584678679273083221585550798256220300661870118763582006685988469873501280331865699581307434010244456797040858833874722126398526146583728868727898044082517681656822412773616076874233562839469779252138700905233028993650729995582352667094411091967510051637789549279501468624558066659311297511361844587172180647932684852816293181674825481606295856502737948024179198091015528274794193458690381211345871498960974639107357181844233686784040562111959211604605130439567243431279508331687574625442898548590609851177120675886686312595067125770027294889115258846293642477534234289065477502302585167701920579667322395607171072*x^175 + 12635696227001665799977677618388882373222278911399881866422106828928004387470204961020574172973845244111313825676671228286884889386931168269943481560508757588206627141194375389330609098942012025547349504658756284639456869374485904641913148366585087394012805437735755906487870143358826394273158580423373934454158094646110443581287155711279731326589630051816064249741389951069917826298701512822117986233771517818329671725603380268170064453828825695334664157345223307534914086778678515779775739202466463750341819350044200880005042109623009360731454409588568090665135769286980965919117735927242927374337449106940441652451307676910549754552357997181936832696984124512970546109900779854585469174618241295577265711479546325003795216642343173509615112416409357927108801425403301704441156338657266352621453756298732715986283452049356671764746707598779054221655277568*x^173 - 838219741592425647028046567336567224559312183240217598984403966278375605367588645676237446026596065831730477882113943700382328387053627075763061289471686845005100825132711368961708182690633578075148017997860102181208672123909056277980316685329702683187208040149217591390054802805916796025234765316740811717818270406866860396928245808007279026673748050487635876746765451042653838198409576958044584330807041452336040954386525266003180204541699425706493266219549181658691939699485729527872557533545569856685540917695654306663745561090685092902747578984527102026725736544518812985526368346584458759115260812490360423623868911024784723528453222215810553142244367983070780886733236296209477944436889201565660263067171501202395055259962391589842296179968149003009763592031996658178271961538411132131298224016439693268286677221643731001672845687454404428959842304*x^171 - 1369361621882343886926750589011399090426774103070122294879530615115329098087702014295622831319028697052434936060146891682743792320732923974043986574621148138810322285036947469503642142123844615355733307623066765460292945740849261164418940176920220060361079553642158256974288835822223157553427597283548657648355933857266121228533656801409924861487868007017061697241880468384896199138362756102672165478911069264457294097035184723608866019803691774911690095517338574949613482376426286945102691331374875883663067605081624947980071269745829497532464632704387872961441540664251353595299408077635141875682365611342144987645972352263298146829914526325150985420957752868495550758178154283374982649138209512181548724860657017174084764828671599424981260364531953733670462501036130082121767288199231480581718875849294353362237499735144760925368247432866082852526096384*x^169 + 796419637454318128619099497966357472555004023294593535738422243196390226919266888957290446610133624591853946011812812766651805140836806050705683024051308101547786000753468996389587236236603097827943247979417153490004297800150190499872585269834233121351603599540418370240012567816518100556882134373369086927683176761956816637396808012189831506594517905661309801217309218792200431542680389347136502234276293197174911984408866306925655757795058947102523956107558030275105341325809561440668033733429550038515391599504932088845500158407372529725357901493223560397928994502367293483028972173017807890828193848555855070753359183883072069376923357732690217962279087776391338524587689290309970836406070761569085403109902731646980722368016285333305892858190970164559640057906524858327279105250325091709595251851339339262659203154349080654011121130912053116522201088*x^167 - 227602389956085074132176805775119463486425506469504747675231806420927732208456983494276625078992509332424201946880580932275532510561873401547905072056971767524416755101356194912317432106172455740703691149160006659513354423796653359858150689153338968937011332691216131852443702570451454080856589142128320234662930710819911992971541518080913039392996518255446257206017055745517952159932577711859831630727888478536960864793620824312075761946512243429885007129230785655722697178898785025478385982757339998111485047490316777848151146062264324508542053480865518521868644240701846778543664648879835063010351128931987903887764215155960152508631952292884554280790597366825513872888963973960851378849862500490776400217486612920389276134626733300824291163402298717878079237962977864812639259643752991224114523367185788037502152335509523313428656752880404344627789824*x^165 + 24817456537324538865399899231871887270038553674969271724040418931580711217020668147301502235861687448747291972771043446430596426984637583394775408770542131716816903398074437081592305974845507931476398683829231982725265304931817783813877306145162669679525055109915453070721459634508737839500661624804277895570727785899159142934786670168610384892704037630432438334876958440244459813685466106973656016722320386533116607611483921887066506262855425203231951050808589394325183402614034180797143151478938786965017240012530023247814523435838505620731053364649636434005692168876039079100445760133626319218798413507403050162383298854357203273306951454522768802591451229626011209604088794047855506299148858831936083966022294606033063878863506720427657973982359821229385070744515404440214355917458294882600920484145614402594500899747693680919661244604715496021950464*x^163 + 9249043781320867038458057054864158958997438718830542901578078177410737176316957071448160889082203558682261404850603039964623543878203528391079808781928690048830130677998023346685622355227132376152655844483793731062708312697471729448789157483258794454599213339890812283519831433710290379465852883579003400857268574980876921449315729425989424150688321196063448875086273889298693721575971209210407778646448080466948000098444118386708823045782259277429824680589141793456206923415012674004394024740501879745438948460529083556857548989567725811358170399507171443002128950266792476534356415162624743854695076951240844920865707277810011138570245674723091732864167453074188454195751697450253352171542089754460557831374507183246017654551003039878391537362841579185253147086529288017578785600333492987325805530257712355118866653820802733519482627407415880445853696*x^161 - 5934917183597523715884162180841948374522040043684897855040652262322664086191567223656924569698500889982837093640097890532077858360945452898853507238770470436555392517873294243505781840041926580480890572389324314265947375062353614095308717547986536071242344534380311210362755441910533192082522038123675912035857857078279882330487760216521740180351956779176913732488805252239005873214391818617354403981691015739344694470980428286253550384218273755912675592196273172870642479854530954248441541526702825327541883998401494605039757294482096972471976539510196644107452417358849155548768364070718695259696523124725584765060791172722804412967397037506937908388625199119168866652760183500958135262331769125961858626306637748765997326122843150895164217113034858535124038877489897622546200844705532323397729834677531439193595512936632237076710753530423636182171648*x^159 + 1849874298698992989561364207938527686068473466573039211412233320056121976152705191145689736633366622696047416563334522468809508002389822221462932037577504807422422267335036220351184204656786339724579203526880157383920365762155782446947326530695614995742394969382859184862077353078214768247449553167149375495505892923708903945216861905296203906699722276158718890940663973846795337509217897947297288230096400233436297857611920630305396767791062761456456738987529665542040217029070136396285642469087377816353882225309808104470236965487816432540824139174806306891436732145870235804506290993895620568239373524869853798401383262983336514024454017724260138274077791671349840907411598195509374043431217275038384663624209013184044997010962482823743064655039705002139694378972493809180869857854491581113027285206972817160516596483175573185762299189444644247175168*x^157 - 401361677187473764317267203760444329016842358019162991408770672047557447626385438637127733409050673459053486089217490067555718112825383844280207104680626609790663929900104048622931376249540183072811857395602319716894454167849537693296917429106580961251476968219334150060748412682931551238584719392319757339024712134483281048362678270456398132667885139773457776411843590508056066028863034393888548292941591070372923383299841584170127662308094246559854394452851831643000884270485971895084468797570717581274825286187232141356181471689544902288758928113549597564447538659928874632105354373689851857515203453158336903729707624645007438596537245662785023075205254278383544253589468059014447404287531833737892289929908278397252578961978617260983240695317015377123097556084702156516563114991659620429581832281822140758958081174572361528600268088063085017825280*x^155 + 65486352502763038297813044282814262324601170901387619274837238725370179877827571845765650492656795125388499955414453341346552593276485019189748707942148212642028539522632548267996721059953589944323004964144201053200084516643855054848203655918970393825220045736816828041046249472396823282377252639226868977839161589760600648595832904922871584188765283591126863672794285620609411613887055871592299529194801279109538850365297655361839714678571700417016603810025832388151740178253969515348627388685266453666208742258823080987347046512833713541104353908868284959478498776634340777073981451188380908828373530078326108967914839613766201288093116399899189540315011072358263847368070580841785965633669996819445561008363330837242860113444333949103124137587347324464807987014248596194539611968686768201060720221331340074426906859665843401792400167436561116299264*x^153 - 8203375713558902769546705476445248123212012042059217036611042565393929130605082680198940127414402377243622530802571885602639870927666379185912723066685579344731612106975961325304883904573378387780546813586992564834530862341678505317873990026569427903281000635595855153274763378047234406166131815826184287882028302008407051496355120818213505222141859991386936116733008369666433694484800569394772647251476735798093840170524650060025224468726772308305118383593860875129118353246225465850675778183200164627536016399321789332671692681644320706287761660477438349072073196334658884781069524117788477007146212429909680283145127016688675920334851199457091537871552429226140251094524110364967652369837828371190163851016844011493500566027913045061841989950859635941859927501117652998863383195971367260335435112721347002805266945974105883956597156886257413914624*x^151 + 785128929103508946218944309423226491589569094771289526924184676944164421882727671021342603562401673653974415038676584902338964613263206505494380423565150352973629924172974182048357172995194230502676207208097353120260944309722675399847688753157360913194641329538520020574087569570928325668403875868843400209024097025200159778898653174525360559500132564301669324392777917979570116166251724053526497271692396221695206893210465440700176780413130136364616886876850917879585615219802418817161532318872756974554184431701818844999769391151915541255738638640809488799747997863686816076471901802986802728871940989986294254037739692867239476896193363825820292260964104032644978469534921433488322801530462354533077750665201859097311349830525332976112057128486812744681524851166357502791507954073921441416126239624607703330665583400273606201602738821631689359360*x^149 - 55708668050598916735323811288232505280588567617272539813853559662376029002113350881389739488226793618282943443386414454225975038756149587986153718841852820672047962332665456070653388232271296140304147433246700474790766977766356152621844722313348928494191896989415758631635199318170874181218087703735854456168893739848435827948512731722403461372840717235713288851325018074394788915824596608574277415314194311703385646164915628325737882955610953815093465975187662986575215081830349495479879037244485129407912656854289020526469652900922483289043097298497747577377363405084554344062981713754476165912056321532317036280600018700013472084073117612260704122742543978649879665516970140527870895518207355362428768734102475147309410902132095073074764157901154503940685577778394297524528587373384802575436388484246539008170528381624263038351326401946500202496*x^147 + 2692168042469448675314615340879243662217462642003705535610621636494598318525582059840419508505493113147477792967689821127819789529890244459842312527979037319372040761573958146258022220220002941902237471594227646230060770708491591437156711951774694473876094271788007496192989905847176432765989250792090519999209973031662696812839490551240872432312675153291533734474177495097707791439957073877043940988693578929740830470909832174758364419429456428287686610261706804063049727350720705521812168088063901559892682087163627558379881993265018669613732661218458133825240857318946092483548280114607310201711410224711140767391179867832192717800077349311307760950100244712045120435813116632887685103138192050906323422281128799382146262843026205875137452815713372566164229470242533631199695942231800419296839113361744715979754912199475365666624638697689055232*x^145 - 62404874854976164140019941071731026655945848337008480421287262173563320713148396888513514614841162167635183843038749203628509749100853206029025989704324674088790456192849481378319963495599481150016324390747515289629514427660638192715185735165023821011493889564789957386803273926218303771042077769686074389840180888011906716638114896730651239622575665317774507024264412852292203183128528523487643469487524324201996365428184821312552054843280629769388578287641318526732327267894949456765163128147103079907228178495967782307972617090014793071674937365561776224324134538667406879973539404095233746108271488997406280805249976723254525168021399468210162106341277270739297216509787303853941985346893931859970461409417653140184340723246557508858356926368856496911229949160328794386339763650340802979684217626882353079698008714849230623905832713043574784*x^143 - 2025790800242208237673365931156323830247792820306554370714486354182959168319812967848680462766299592725252023229550050358816976912107109580945973193589843671758188185938352460147249035769234056347291274053417131994298478528802237106787349667611295388161583534766597320124874629505920460650765448461306592963789138765139847350996091276973817735195138092321510118182322946980831567478933313571315589241834745593381677151045439028856526188695358991347754989829720185060036994059214139083674139029409272187532320066733246909032657036514413373546196153092728809367252234464130064410473207553872907043724923037947963623300028599294830624427497784068678311134078886393205346619831358653043300388336847472462692870618754155351301191211766155034189024806925971140644305646346508975786794346463916465846680717758444532539251298294413553549333513558294528*x^141 + 242715022634058785681614706616095977689236275532407301507661701192466222307551514965225206768294742360438725806202944017151402397064349916078456650221312261516836182008818653151518028319647306209721605748536504027323675605608838788791234218649089596819418800758375719107277827936344479703994230294808753590045461140090347535353119917747255651240052613243004232188953917973971348333693371692066691316193745055067665044935649493340243891095103888866660804674288608179845842362300193466814041770757317446769485775498908659414265377302566918683155749958117856191637917499813573166484315616251442934612307674051260253232585083914909974718425062873569725454337707139175369000293643061603198068365840699305357898462805844785903351381911854469268595818305709006312416826671071726011387317431376543618551278990821953855951057448668191300104629468004352*x^139 - 8468164061998106195943865366170164678787461450577831016509273482301280345593862251157809984538756925245635546984961545398160167837142835619962098557755063100654415596527480056289591722770237518548038895701862038910139364389518310398569097074503528093354965105835044335276556598149978751093157705044489844642679381199617342844652444987665069035568902408572049651131448680798626912342828681979658384961906890150073711666754142737111077482084717987858617640140817138651778614720904831756616482232328979621079911277875572073737070039735716815799415166079765221082984335665472816157581229332781860212198562358220927231022954714061099035815206450995082508913322276095489022095076154591268391129588211856996419153120677032220193567677468467384052823910800890038314378918448192218885785465837695166102222661273272020739434295910512224259412108247040*x^137 - 24849683858530273396960533495528101987714788096763461245148419447346125790077535816016637637261653731279945166280526696573790878777100213491614413424583600571457764455847757565375395310139846924160821537306134437192129915668297396970108933109380573231077727506309742598602626520110141510383304527794241519688827626705984426410737646147494759992036817359319544169487870870869370800964783244647326762547143276912235085621900059227164949693537697529586744181765383916280280337012266514118479669211736228173580589254015190342980625746513990489797052191606917937547340628561019351268793117524236786018724384366541528402173042123616930340467697621845349490553651358264650371933917299941597794185529697741305201524738829319942918181656527718327237384923001699410430150336602589379761219165003347776390802538644503948145691927598775273971788021760*x^135 + 13568819282670846924287282195789698277750783824546275135463978506071443839350880870085162444583434112564292189019432570821452253015246371975452202458015679596288102931758880907792823693685062706490631588024738606966703692578664311402161068192830050994844499872588192650910587478718942252615745964394105205017462588445761958162821816311512564419088585570936936200055129315071516491968606922457970041859377304886991054229495463100446784366743741056754819687383665768651081448622037599512059723185709220317393894888595517019187161417855944085308679902867887112417886048022799839609235286639861846531643610337981389214302528192819756256342045031615126198580495965177918913360376364935637656307915694612660477903107070501585795140656504592256528174371957652260751335791186759921000341097038844711400039775346511220395844135718090546957330153472*x^133 - 451128681604164133912697160722400945374247430150365595710627228166178172041809973036199097545169400985366885011556044441709394287242863513665364397383224487810083077887270091609719290498316335465170865838079923460605898667281819950531415039914916743628410260664178217126764333206933026224921340865150610080904718453541478515885581820556566349735377234572931339476620118263290944612813045496590437135270298172500507204518267416169678601542974024307687201162953810568829727777948574033527583819909549949498244144156503338220131631412061705736456459167771255495114731376209718804363873684352797063611321250682346529873802075018657867060930342575078648930641971720056041919573217073591565113394477208462909988714587707513693617866711060266540523658626791475581243008560582941784903291422982392184770548198093420049594585238990406494827053056*x^131 - 981248855800524886022994407935260792287722258789499185751450646542651912933321300803619585344202794846378487821811312184322704439654215532873357821837624472550464539516271415729884215108903151738300098821812548281811987811020823471666878437584181327415503063564306906612832515827039825461904178597104970855201679954809876696439656084594519585312776264293841105210209554857868628924549124648261950447350418550535332949669717959875419299752070667452557625028982741522075985772568811123473713750901362974813437666480561799400915396064942776920135298589373878171185038787177996800504629887140252565574543445725489539080586738366525510437356073649356292828472427194245344023022662199267392164861660754301853544610893746783101259626399786830920170266330343522982211463171372607917513777236469489299590501708326940269541383193064851097255936*x^129 + 448422421984697566168164758983240954087543444039384022878234513049201346579280664520371687783636046381666894146755337344387122058932971236191171189252635500729221842800125923024959047643984537007940631521528179753323700517854261928814076039491938815507412831197957633015094415247608361578113469566717539354962973208378875835158112033152865356358343320630706486151299493826389437107098434399351652379548441767350080056882536714655147084311773592287855309401364172857465238766430681767474114603382278683497761983225062042115097871232743482538591388934664256601657580005770571505157356458969938307271426540433012935107525920691699178744211431468477920041029762129773029322979895767841414898085697961324236734159549721019480951399979898934782835458459623547064767198166280087493173288106380175474859576965391577827498983757488012065243136*x^127 - 9185710630151657704756851053136252056760599918977520043618582671645352041090129362759651298399578060444177248292884610799889060494757411339361360284161271715695391341886955496756707902453036088686143743606242618514530858225520889814041535224703811496421262263973044571669536118427730182656397057579352077352857394205742033986470971882260796972300732418389199254176414496122396977852247416582228743560767222231142146721381473012122067716622547859216120988809837900121856663148197424144590220786939242805111949724379049660354903258190517320016097993632185376015745575068572575083756213952688054438924654754795521597325951722651742360880975952650468297313694146051022325934758537624826369626668449117536417198172498028767344555924268771882752521265142959523218797391414063822950031792466700755069911437223188934733214982049701543542784*x^125 - 141541574258836090142450727327112149136933609931863757138352614638266909452914728708849536777085097499427768244293221494788881939369598790837370189017850466854839415723642827955785848649892079824949442760679050396561010648291429321313231426873368052321416898106781658148907375082785713859508044840092449373792774858432027305071725529034377241457562729442103044335773066873608690741971866030065838934756330906634030025572227395066471135211582687249181604104772027018348675739027470982801037797586493647469289736323720584291612673914526565647073042705584204338670542665323833390611154530036483724930810560544409715630059705781305773255797284268129539269597179348810363803784029075124373000287287780683317700452544170880310989196186752410990865224384307125946074858318055133239232821991440197804302369217564809468394176582435987259392*x^123 + 7931028916030767253906307018835679037393490909218462636356610854240974792318016909137861176939046743130330140735514694052242110025736977632388441764881098161051412256369697405416941974913009111872574467653371977456803050475468594824619108210323826279812370939913819201662631344738147022135648929874955401910020201512072758673017160941060963633676671484709381376543641073494944085047512289347840883654180936830067531967346493946470269741938904496375362444860369504639545553936121250114611991646383586948392369090730733227668425110647021671241681966021204549448707259051182559640389059448072575353609004470680209149207197796338855876483637548346260505132765966124735153942841071707284314381843144735857477693955516985390302896137089201335184594038068686845981880478262737706564989924954909440417207358957637602911881853050747355136*x^121 - 33633749081088714991039092228874393568344047616457160306603771247588784425633068884920159851962086054057640778633988082714974454299005706692100730869806238135610489346964954451266172152585847305477812488619808775764022264234757146100634599487120283973115152658192432764858333127060805339842238060673931488039211620689956573641088819027314051446199378637822886900003087982559308621378775368505362138543935504985131200977508506100865419515381823706479754210123911763856447937149067600744495798976986051088546500727499496151699695593880768556160788660953558843610119137840866643791899256571419588611759794764412361441359925706251090175907298533246292989744323676723509658272490465519420126201529490047611736905528892892239911456258091124865271784392661809633790181962051987196694119976178535885797390254327110814059203159578902528*x^119 - 3335676037190809053302978177011982961794993194516424808919030365855968746878638300132173776173680476176435633171140344691882772815079109892897770740174277379568113215319510056094473564480396735753114181860492300786335011083465593621806126746942885324521187629229850619280598288420949170507488310372102888702543649088233919722914079024848552177654736124832347178643292376637438141414970308616148118218374045353838556586438567983192639146334841578205681674379376847628538881597321605624894620666815553943741299197845753383544320384503968559827907080940486669980605489851820095749168091002181610533047326980952300642543789769108741911992218543639684966685758200969331747758490850921427758225838510117752902053746032376759176738518137549150705336868117630752579745245390077864572248357556036584401891054445026048321394771232817152*x^117 + 47583812168759076181282098182764110055388748427709195849588739557773812224221361579534348511136221671290599774527650535603329544506611055389219733737543011058830809296018690820056201164172720406250348608180469191308935365476222974075004482082492544047296704484048409562962310668405231242415938155520984658820066818575825013063943925985997060191036403570284206481141487666465696422954905043656869320796621586347699177076073539269229831959730106808575682165289686342520882640980072052144178546438553085943677092852920226278605183195922928011800715039301218461319606217227336095419973660064897984798033084828784345835317488894157845237160062121310498804016293110381792345499221743030229405156015807087294417028226600053726059103444266447425036665519875883273032479737008729237041039303041138851101374195452472069960415095816192*x^115 + 804688148208109086249757712920651362326599079401659946623511106365542517478205285016446508858899730683157362115540028035836541454142369200830896901784146016775873029008032416772463886001747441229724607057730554358790164518413616080157748386755513174367011529927437372961361058856023291844310368416201575521865675437008641359694359493551176739897576034262850343673836959973029182816493352475332348694628854445182627340392570813062445494018495363352898904293877076124143596977290167633258905740315046592531243636310357902749829375182481565462369462305801563761276218503471300120833261682293536990841427913133461794992146073941230770431987825172147615244416924401214009229276401957066375855145145064259182240059281138099341388174822788453283748851850797683453249213933271520435252289550854966912077929108395601256989069410304*x^113 - 21229555947201823636108789947888148950761705935015734527168752471516836137343601927912263459900627729969187069682777165093612098022265178076349021500177370419473337737033670215410005987659903156468832516941156722485282405904958445954306292390497589968610729382149151117758591172661015143055503090082446616946208176993611962457131993528500964447118030027441901746724150272687614382262918578362389100054538701536292055857925031085878605426305437194030327114470470014322572860062590407338517977660172076764697944623009112381820029023829201565595266583905261621204606571370655239808347107539490224700041341379475386048026218776425925645674654992988355650914448130664943538771130106571108664300692891794996153935740214377051664979504697114549284875202299611370397854213455803659097216669372415634457115010858026996945953751040*x^111 - 94565803943517616512034172576021737218329874781312627634199763017344701249753425468715046443354653280595467269407159929547139913966646838269438918005126952727108560797237060791576577036617574758779251427705958636379446025462781447023059877059314084675447358359135395404795333214180863897285144873938256988879240175375688479306422792035932168061961471103692453639092178481743800182832808171253459377180290175808963210771800766976647058001885442143263274977592391254816242354611146729343718502928138816696814487104105000131376057048194220064781729729075463844549552104753314655060796847314641803949856631111109469615896209497147812688987367691031786646213237471194146662936084971770258498813863358013791531024071797927943791454781146414908319137966512822274653225703255151476069003212008438641126860047516826526141120512*x^109 + 5830644758232271766383521019356572180443523432416483641439986216912151255109112381586142706969435308204427192516515855888213118618774565512320687455383759317389481175007255370318710816124218621606702850444142035545643782214854692975230186726370239648064342766055939898589118596242607895469628714707148697710127321867779693965618639072848244455837923770193518289927025811373800426621956236393580260422821018518853835346636002829426961860436895197163046642184648630601185810824717383055935021514725327828468942992790312204687130518789671184238513451500263651418712244038772786982648208685715401131501724444304423197471088724503504980421094613842296917321454798794870991546091274200064661934788673059857135850118548820888868542756833296366371463933284485964306704974258187115055216619468554031870425856411767044271243264*x^107 - 5782493237874892721990720300323148765927053691103607444895943324389315569183541860949455041895126285981260930354250247640803962467985029254526273496010560530193365456031041323545757116963131829604702786688233811248827169320984649630861296295571605363069179630438393286444779886467383383308672909696220001103684448041202829255690721278317458422185497128297600078555638389688444151958725673200974420551803786791929175216326777078175373366051685502802313276690348046714068908657433480729156231481729561319768355701240804093723987952054220720754526836229717824321558769414119757482233971382523337048375666619482179958538144807152594346679568319348568949436757298196006424281004181138319548170868833052801431420324527487297429732797416833784724016902537741830506717834820206498920498002307818804834936982326206787485696*x^105 - 1117236106888986118873071476554856980862503528335368913318208292339356711864920580033860704725511596904193289649752813868418371695186997735592848578762590492422858948943048163747141551635172494589619670759463649508675458320122337872613353600546035956331392760546509044916266199520359680004852802356033755401174705862811203228440699918292401177989186504762528638952431067597384291037597352768609885018356332843835303680801854501219801811151284814477095821478389190134718643238259123943008498610998897088029455343990253278286450619910829942859806788899703287751906300407835699114905682965580079414917791216989722571209597575568039589083468885772465130352654992980101285168583966200344731895049666745011844224538810832996919030842133553353120538128094745470992670515224335221947685948607546328080281408428801966211072*x^103 + 4711183027120902050454978576015452409297783992847578403281926258963286933598819661596825356276864380763965709843597863610432910680236068989025120578715755137797152861966419583669944773706414982199234745133568059078488384109108492843409808851098981849173953146804284929983738296969984274161381755242692558066680362317944527138970228685586421440615534498169128652092720805843299097097732584460763488601957561779983280562071717748034107651157107211658214019522574775064442456732876743286884645677779234835247552152952781331873354011251360503009170079806668079665140025467124175051439653815706384830509331520855016675624295206745326207492018289312062746743530268337248521139851401391216386556701774367881347488760639621251579910560760032995646448169627831853137847245756291997266909754712838928873330376024287870976*x^101 + 156095396601333685178520765440823876214562535840642833294875574265857588295147874693209517245154459906159398358128328887007654176046076224870677513908311316174288013966155516938046398725347782888080783301222217636566835201328023142752172819526496404332821140105847608290408312238017882710001580472699377386178279223332565521723995535279862844754397418671188913480478051999697916184312870028840668819348820634079733099434747336306584614290478175491671264884443330744108768300649994073767997276996485886512909679523749229570392791010765460945324408475594161500163227805004155468498320296263565354326843040321686250775563150126904912813443988061662311273002696058827934026470207496206562264615964917633717150640341281017938543665873178926968465000168944428779777237659264045679769093622346913448056570635846942720*x^99 - 1008689134825232935219054172428044772788090387072696508586819923619780131846457072216549108793578919762953064702217588266360065408674562283685195181582669222380916881369158172810089886977491340264080040832682084599836401289182382395156387040837521867518548223996224000234573169249632752324737284478899383541709560026501066512204544954123999413573733712140001100341278287802490929486385382978503448080032728261234021234728286633726893333524225262818408837862986989977561265896945577524346611664479982198505905918296600111614843102028124518759550007197338933453421828551495267096974895539571419116178020219579458359610570283559990353892557449737688458457111279644203741759321540773839178480458724636627205778521957655636033454855273285537673223565371546535109668297815144355179036212058092519139526127336292352*x^97 - 16058974498985129899022231356882028481109290228777149537431468044243876836508802489075572444360505186046809560377256070971599399108215029469310841501567348448268694325798686632346457751620367727385517314435697986435725677623813999689487900393447807290026640717203848724074107030603929528903948924803924667772568885837477222493316090861754791815977044499925436886826344198900261195645087884027496555669645229342443509750184019709889952843768577570166285556544646091759064415054546725352876929782342515614351264531099241555163335707308902509618120341150240035348685584751013591799196086696091443372619505016816802506889370693878373158316297875790208022226472141078705679917856057755587768687811529263093242121786378734667722919158840091049084257494509162668349233338135536962523697098013280807067392948568064*x^95 + 133259585145177833915501733978770835559820168808433165299528956897511468685624584581307639922229382841625068074568503606991743101283364057236658035596410636940561371222075105899367276975048358780000531442081373362320885054733614902379698174346588440313890665920041925096017110310797755445207567438695593150032731608927997604491294134254143769896706540250161644112619610931977361478242894664518813705590411313287892338287070690141887925644883080904787487376243360784292636869199275110463735426376758705759342457831490083524805916842106017525529826614082945417614187528363099994189526721904271011340314545834639794971771111079375268327100601831180914618032712963035900237567242359478642844085335865022856954478185631797260336830942126630263251694100586774122975925854295744681889886882523794025167800238080*x^93 + 1190695433901858291333719939863039995424845166230233156088969157883561235114692548745282652470136609936038639643461410589721730224473155428189088155815752882282395201265094905144273763341488612750418582813397520310116297250370139889169841470353265497173730413607526331464741442282842963618802706268144450690079181322567709937798213757007273180344843040888550291989117448620297444077343858135494414715363645395317886196910719718346605773284348216599624719484565329654692694273217040968567944797552216014203660609983741935947558577101110443140057572617649552953764200740972758927059036576864537308772587394073571977176185422943040769139439767480978292908497524132884216730487070965458536699387819608948971604267086327683037810460844678535127362687061684750396413661721261419882009939984583623324471394304*x^91 - 12308381394670802710108833620036904621370729578656441980574899961463772425254962848323659321827517460639524359676245385416824927967786218507535884084740912019136311398427467085771773556610307777503265380538266369437319048289323853101678637033726896110537056445448908855733159519337301394186980111750156688772028486634090920937572114358899444784951008842545188747895965710092532083611445224115632644619607657917752430388944629086200354711190478501384981644101644913084797039594056567767068753295852927293846106626140834684636970347284717207755457159975947756823899432130712491670061742979380206419630302042373716868314001147160369107920873289092606036959541131385397982259098551130375158901990202100299371597485919615751816297281314320720229006991128451284501102404552306609769856528536941355130159104*x^89 - 58871242547405958595907990712437882528029775109863148923236264235123724827638944151694063412627000711900712776601528925141455290171469350819125841813444798339924181014210416137655585996849511864115349217831546036658629004805967578971545453332134136773973880712766405400139157305377251014142259759533677890292816309212978134382213199564103171192801674467748104953988143794929915383579284052815979175152424585017985410355575345404364346793167553640745234992620899399978578448139317793006298022706629633788466846175257227981378336670581901695870743040904612062595158249970114830571065251633836336865070237788886032112224722481023829563869312998617840743759002734767090040628665452735113580827337186173173649711110202885073591076826496458628607908159863373826989443068402437492094938157349713066590208*x^87 + 831089454151111580076582477265513349803406743624205441603510577713522398081530587740950373207315994560828395520250074163549203109375530975333349021770317494390671572783344417329474566517858995893566422904960485325368778703386427170020305551500027797197066661226284011028888574880495269903412193359814926497285711786008226731836281374249845911893613238493556899522831912603570005644761800912751214694108721925780045413641030170159694297088407586809022625536360101356218657188669067101170922994576407434575403340202551175550597352951180073800891585634274378303561341655808666432502623027928494446981103917192695142001187598117838204325884996543351571763569629185074366645174140611664165813787918923284238829879464053937758624859621392518790766208245877009302717210087730173343677434774273461846016*x^85 + 1443820933084241732930529800884085723833071211023742810104270290603094711298820151812181431598402306706044116038698835557579523035265140092855111040444123362287946837044357976670738506987960423315997821974274113592834133073746141131157158852831726835508554076138085775769476113028143834723409500108350435957910534752828075871624157393880896035795854975022258706191182736872968777785635488090812155705749751716354463491990594330475651502307037636430304564019744305856380410352542718869964441876889959003644619063285230079711025549634275238240959603046719562598993407586527886042088497519599158206492181364310448051626245341441336371998176354679012994929311604402167868229426597082794062653718583093053306671974136398708015897913253995679149532866295091520580196594480373637654339060593978245120*x^83 - 41564299638240288216080784445707232365643103551002973217364481910337140708792492253736534889484521969340971981100208601419095541455665327873874031307798748527214605187107740513016901919152818696073936772283332432013147015808087001874031944782670647492899213512953623472545588154846397511938672910193769515867069363127008654397487950990665468133622230143831736014524483271602753316763189890764842092637673509451375229636877414352558665957134813205559176460309307244852338012430330085584822688090927118927158702221305244674317601022525455289363310359936168964248556823905918003077301837069997711781873670105909891633470028920870869084193264288298889043128446561210744381172310225535926647226535983083128950534025949424711325913533114272639921743907966463027530764454639628681581755511875829760*x^81 + 29789653204482093556827067903321946950807440771300433089988385021117275053564974080111790822886155293995742275320535194578906083708915306706859678540249197093896990212873134387858943624767764987572440671953207436884398489541251211957394864322665385045153069493558790483323194297707118501374288532923519172275410761595562262416399630110542805603363608371505998959604653284493867370314289664848949132327464251849522431738382424897172374928284147003319776550515942798064460460858621325553966877018632470963294614789490262887076609375502093655437890163829357058924291641257737854867584026233791826581987885666052536351695466053944597264328936844968566461110636642244053265226955402933083925206168643394609104147698603950508460951266126592521015887700350492302917858255605187999954893237387264*x^79 + 1496060848595248327309839000265812269219608309462702588744674012875667377738085319938487797956962657888405762754282130126316254159956918597794294821311708335836379797318486266959568744103160532921408373189120691696336841637959981416042902435703195420145551572910420193211096475638663466992426434122853137836724813272483914230414588708716736148752633886256688863824279554770951859499623976769577271073909433119913790109534477990391418440856075022302116629950121944522358330695344968650753421715555605885704413819297998339415320393261582207451109463122292667246418562660294988726885759486592418269316623305753357801100159544802243817968568923533255315663728008152002530432487646355805930542346003115275144197861163771919919363244036756599151209298665847444485685758108898002041991361200128*x^77 - 4395796158192996899138512871641816407992326699091403169457282636990452668610899533928328947044491333150037396916166625236954432229830284275893600960394139082174829721697791755285621890508407317262301280080118492898288805799753151635312594020868255798133763038605457050421018887911191305127701486950310492184797558096981160443090666826859578202855854223467732356380402206093757607968280795400222648342541337758752550568126997990355809437448460793803124942433249325859381533348451600114743715296785086357998336152908105618899691483791633923951387806588659857739517899820746786157889814913038629277696245686125913993985034874546847023342930294056568785392500767959611858000470237698402381196398661069680494254390631056362332904755486663892528664211558663645164303829166269234114195357696*x^75 - 35881767414234337358553204681719409249400313994798372365635147902134373059111734194202668874376343517109768462922772400166813547277081888608547737026635756441564543482281775236053204035940773841713900521631462957784748284036890195691495233988252739901605417998325807496590562370092365940065788319039692887291374276676949844520512981816374455998034457377199121728203462230755722210467583188858108831321352492407248510815914847627712635559581606503331277609045264678547699678125930685541015902145908110113467294260250794972752165457935315586680873609725803584127709484212755063529686675714624548669934993532576344385828448713950593423213230119537269920820392623587022284580310823080572533921268501348511077460457207622204893690171055777996675715019762624070002599699763613605803589632*x^73 + 203092535737121948493028822171442678903093186641401483023432704042683284160989236649463349791737417410329282441503907781117286134433930382714451738206717953275752787794879218681941737392528685698654519452362128057949456850337312921898291285270634194678661480760528561177527490349627246897756326307801680405492782476754405366806988722888491664228580867766259945790620647177744258867267446328224499660447637506316443132934802488190350635820558624768911282775065227879344335879845029375108917815115911747627634611356766600114529307697742067840324380896248115297212493693987102456130064312223195061953996999239297857375761512066469232310240046573417479046258263346349986752183764139003373661487019862258085666101262391851915026730064083291153560715731411898364098406223200292733714432*x^71 + 440718464893359607354213647624471709282680434331859169298394473943131136412751481830336389154202954414959282356160348922577098699743995081174507283784188772632610246142991729721961191590073177013393065830920911325580239090246938776828508942517585470430307353610205293748929230627967658554609494886013006468981871066764540095089995673130898837002807476254572973257831604119204274867596762896113633505573370296457017627347815045144874056073239088852470863779265420798291008464826089112378042665548594463424751454922495625714904708392025142022392400570350554322346663827696521351571662672302410728797831142438546650841625944653823349879269791073325667159033039990640722041500765387991096409410792096789822322374927860837382373246156893279523622247141967746969199284844767041552384*x^69 - 5536822049008674334029219031739563974822166091639052850720349992908874373833757826916113798782687814815314808727701143675133191607785309943175005053104856241655100373172467563025567507435735518993639080382889676910895934561482951049764208152661392905272048991389421501181931149300082411323961283970904393323382765377780048663841846394711080184524000834045586740743439945560967666388946184943124686203767351127121350401908778642296955929707546707734260343023977400070421657683155642037725035948490003240978027343231579929138484938932431951388455466020108872288085307013878201518519715184922304048155631096720858337200372795204364410229196750945432183041664233763991503989987872420361674087156404009894134376235623141251734841177520213827960675293149280480907240132412409118720*x^67 + 3228381450043117809725560938548278948817493922131397896996653556021902861475792847042371876567955592212834126425302088686264189181206023900105324053157134703675969622091873596450211666376674644407139689821581780667172783121624534458138274417900659477739589653094146281490401014036972707388728075530570632434200802778216024545344336423584371460705347686664697867159424364631751516658272055985952325544458692142214313857282029570331280570996658618970898018691293879765716721887943341372588641598714488644598272864489767374956870205882039508324535731262310199541956459508044275332796284492508360394448795422682503996054709419739928746623646997237915563689469674098083899554418148163944253598467760801068534079794110800350928934092457429550895492296997330830283033590454288384*x^65 + 92437576656685587719766237707106023625313888963755302348671223140610332983340142155262901133030424292366833170088628163218811448307609874603383720292374823916842142907053385555035574467674261809173065678940962928052794916168399298074182723995541321951574979032776421324129633212620672507299139768884000682352457215744456091948957311029214119191741422216051465497116565657077410712387310228774552414207384569042392855430425942964556703366865331888180577371913814449136901607011991622200606414774761869320563016326069085705828192241728658405552672638717275265610756657791239018473378563021959129907632550426261205635443854997290689309230995817540804011295836258106765032360134004269938317921451848017499458164373859315606575520163662429173440702889147124650931721963831296*x^63 - 254702370702416629475527616863377238712031334543637015807390314955442028196144793580417761277571430744316453949001131787828455483060574758563509843614318220936588254285452952496525623538593053911879550047044947932747609605065055059706329492957533584556096742480889481530981927818097851976461059818555470881288478911287136911185248675821528547374730408994811724192445848665248669086101651352726833641162146171946950815913829730834728817122679947476470269407007172077320835815140491108201938040050909207541109285733308160862233324941570941857657176108006678949932784505383922034735290448343485450096048915733288147350301208711378076413619171424262549624228050707413729015073042236634384483419846492250534583944929511477371093057651012540506654636247207053276297673310208*x^61 - 733063391206169307856777940584012932018072485445288541813462440791057969312182555166481386822284700562942152383070802548474516315510197887463583606253918284155871554673726350316256296615575544521621012778255783662442039190775462562822778175356936190765910160907285847693394824829377518407726111040558977808092653180873279001375882226909650655486644472634164719841099335044790278530155435454500216537497934902546770678877624857608886409332597613276296312110777109186816950638733706586544550486271478095039357165982131877967957391016947729026810460584392933808706339084548837041308791550725330405856576004946479477310487975852155131092763480743116476135629127806318751683619209251904619362904547059926934292569106043787635342211646790552904854825931235311274357161984*x^59 + 4890315530662093868083127686367993245256346340598070811017732938623512896168643359580387644839913797361247199872276868651888238429939863438003477707910006550429860644974557583664922330013860881857280496676409811989915711059801337965118275627487113302845208865007864230924736349643888264729605679970236322295643092726968684075934544006404978172436310550163255233117846621644686611984317320362121837798354934028092884728845285913780681171715468027085386920316757819426358901320803656353697067833045585968787221295729292315048148422894216790877991487631529633972252847551676233168803369928779200528416580150458058970488278344628887188068815073813445068264655815244743779480222564394204242637230160686387639829376540273554785841086167341024892551443430505098525016064*x^57 - 4191312565738717262749215665903101381309420588394457750677582107011693518076501184399079086953085744381219272993563442730453263604863854399324107772919158974884940945956806297166832288765819755182352456291976904428553132220983485563587392440659721706978267215304215571364616669275029487337822655708590466984834259793602294356336222193698409745348171968621871567171686872884644459713072647905592315445858195697440158141024580178426379969465980757175249686721700645231295242532453367079104576874009384911652845351520447060967447365830403175462181522261706085387371959798366271412137222489711384744888768040339994053658356442506901502814627186017570254042726723828792174316502565460596869141766471354054433855309715765785120705742507742649973595424116219846852608*x^55 - 33917209576118815665985503786842539037435302425304928743487490379022920015430946901764816586067401695043283934979315287867388770478737106200704338666761517070345887151475794170228433200274611443036264286858566166502474329331290523077804096041972179939823124587743134645332763736211005431611687840829720569889922815963675781944156659518888621912724044882732839994526348202512068702431843473826032701950509786823326076726853413733838993883161825431499500510762509673319998365168941315488039158087858320064179347423875219032284537472394301267288097628546856445732156308057097093563843668478094299419565709688145791106721401450682452693942448872763417059021120445260216790344239231230504056779173783950552251579723475367595208107710328229498321650583067099660288*x^53 + 125246948824586453107389687453857657097707988074887164217177926744413716395153857641781466203244660648525915547530352763124072509448966730555454623629790621352780570122160926001914525345248427721907685751003030587733828540527737750089417354842846773503017618534734942104453406677657340665392348634981991536118471326944281533637411587779857714350845214363478462624232450952142557205327595014225334115663161575721433627427225114307182820258484109304489629096447277409646786898682889773048825715702764556445080854390302424901709559674429648677019498023473426528275115503067844433261398079215364473967051985894432039930039934929518972372383811568566433566505160403764771326008060564136823284995950687786437979884026167704621263478856745549938177404807248084992*x^51 - 163807799710001331753961935531468989009182717273529674163308459206984705924414405130977992904781613181040574704275327014866271149887420322340837824090884967871360899521152510662639534587741703870635404878093476303702894962584628589053765585609197578597899614856621370629582672512091671753397876544931057204884764395414798668873317998062436433403846145811626279707588725213801300752084663898831419395779703251592106147348961917902908141284089662484623080299029192859040513264170920893468144781987663893224732669951199981198703952998713581024891582498414706663254095493662806937953056070933215126352854901326718080378229066196050666888704178622487150155020240387843304247046643210482733730270112247472768159436722704673063752740442296856379374969246711808*x^49 - 27508370668228403691356619146402835354148198441811309230144398495629926708818813104332050959826748567624383362119456913155213162263548373878249303820514095855277012927443338522504744036699039522922223081448934277610143318595791496231978012811759406211910408206025121939945437268049063958632420838854329002688935699063553943088231853130846293794770597764788381169342846728807875174606671553092509738831711097635132533878410031636289185609993910038298055754732633720768425893520838009635760023820236877465648011269666278661585762398430372044498221502327980291017511346481089060126278594271315518239578614478092158754424222002217252826583375878933903536652855953932777591947994338909781004312180724222931895789688595864299929466982582216533901871939584*x^47 + 551271521331577459479711340268614192256783533369263563187565150477052828115982772018321774792403092530106912404714973479533511924880534594682829835043914653118212769870386280174185457175249273467466703095183908855405095757384985788563267807678124017094843692984078941955291161181097394008088968295101595974529868793405100180234479908999230977002764420918818562484542881171300273727466679027986743271323532084369926000209706885267674370112763638059496823978204252094076324562174989133900417878595311060903119466774221263543791001983804358349424098939085024704104323760568751764758237599176432888581874936071087358486028180407764601239866038380985105325853357366412759141824208261347913812823510949308340731255824968290515714090257752807704692260864*x^45 - 2194216270946462185065997956063274551912556461482244369043750931362050829685224299959869557595716691184012186201992935860502691916674455409364458714628580262097177738824818264249825215385851720789167612556654958450690302157512561324573743675373131085222299904123807534093683942961639838679410736562374211762983603518712397416001371017255076646115862435413284026995601449277898109857813535609247037455145026537768247652198105853350800902883777990577638176016277114850570603601011444078328103831329992770850542018858326490367309619694651712314440243022452092202780641702092810839145955908644909213719231931029277631481102847161985714113550511475206339007033375851736482055957737694376989387353098905344092076722993192056775595174944546118130728960*x^43 + 7617368092719772343348730471115197802853880760425792475157599817651638341910167697204327272212374367261958680919912275024017448310439738767707098583057767081850882343050228681905299625660264325564667543643103338338802540967029617352038222041732750844457470275308748295519254846402409475645529827331080516303649846260874471522353117748959907612958104476645805775158169275371560641417768189541907629661023069192570975506975561324940081032787443502484591182221905998414858629557790474047369851351500136515099633685841129648290228293788189320172253484415333117376410049309508798077181500232897390980238255651700692029614020641785840845121843005561790234292396069623799740025841513295597437941270245359445627513415552789650037600196251163354464256*x^41 - 18676392876498041819326345762094106647924969705628487296523329135607689163809344404474685369079854721158740838144109901052994445105560883207149085570632740529491201882119285525162516783297472878597882196114370576498047368229430199231976520646705634884334380963860509068808032661140770707629842742798561502834472935238289859941655237680119769701542436327753626183879762096222862054701693288407366552524187718433308886222873585802003406296068885859287791940910802170172883625933611233160924735436259361286178412084905453545635774327619781969560846152812928341967419723317367778214620417798656056558108068154136551095717694656430853611865641494497473917486567349010459370983790033705506228478426318739365061698178652245767630248601836473810944*x^39 + 30185130275170612466674403537581336050995341688915767696823762839434343364573983479183355217335369161493126310010110595636594742502318167315267750753527906081093887291828165662749594382566171591243280457286156718186736530340969114979728278232056803170057337611740749888349038670735875623871699981179245015404106511521042837991595048240166412048188755069380213846090668823060929136896360591530953294999362542914697700289650559199533638954878352209795018341217152662983487253281095635374891491417352207934506582441703411633275142977722852596130622438776723481261754288402080737664041104606199663397071553975433999369257009895016031135858951247650563194384369579625329761941577063925739074181887457471089502350266449112401789110722605613056*x^37 - 31726133781499745610953921076005678019912131877846769440232083313473188422476479749270007105939379231363864713548924264696497631335395688350037222810711267764815744387613120461414756903651019255379040492363701442798135254171937251917903051332948851300483909299144089370427142905502609379637511455812694868916828036280689469767550702441198155456311021414465007753748006693166154382020000436763223243678822050685773111874678628660717314697255824469549636297509522121530190085092081532890440258377684767494099468862366178944138335873190348422295892099203422426179836603909517152232597459832815785921512294428645353202793233725438856540376489079426251444975672906424732110209961806594121940871612651322216289808794349892366839411925581824*x^35 + 20366659302291602780149596818637044260207760915744990203352099433416616307258318687884250977881196631988614203589958313164044881469237191492919231657776361399408358573119954367435191771851804627478086890215336785409882717259151170949452882515971162674609206653780345959423558522311991211836271399414095276191715013825091042949975529671669507946731465310743019578348436598142930327496383226178262076258578757500215530166049283678972575394899027985553340796606510729338433727502545953585911657298962972573224390163630695227353276666525864921988023121936872186648046105441260086458168938478420132392664813597497373488223321732684743148031183006322060828717336611638461985371496295969699506051683654996019340926037999089980979466469376*x^33 - 5519334834316373357147219710130941809962689244882701286766033727741028153577638504167525355255562889011476656945083200594885943417049113889927393838719326142861640179056656615428182051115271992708826999020443703322613797069464829443048148187966035338972352752170474704834680137760791381980713971377569517822576694647787661447313025754459370257593679559324240060040017665552232670028998718040449998734189682872062230258593570938736550374573527161926559851550683778983224117816917978333054853947191001954188175342642459846796394144203842474969593681643283341002074539327090401904413250586411027357937999408118010039217767772517332398979418531593778780076837425825278365186289514965486373133557399492966226246552487835470376468480*x^31 - 2739563747567654321392801680284439987016083622789572856303330458352357135956190606556880130962165970153295117994184271422149748993042284734214090807763753926576424448044232461056560797815884354046976579586757188065616305459804304931079297736406828092913631108006263191992178299884273592410149689569430593323510960587141699004454324656671768219510397701174570489198360003045095320143385932867572605412097997155781575846097532373652983895358994806425285224079877744332465611506819616130879776620908539271633234306673408386316225979477085460047381585672402280750838328466590544300964713990025961732759286322867480777976186718031828070170026262873436316509226160083034622182742146887703232804887627248449983776773407722656759808*x^29 + 3603082456975717991454888910435302188702367216357240341197599914899481842005464697489709938604921318262584818457320778601130434234363814178020000601752977529980093144560721060697078386070913143380803254685038305394332952385929086258569659656601438412241772395828602719170397370879560308166839604805824833036366364473262160577681784277033617213327516269586097412816760253555252354447429067231996309262125866725378125635085509444618423943327071580838682287618312532055487308394637770547109039481573572987585988737013651140384902486366409242178122087401424753283914306301116147971185975034805727096210432225859714872344005790156974079963145156787954273079248048754960343652003620102831768323397881018519875779507674341703680*x^27 - 1805490584006994047972792634159343336567444630083447364897204300559048587277934995050074122981040335677066805227782768831294483677823286369718140064303341790585892568833918882697887404148104737931217691163863257604843031548830592572431978397060970943260172509929671616117598441468843808027709525442504247191085194599002245959011671865370068253477233209814738256593812849217191911990494945052600212420550370901769016906852332455320912990931973879346566748480783213266474411868406047726528072785671387951931255548049156708042340977294090761920449455662321649845967384606802952337443212613690515683444033951723094550620960174325893869439095557140445323471885564709568512651734439602291759785039207656504901383700625752064*x^25 + 514737769176085585790544860043910235152974093491230804813001884327975161713777154897324026802224572620548575731118282292055933041899367388324815662311128542511945039503853737602076525777338733739049760633716618617404149085328792506342269633603847986294527999029767520553744674797653099282373752207507013959988054248415762145720004022855081464658907702572787518157541988266847387670995284671710884801662392034039878839126706985411195102668632027337505763379906154743502837177734122626830449738456973065193971866665262676922666083750458448605406412363332341594625702713701840668103963899271539858279710595201497813062799576747370931865052345387482156587525930552465506370723329347796713027390692911231862458919419904*x^23 - 82784487157148769335818339657901978086104288338366021257456218811033709210160140867784010687764555603933652823250808715304683589901303425348408732051380042055669562488834216021224810742056176413592133556411015934311922014814895230186634147063287401055968706452257693395699586373187273192321044400414667304668954079535520363162585497019608748695066923622672951967777028428359584002861911128276544610934347792129205447891532731685034614104301948712121412564976217663950775775243856235835984540916629555179749253601249458732089811819499511615143073238718795544344263333392774172764636979641011360856930370634354966773920434706687641244390678071100896092738136047099894591072166334943279269499773477317195453169664*x^21 + 5750744141629020129751879040621654672840567209086403140962059372686132344042443306474750231561569698230060631461299695683226511089240150965367579778914446753303959420208492763544453760906494407651152148832106537103582533251185064383604088207957994533222447029706603330506164902403882385211345347994564508263169028299647030768016013100592570358384940042028782562011902308082523656400300392829099879923656281875454332736732940602165727568087084486138502502675335744946319324357848689478567763798996721796412272274039389580723687778667503758443615873212586861931041272113587501992945664622511360707885679621238613160986284951911229090375889477277839120124973502164349612851730199396605647916332138820211310592*x^19 + 120668316206450028065811804996248679626886712340546887088394214626503392517875305182677260994684349447241216892214411963815457191670156149938118670897010714116647879093494819228199697652876972050338767061431414870711674232591364811487193189256526382577369184911091976444784177334405538637507785486036574209105444926484136431409181700363289814180875449814648835864553189315706323817379364486148264292941780875859667936365152312952139034200619434229782131126423274679390908449231601310211387338646677256050034807082022049119588339044039895156075994997923597263994725827614080627635177186259893346917771452024482280520005590809692674501783101241859999848851400293482446562049330167375034997227468317786112*x^17 - 18100127464426770010678755397639257669443839334417954804161089905773240529256097892047553360432933818719982115128265592783698727768877059952808032627921659207512157040352056867473015739026590383006136807711680745412071014111209306771049945388501591146115814158232366070896023225773458983495741814353471442975400067781456625691440018769684513009660592331791643198160488956751552072168039382151301903331030666469503399549168854546487751502378149430228112383267770805501907913242179165673891549853185300686588758525473247125996182858941855487658749601768016747723848535472286624440529456934868456264119469699685867584802737493027036079394033494488793016151100821930809246137913733312013588961733640192*x^15 - 1702820755049894003504395119469980551789773613134844514532831770895101782203311363219191175802574056341222846625007589379380294363005806533924995712493145006818197679585876200903742425887491882711511430826261061722347871483342909087617258208708793644207244585680764520569296242727466828179307834063758957566717724219136290584113277612007378822339016631524004217964900205845389035204561853967112219183756078964243800523408597598900721112374328106318079459484695429545773471074453557862241246061054631176482810299828232994595497757088587175964107622835103567389193800882430697694470158357906656128222077581814515454700302452201454495749279654936203225646124752589084882754535583815075387228028928*x^13 - 36969417868876903693152336425244608214697498348530841073673844229711073301198446030432891656282218857385836099859011209011791731412296961418746607209398447503774492379727397701465150709210679580217245463653696888393992209798900633666615422541612541818192789263292227778760065469369872873994741239736163312627568676599338790565341628226931837825461059841503760058108318212741674442902599544557005309741123788452258103069402961211505698247746334124739084276592252924097221853892804226600818050109389752246475623684352707666452932447328920094385409034503345186046661000307281163402630147180545227705417482681308726831427230877856701386304842114696052291309711165459261108778149116321036500992*x^11 - 369606664437377015059446889991516264172195354791399496866374007343680486455339143783842541859053977504234921141885734877437120829588155455539607745853468834722757512174145691842876547073787176377425803338340894618853092804149648940610191782849238594238207838527389778944572572813635873835111666506769268993962455418368120066121775087153197898699007123595684011431372351808129565339804796019433711916006880604202438237817513631784982159200471328104142376260551999693049719033445899455640191395610599038455550308827693169940397066740711593608469227917264777079251256214270510816727920662591075900204479028536221897144025908924913852177034129886217181121598997857761450769139796879081472*x^9 - 1196888837091593486307161798900225007196202502386770337828906780892113848055176982668948634436185814709140117205856683040970944173235689185319032155162788788903681174857187410691492934659178211991317984451821737930928329652593884201209293069349019369335762060702336794286615991550766190226554890999527479867129367420441560934115845791841985170964629349630681530927253021934902938699084933957757290622643481428786347378279395815962873455940913446073735985265523623374125582788748009413710761437105704525193721344022934655159281386810719997455086264223643686180427313707382764643245092054133592968004301689324265783264996428233528073925611860557214397487378594663699199701765062656*x^7 + 495179099054521727351677934311649649864054639890731570456933582802981511119182158186391881584205537860003745667382436531715162217715345377625498563837380247868907502008084067772982188861043492169357692489947527153168805889905340329908170836501669509009348439954734800567468915586307327407321945703319951848824746172052695741714750385361205278907006785773787817725560124400172908008108605893692657307276015106757865189507813632751317590344876018673399475229314326375324036028461404249067589852488107757575417294129874762151206992904121733257801377658846969422165012823391351998489559573591935286472767182773693583116213762737542338939544628273066572495456834994309689245696*x^5 - 4380072305405811578474232905855047062842035667371024774940443379770304927234780911773879689032032669004174825306407121471533923907728285327671865809678719010865042774825581163593495204224365112237495296021105151380802181051473471292037607997034587625811807536661030893817538777236090483182933861642592041671978029404942950421194826791987695063955401297977869067989952474974754479733448743493706475520957895906975399324963397739384326775098229042819933091670468058160387862450300957592444408159931456103592064614912250536523921935338139350744117647016125153319254905032687171263454500276317278364355923938603663118942810686327978548725433218312751902912359656587264*x^3 + 11333327745666646965977471496221539400191106727123341444717710793660877435302609863398164936126801269742240595499603018904196338179409338763229734443690686975030656440724811316059750054427514782391321353414520636052122566431576026177962158522540919168209142775643386138274784990616734066192006260680972809763333184082728218969109291128929309820643783078573025875199652935400951175576125240571491420549354327140847265223428279716982984564074707883024571673367817153761359490972702166771925448566580550376434237560665486750112910853503781533275188834596284704920878355601033334177765852307682645006702951463682585354803296360590672008974599394299785206824960*x, + 26712540491471473435475889155168302779591461781695119133580085856003550402938735324247351392128153946340290060536705501438347893009091829714657197369769302463639027893891664295298535627713646681542992036278312154406792622563293668902339303853513472687667817770507894475140107342695269096390388938817342295970686278617403662591441219459373048278662309226737398432405782151249236492165204771223200352801455292581251412617322209932520567852588446912504275251129336354549768568451672342461302819578894527514460035869536678858815266932434409042707259268305735427800227408062858003971854602594075764522640010307716612580852824265076969638352441114642408068704028356565057410104785476880297437431517096174359731040921227292108534253605561721543632299315077554463205118377422214443788696898681447398876631741985148730910148933909964175830285309029088544436518912000*x^210 - 368574534654969076062874939287690432843387446434917401597438878487511033091380789982293308581676343285989039550681951047547158539562914721887189361913249708121769476706236773633405015868601164731121824062225979689600713859590102105833259535022092982154557102512815464520131038639441551277522608323256619601078614073713504996445887308920757997452405679206485324886515725363520529842117430658999573484547659255273524100379527592608460197216314566000451824135523382881208829555449617296659795265052094112237788551694034195693299354044193754015641060103574739240699629865909234274709797836903803991623513289937652821469590748731907442962835718837953704091223658797910837837598149532535819527524205268112881680257914480413955237844185394545889033706106322604406787333471119154163699797849590904113884557376056538969129789284858555069459927142209059551145938124800*x^208 + 2399446749061276474156371934244276118853767288995152891419401901926977424984572651191188109515926235865487288472651336119400687028078052596758202529179216014726456535461767257611917935171793645476384991016107057832816742809529156661646607999259529589858626373417291342140155556300025125581217622977496399008705769292256808324790408595934260352738425892819156884069253164946014259941013353694899298155873981492642963959978003149361617134033468485359797536970036145030684287036516687046343530407811074920977966303532517725639926165113428488416320172517763791956935250315591324549677441660715107605325029502223433270035868460664432616704027648261914187978616588143797083205845457121259749214751154577322279082602653818808908689301060417632250949572096215902029426954198009759298323167043961817662138462547537872607526210837410725702345491118758063188056221941760*x^206 - 9782259970430959435701129173627402941790580589199913168193483379076940697080404904046097039093125353264154230643527400283087501913345909765765055710702141520033369674096376717194114307680991203139904050087643479268939982869222869308331697990428012305932884722526248699627027280514696597503106311785361009100778686948075543144812543292264915262159720640479533499764314613777578804277252603135292578239463931275868478373273403174744742084582462789477530799274294638248368879233883140480149398525378984809581681930118161707129256621704147618474311473288975854276851351340104414420172771042789034698312948576358227881016722564528874696060103180076099158385890500028851114007001301719155303719666566540202179874364377307355065314966534759628317066214056857932342407336322686024728110802923367035365025810004905473304076988413809309482720689418546658058491620491264*x^204 + 27935539757550201616645005545527648673129824361325596689525924786257749800289206405539987355224367608283443208408968199722517764999629149038794217604606468267626725971160688282029863540457507280034681758679265407978019395644549447281950494299587476730366252259873144603484417734297330049449127073796822143352383427665849232266195764398991475860237015147742731256760256443099574352159536768474294798169718159143619715586652555542004737929278238511290320853824086014520163783564218218296218587098106222999654159911724132862797092912541074458515136124886630581407165976402546045348635158534889288648275794697768711908497132189462956723409043895212543937007319761320592359071556127386402164493129792061578654665728693033794253858380011469242007554173182683469373001479609930873327628395352105419035512320804420857142096866896073306528151140659132329845210698743808*x^202 - 59153812908224344873319566223872504150305873408307090672459930352963687852561175322074734873317571064805414928978367594790136461474976392339562665625608796520392939665341759710633745891733142033672553130055888277041518128461212911595893057649089891025870521307959361703097047635532456179898652698774550968432121039879974282787434945617344714328697517354705800611738318478207245369284049163994271086621869199251845127971998086044966889301977122888495024404345505908305036620390843967098874014529865100504748906930030362302530172355637492595354377057249446637119382848002691505397076854158365530718356395891864415675792225206648874933171009527197508473428425498615141266124291363884202513279604612769369808645985031823513941594899872128213514905521655443551614328800699317567652836732334422578318914097822281338960178137647019411105858599848515654740677138317312*x^200 + 95726513378533678994492573808148269833740546975304803329264420057797876830380558340686481343321227845679236494498820386121161538520114148599022950323719020568067603611884554203292087562775839108184287158664179780932645679465076670363886795159173642229028523910177078396345931955580889602264293746870834389579800388482789570314239182668514556613303114304295674341057677653506176237393523821200314298335994865456838647078148641968308127986704964836088843033836052983156562202062670704869328742011643486235134748721200565568869247592737193220823458016939731196507146764660812192231306109218745485213483499398979998549112396391335190426687876339021431362393479127558416452842570270529894489311182811825238881097459602777857416609639808064445037842932218561402320791725114897696644010520438561827058527916686163249782927636099403532852030794985883736032610743222272*x^198 - 119846739724645397034281345624135763880222039440963971078088129626498995642134932631357806574167283529118199535211377630216730745754049298153841979454268851108105661189589759313732013602063174471329593104826407817560295923373328278412786825564792809365245430411883889086256991300458500362490379695103599663174850583951405528702017241010350385540903003111852667359296055364499231923280744397484463861936863083074147266535991661807457094831999652513857299241097879160333099696603181190749334012218645754842497646631140751722046471794466204069149730885691457186763178805369634380352708628113995822275353570140177913284650364164299549476078342302090813975461819995897082782849238313961246718005592005750948055487943247304120255607639585612871587514058380950175749623073500567587143209434246723816682890082696931858514121388557220113356056802376600344352888033640448*x^196 + 115396292829385795315907972788859025745949111135867452745777426952169403884356370100514432062972000197444752017431115877793974090754868685525566277751083719856150105890948072250056199245716142401471857629982700869258655228971733865435844322109906326390669705002276423119211311075709954181767533830033101016712020163977722857727780414681090450339618657436459344804415518824705464028650040811210948045809856984979196366231408329121970915936539024751794604194214635803814052568950039476807239973576293092272234344487863798031296740143946650412810889395754137359503963192972249084991364821210148725184336397224520736840146525891916405514316920274762091839777537342928993208018348442463128474171514581314147232856057863432916906966197310489163005518407688120680447908294725686207448972880355787467498689448593115184657923254998882690128583604915529468135733676998656*x^194 - 82377112588858672819195492866416382434310516397267806547130650286513969223232951456901967752408890048789943678994599055065032207194574252541440488920421375359296662610329775116888902711350900050773344367348365449282986042838666533145046578427452668605886439048169964017282429281501681397807934425693376747573948737367163332850428527208135421195061764087259834627596214130864951502504524489708686832148703955867991669722674274262898007565292393625980878520462201273639357499329589873591047090623729531397047720452144507042094865976428562613996152662363158026589090545641308019618859887549105902671866226779770802088141966763266170030903297464560583244259115927812465675637966678249888031139824937578561434666814500294011862548218038294773364998385490359892839335770133125411087465358493186166753481726837928794952847854216289895619496088964608540078017901232128*x^192 + 38309139046509956106726382553111790821951556792743701011520891458570738204875258290050787581754463720257394213677353194534906466871176199086650399378351938314478607319025177489944528511748735997159653574994918875841190718251851479118700038883307201534361833712823333992312525003033618556471913994249825501065684926395025438128816733407774665456351279534623945704816750644510541866926989763167218129245771715631262008022776028839843823197838071487559082428916950384935818759036768567141619037368358995160877230720126695995336986838260363495812847158026397876360607201889897922456143269193090485619748951841962089614659894586339215242093803403250351533151162927811150032883942385873534266458957814763868252757256713251174698096155096650587114690656053875914506491043625233113239638729594845108279727678239961504147878464218751610002620800402354977402243399024640*x^190 - 4156230432833441821183582817900992285247003665529467308875613381692160175750247421242136441890043603259618825941330741836240489230982012864208935613170537375993508447617212970878196066745812280827696993064539786768837424741080769861710848019064676742995604252707077854686119061126184318813533119925006162977620808272909287628094864147679717731482643884299839903578879396203350195912679431643352232798733779337621634075682908058078223090301298187460158208667219373463773620063799576726654797760105097003638429823903293726571039454907804956385594629575915442201896336200548581605100452103502573042687450216402364709752279319235909632717091379101541587416226397274813567192750574545054162814134623150824179715386686415936742413357759952486712961568943313373885757240772427228481206576653440200743956221989668555691036483923339942543131929929746269621775811739648*x^188 - 10650764130754046875123842100312944793998288519908290687134773901537451038692614061891541363188204434341395795326444020052003152389030301539205192672583094918303611095622062655714011399085635510227196484626920866431673124182311393478387776145410071142453479369814832600234757496717698416902801851315721963288387057249287348410941366792325043369696264618101685365997448878594595271659425289914324635213928420033670659699983824527023480848601378288905692104159237499886307085684726232344308346229345163212129503231483345770715376330000862818763785412472700624719276904142639952818553849667295806796692419133721959638792883892727958812500734980444887365070709924710053352574796190393497288162543421050827043442479324084365555920825647656297969788311753205586788474705896231496108387299990375162665225955884887183232273851854951532292963527651852454927564344918016*x^186 + 10514940749235247717077901698833925928420084571692929296902681207302128765611777659549561683519811363078613313232086291551528476567138487397212799593956209411882653283481368799026783016296942712338254413078126826970171195920570815385054765593167471932507939973731195191272615772801006368906520402368850233693605325123449335251798745004776758915950763287074217336397098566352376886401860209859655430274722910602584575610185271669828810641495718997733701822804090625013311981386222055920827495792290176785249739365942099486957551163606882282384665684514170415305775487289217751672015430371324759268344426369955568159199363615244422131435736687161250511388738689093974225915125241538490819600251949489896190552632983698965737890614882415709003162768957766523777231671562884262466845914760010600880057771219514432690230542076059418642143456699291934799000521146368*x^184 - 5104023443828823815490063697876522033197376826195028193329555981383126260221233962276569826807370214404730009670477769138367758479797924365564826277035562413902641513658958610757981276935575374266754649865063136061541656323424129389906310641135853415879234310663726668841928862594724907084799058237864599148382997458783758640698390369078703961647457409711482840325514048671512858716676133565615533833424258380514681889085724647314591862436514397540743545673908527586636296355018395667629697041538315684825008920323478868567584257430179483349259054840473886530521073247416249893065715604783993682017631614078498419297017334868291744515589252358870906719781362006107383812566181038676964175765360145716810613817788254787288461027873428627542407302385727770325996600747862990733548601386266992853594173777312168340696447505687438578505091559746514197997416349696*x^182 + 932466130842855754605872444099963981213629180964011658158089321381044604396809459675131229897461045269700718604555026821878619548517328267303428809513230535067256373098794172833102431555386954937814566156144668422414875169543228720703320008929501614970953790872223849173015174827906929156891793332191697646299167347767006855171042641251185381733360095852313610107975229151923289437371340754805771491957428127396339238910687195947781714263801259601812114971136031627781286582081084823569237614210940855530896625099284900979724195429744349614161331884762148615025070759396627507235527741900332983752278464643261986208380024775233500461764935014803057739299935067053430541777502119274056490312597737428524417201934869021113391197264821900957325550702446646797379849087806662294608251554676093532534343254079453792466173704002224469966082262536271654548699873280*x^180 + 571319806929444560519416043292928498841036751951030291344390350940464416443077020486942899438327050286182784219286870662206109004551712442739035023904066725058010271760042159372819997753360109593421457767267947300410981562168373105574711458800744617769192182840465270912000902939779143555393680746946547246542420871920376691462766072066052897302237224079603652455829514595276734772697542228553220771057651342602004643231897969458385975816456088561091189340768456540702856643447444017250005683219784947176867158958891644522508020875520080387916833810241382328275362586561861171780860366585391218264546361876319237705795016783438242162834476503397059100295079354157383596419604303160860518936934185095750361451641692599587770155461175319308296722206798338331402232941893168028799699765690024660626338676957481409831595130560035734656827382632039480702825136128*x^178 - 557708952190612005696804690930936186179957566947062523558036353026503432180860217967919835719354627656456007673139198379365799946687265788389748457726166355137130022261630812914558142529706036846257884374106065653279502626243611391025272964866776474979437126895152326629269672467192555584461039232130419690605978781864646860362599794907311219217311975033984725912528741519911929759270233902437579140164596830756106346353569653131401760614333928864917756585095030720095268874610186532623103454559495638379347142208928648810018862793808556329544456841438901341063110133893256000018453310306949784166451919027781732132692757511518603784599114839928402558486120911079603224034573212512471687073035915727818852434713374561013529233240013873145590694680205399776749940617125426104864185992652985131432128344211161824640084987694514508715882455215079116270022426624*x^176 + 225092504220207626429808237543412307196914538905262615440427193302313404346874331885111053593220723617933487233324712247172680927340300875968105958775038923174969925103730338475282503445933386129326806627307713118918849864946263989126383359344748742817751135059653517116820621933695143617575978476312251198607406491599365645960232393591212296884770512456324186961532276048062458792461213122064947165483541875399261925330654643543615247932329592542618280566411408464645032223304987626626228992614082051518432224081410970507396425476244257520519763754515112490718154245589560533953444774374369391767604468198722671707227243592862279884652269997885561268495461721513202164342549660180509763035080648552227791945241661495333869354773024564806240282976317833771447918158402576920982186741008069003121142396081620701002671398309401739462099813513015652204538757120*x^174 - 33588153427154157635195938262294474041542306051473022119628014190109413387619055535682366550102795027184228660477629034275557882280499475263801956983265663316160038183550968214666575747761696517760580240100042593282521314995922551818689991149041191982972277495018391290456969499422998546363871947466663879008533604383770906588678714250035209467914957988476913975165476505442172775805331264854176943524693624734351073746311945031077281398516610344716448871276903097799270270466207804837386616081226921225995215627595437125519367543794990010430678119100175537317528507626303769848146229790365196044580973756573690728085183260398428205090882140182404782871312344872006210957140149281125841155284521566820886615099418568757373469080827418034273652191587414339350974081542690085418786686561854035148052207336500004485577498396310540263825164558187421984689750016*x^172 - 15398412519970619346963795231241423918388574031106607417997308135597092386131648433251271391622340447501377371753440853240454470171713840551365356489323515035937822090530288090886998823038800154515574452548031680750209472745597217506400373701301793063607887013997016438743005955831261937379298305687448389037036580970379027721947287650030454387018297045764123542988551056773474142644804903838481997920825810882520599900304848978232850456296545688314641433606287746345133871972517584585494789428118764112957261634630487093376243748729645508792058028307266446073453273016159992372214191745988686366018953481313426053526144343152115305840966663915253601870473094627766834736702639503241295032060722081353139327638748154676117108230988493246946458058049099856003075522776513365463087134538794072037783108879885664348764536454269337159341533016143600828054241280*x^170 + 12155200538472287586934021766710373076334885974638260518494384645302877430288264525475640991252533457023584651099906589331141978394176937568433261307663731239403598251400542525835124382348856267649138687951230104409538141695895388981732854325972067689550615335705321959804579466653143590434231474630983115041451863135579453445680277244382914816393164601864563105432426623268335328326092247066717231902742537239702008874212422556650785491197405103009707889475698135339285705317156145713652267351821941619432118259015232691971166506305909204358583839954023021874377268079933484103994344351629080049070338179117272615535340581791207975521093865143506779349618897564647072046246972441692974440362056316216007494358844313010321391325343345804711510405093752810641030548072690813574740907697762262398460743814138814757573517038279542522967136342349691265352728576*x^168 - 4049243161201360669576345339216633645980600435235198516562797105500955203773578130734280069409691707897816321304763361779427701770766068694744462174315737518680282885050266701963146269617190175561223969416467674434868854880154556591923510112440173840298375023701337703535975777220736210786162105905460295960591261665861351545379532449190862531991453870485648944100427787708186684821740108762478912984050296482722352306162710074578734137699562772159543025048721168705712298063758643281006866340741697381761240204282262033160070263470652736510228455407816679249225783696483513496184926925327093870049923271052219577793674228132006413431019376338784711466234501316527646047843548771106794943611273455013531847462473196911802081635340398554207270308610128385752973076864723783680807098027939077434397052655915301140455941982455777705365901895057015542867034112*x^166 + 612798031001801027934250494227420307272270200402194445778202436008080514689553761902110523733919767096325755866816607365865840393691796550661424919166454581694875309967366503549128939470460895272846293701998585777750671081460451758380020214626139659830073290779525495152515066282093159698249356674647757251883404578661358329210489239734252044887974657216289807346882625016016867039844317543577739047069632877136784674926160412870162288203689388993192589912422211560774172394702374379928224996345231368545410932111400153557221770277798175686721121179991250974637631683726492834733175731219046858911926499825995877489738989973162782396378137720667585818907481344662324166491498659179111147820779889763294686756660267901424072157920443371141303696874155866578163727201871228145308544783516850696167016375892652504160516255033114697228358466176985373471670272*x^164 + 96409425005175698674751542824994589351476199481484554505571556497257418202268340338836955198717298656027055392285294338011490058033235762345202720207347415462622204222458702339155374320142784677909243095212478664185437724229467629688603517033873522575869785389955575811312395313033343577778790303326718303815960794392986232540157192343167387313494481767587345267103800846177501904096013984994220876948523536697938402977322542780768776511554561233022794731498386097632415172494504377455738167667641369650070160256413334104087564054359006809936163162970938591986872591020458786879477800852308967332464503506231229062108444898298739178769768721754581203293754033651388183093122861986736116109528251461821611761936570576895877968138816134501429022983197636211200619251594958177001620781481959308250386667328472931794076118840223776964708311553113536356941824*x^162 - 90205056108645177509985745960428708803914791187338346015685070814365665655517811979129974858840951032940621040142637977792310703048750217536599009845371401480304084461819407071956354078297397310341629624158659999761675020140474200922574216094557508276563855817366284809571169968139318268017799371587160605289459839759598413655964856088618441086586591940706831535979139689788557696729112075120905361792996535332515002520671261954909868104354221657019489946014457464186275873729688006478098695947154254581094725710448451671500046199303332304905200253207441958262897799782368218858264041564981446745900778393982621163251423614957706997690660675671065257388226869460838592828221512387478210509718895199326491544192641973437283911781626416107088279142679213119533781766984461036451972147236820675574068580479224491270903138347333300928888050357281228194840576*x^160 + 30762696866270744744838283351646926788696369378849004264796515419025063096485108332934953298193893445396737188855467420909280065555571377424349025045503001395109299028648475349497880428101804420000964752498771728345884239215599043717065120314818575832945385788137286756139072691923492168999189486207888683442869954327287866709734943356753799146096872763349322458480619461861935376015431502917555830602118804789280795868503713998488591032216415348863840464566294442111468685135571676099430941134361164583572253197328667076706606831700558687030910710476005288763685922351091822272670623242458837255395891728934765446904806230924747453064337479781507190242466612844994243499052339613196532487109398011470800466536723747107714579477495875923433593956138284877367115879744288209412384208242748541205985198907907914030324535132713508608167059444990245131517952*x^158 - 7005161342887676353483578407929437738687565604823482579348192530325437833161974290652182697643313056865580541208236254473197688127034930105083599303172821623869330233729089896967208572320983496999972190752365113565907154919110604968373680617462674981908703531427269102046722266408612029283327900673457503378178578055938255602021473841112349580581868208216006452250100939668304862452395997481570922191619829088228051556708474002991255946629027142899396379937885426616538811086376344430775095651444509068290552512472744601798923837742146426186740978869866337308254622470675325198918296664309855358662585968522248940908628538962805904506278676952180909257891403197020647098057353095911182196741171105589673001400414102237144217122864794583495995180708546203709595724965447294677104170575328903350395482805512074485950058070898358740850558729974882003582976*x^156 + 1179757982974397996994343536802654735136654029120489328097581370862700720346720956591523488100751991120694945829000133648225454633985709281877727167736541137340547511897954914225403216477903348785362660739680230425008587292064061028338350390044013045011404917582919509959568605105326592990287989135624931583960349083761056907641239350381408944214683234924754871715433896231851168651439955998796116787757208098760002334737214773928747638820659756317441909853358278540523782077552169491827091065781437796006484422836443197343036326500531319219202905179381366165532428330904491559334562595797392048929064323285613793456135135451134042647749854960975119918091845276873322042395793303099659781452966372544950911207644122488182831477951730628656394097576411547581349190439880179606375578612374799653272037031515875458609906194526630672683517028587959153065984*x^154 - 151215960080558483925872654668201470413337524136026514775487205477500653565656519217671095802552729578439387208852871231703868669645131404696074550562013472109389826528489354859152285720352419885597901558936722148684354375408402955530483349558446819814760218276274501122583032679308893679452150110087068693338130578155901081410204518486995722435917001436846686780213051339788332700943328633447388959026495779961563531077964486590875709727157008715507834502408362118510875252554736388643132430480684411700327279914335309964992448352702505475636552346880421820476694145633524700495772132267508174510378250592990490702382222563402750959622975657465046945812857967522117975760475718029123742926813934450073557272081384524389473926652567946459335406634138919887095562972865169162520678598737303302619203181369423512291223070053142062073355326206895586279424*x^152 + 14784810226012425687670256248763791865757164394610056008928822056865953768801803904873803172451132068201554386002331262842731452469110497846314398318238392980370950940033477329464943523205988319153454203650374392464761796570519347394642258498640560165218438532923738958326703050094612018510704165042191868950987995703141838533646745953162452170209158201826873950633914483177132003969655882222832745436129845595120358245617862879588179337347027215948915829830373306313331295792787249954901975360116926606268948002703393638427586727742242205075446308893570282636733920731501487607000131341963325680331127161446843667869694791138071793688071063921715074098575716870258484908075965379014915137888386886861200585213038774481989854877116024309719486595076252853781101020853125834266975486221546362477503586580576197079625307928169661404806311494529455226880*x^150 - 1086711929116707875446409901341663666447191810013943343150870793519838650553627740559201891460575008873024336837664619599112129357173385825245857762248786337032765035165075830130072979388889492767078572127769106891840798447968479363318006939244302612681928205508910428557370604784496925748374154412330540128771773572706388998786655769764659627109067692914508575806766320814755418769408513120715291758737416695704149594600811700252304484076447102291750448952970363097603288396916351527330777483433050891510945604049449081287385489732234038759633906944552951984435531928698158519584266499925775012349892176891374527569379531222082438766593501588586450826253184927744465435048262967781242510686732824238257798731143623275620019810770061791877592924278798992072094891707875152321990728778043626964509024646246069157100210122396969832483160449205818884096*x^148 + 57852861104510661560652959003088614471610995146494780679107140938947844769797308668489788548073532048797173930663824484216371608821964350603688551340026495147661436917312048274101360989764681808964723124672011916193819948487801560017423886388928721184859799055428763624374935448415448694952195130184410831867008098652963408346682408026892170713239865940867544722000285919331925017723239248012077098183040973695626466015590872766661168124121882089023397050697263075724313007070574943147744187938350290033014292992124215528427638580432417907153960241367076364855686950754019596616547045751722006008025643719887429147697055549692069592876706417091847031386289338519092839172339052715235243423129165365262436206485732093117980380737304908471900734721894885112546761824291642277261188484091549568646731276456755788173492954441134662341000661613540278272*x^146 - 2005734015880393393832105354651690331994056506545602119875665105588430080235325972041268880842269246692335043145527125405402640817451487782544513276533704155683301496215378388693280322371937111908465845031853597141244396454911481591955425058572726641353008592227647865686791706506785628876272550923955023422516934042074145088887195630728117472677779034823097415897323787847510182416023890533105110407965836728701816980245307565878382542743613047531479329633538773350093440329623242083389898344461028656553318649635274654167712560877887424263638788224181302337995124002105468768469805811153763139615730580023274040298610059640852255626584629884685544808993026048977862686420682554906258339824239874179076672813599015264942002787575472754318075803092549175762279142937885194264385688229856856908909681083834159607473422807060841315590846934648094720*x^144 + 23327880512428266900747361135081587651850876351295066315422494499821507498769485838348864065874625903646581425920625955366172718682929322749776541102020942276533766600367148735899303379037107923290478145172256445412093358900492233195594677026746482431626545717139607536651663715152307013627084781923974555126038105410792552852507495548306030706529663833137979372229450005649964744279560513631457091692576961775807706310579944636073331339234938963358689523846796221524696464450838310622792740307987955475700793974743410009289614434246343193576225679767545051192334505810122342633636393919825124904537883752183085732565298801477125967461684234352608182560805640149708178304624448818940049684724888757936885237424452683918471234477301327678308258558868527042915533897962578774722323553909190199078435132523624707882001736432707802306302012966305792*x^142 + 2059096054909215651983633313587085190945919891193033035763481431525580735434185865451578062985778859868585158287314777237723371294824268165145230199913685627977344629563382667588447630583600593692512368302171569769253650065999659615017131800583126161612663341014128988213156370983779444993785377855578065347981628604877989079440708489639233643985642791596324153111012893314610369784242495369888441036265295121765216105406585531495751628576986238436721309386996139031062662941113147249185942485481853937805026009534844549708277312259292364970602214912353862196429074492071704613809339551019724984373359987492477318617304537763553162564985676255178235323365030251821258571707645776614822318506735598473171236885970506004535081638940098879305001941100844511798114792877525176266528693477012909769561983584213661004605653617060963116284534778232832*x^140 - 146270836934227219130085059664459472518534289073799308024799293143319955131522973100836706804169191879478151841689280671321932449762531459629247543369844925300503537907936993458046807942308867105543193218767666603256426050507270052007826366953889157900150483602322779570110883804817548022828880590946116110362344889657553456645408769154736407641476736774206343139381352393838321897610015671384896066862717951320043806587677434108744559146247918615239938027852561447381225010522505502027238637342759700624063503515778028631285022491919684995416096660353246658208039589405579883296961809476605639640426153037877286167463393121060477472897244791053755740725622239346609737430400652931481914972941282248166465756289443352980660998708598963010078816032488087889010404108732481522709698225918063900802014791588851643983795173090943732197941986721792*x^138 + 3472036592910942334194599616609737132717524438846784157059231337554285931573443175654130655156683184830611553526083921904552857090010622970959855779933802363756836835489449338210178515382937044737987337210512205877890250446980046600841387754182408989963696546703603655986224863103114406472117449244393910599011425533319746496482997037379626208027333292879046440937538392721818066636995679200168034803575608794549927721689272404010722324860473225390094710151894408505458092949616980872897287587436751966501699140617799077915028843497665526856465449588795033703938323274868736668178247299098437935121866999681246748860338427538485027966762388259371929110711157924158367361025413779997936209995216239241695256749415496009528309733019453836049106014114711992375786878078108924291697534648703698195779643699849983350256476524790247733837749551104*x^136 + 91857870974867517604929848970020556987825029537474891069527685465936545894871304594353952640039430992656882164115694928534368693942768421721657235506719689661191146781496186326786174296322282693641895594677976737487833945379016637656557006198382210232347181148085682890192416570803773477553831551325992517254929667004799510083669078598315990698966607520859086534861207155895933014575775770930647737346704505680162886995632571356638643333401272737945632737350916849714014370211383830652828098513856330657268235303246314448128283035455011521115706115301633130736064380320301370536079549975483925155335135617645114405068198862623145970016669878765956697785606359318419692315540325271738601414715776486275815578992123735350797562942951516851674443548846958976077845309474334071129503439166374463834649553334677234602749537906025019075662446592*x^134 - 8639370790269848271672035605211697432776539626363822518199678300767126721846645652761337468650531886933490183933727977562306141938194559584652433785193369932763547758600753908645587660724835641486050536334234048013788391680885706873220036264511155738228892524332373460633010240107768328742605034223366884790207809774584452328244193151569380610663614955825114124353878691410117808593002158416854244594231032278137269527318463290622202408701585090259937835966761167440268556694445703415118952274994246888214835050575887867289266630423360571031605299062509498051418952103495156562463090690777171551501163366918806604889867146698797575897311803105520323700580149476833759404692189990511966076912488226552482911247948856496976703438022358984037627238630944757705001438574599368773147047314704407805184669669577027356658877567431491464437170176*x^132 + 157261030200837019547341480493446786293125905206628537429021751219170316461986319893778764571087479720833770737502609732316319049090520073801070339585471303610629221589080261449885584038423064984885497613798399116400783997211477083323215785081391465643808883420345443278756421388525619755713869419000880994569563216311891872012371155369959692270717705119954635078342403729957639448501911669059542664643007929665572185630200575769363069657148472533772840427848925294336033132369383839299821411855288608430889362426200479144279546582473521267661959054123107789900096103045448130442041657913492936149237978335418018520340923964595090426564622649776121629020738187048094579159336556420790221954244898883154053656818551464928722399298721182392347608936424337900273805780722139026031299686380557782655035840986559446849820816723663748996268032*x^130 + 5235556579438286166546021289972348428726171323603879801559649745898093144495679182644688037616766463896899800286048279184170820689821383564690380304828448099076118808517619441503345604880715710055570794083090925635924952365400256274184826657967265886711074093959194404008197030060272100427765027283551133859266850476470106299514458044422250363057610589621464744152465556374780715110079052633645398145618289856949867901876886580929915436245934285867704264750539948184189667465293355136334334287588542475802072080512088177550528739974252619860691679944844950050607068291463364445400098683891533536411258203197115911424222822025440630524980325887973658289708633812837984349822357637204253268351830454306301999706783930973564457264095562737274699323029537311941077872145916512831528391999682197436543007927743622109699672883735712411680768*x^128 - 260223483643754246681409304240681042938612629410831644461563020734908105369391244223551750950646278617659859675489541772625162131258875057235774957706177194540551895483399116349080141392803299713850278998355121044358887310101841419431571645009075903896092024938875985764287006168682347589766522238585147128360129262207420902195534530598209387179119279511710384434397843072965834347168781116396731709720498176440907940286237455455066456136975599846040623873872819601327715443338158736190577806526288381161610958940465816291116310682555418149438069403496147422714326420977372756100418377435559668611660588096757909596383541106927352226086850691719560080662397526114032970691308978077494244154072368406111385957691147730411337422171777596692989165467396843012202373955167992948696198841369591663535516798225572124845297668369429009793024*x^126 + 634051677415458393028968618255468308274810331648848609935336586436637229572895849208169144342153805198048529089490494104468588593600415767357587109166774650576568251582097588410658623870616130586713631314810886005941627099341413069247240723951065438557586552081182218240401848864441919389491239294604811359494498901786113058754447116465390461356442449162717660840482400524352205467248472589396598726829355171474123641856616189645208454615811837694830746304530364525794696625581625052910705808773864323325210089379369209818607051575671091747083530705468422089358201202059327629025881718049505069115501659084510589323468164775499563622155982202095925320342179790105057084406810698567640127335292076218361105318190823371055986177109118302137084200671127802880263167500370211587023501246800915031607323038599132187678931045331037585408*x^124 + 166629466298070943123032522860762043356132184581469804757082751400767607300249286782638004740785975007012958102104240835449863726572673659361430387360978356813556352199008230879104376893977547763998923458710820603167804690191569165140197655254325325513694073827130102169936119973522320825441097469384023060843982935862606776931534621920629095199516197851725487968767161120255437818646126241233528744611610615423449399007770607017069134406595590696021519539319190203425591314649842605482857906908205241900861981231422239482817236475370401528104845967130367774030507471309931877303496390614608932736366509389680705093464933917766602142098393275165343382671495103537648428475080513675541787400657056858720708450120830254318369791815004517757045792850638153382655198808399751257883735441877873401650903685909182980823939462940548136960*x^122 - 2526643365058483591129050529449655374020225367808006236295860458686898209112414414660185888732065470227195862322943287299382007452602374019020983167026331998949798593330378973851850139908694806908176756720392840580190009470216138023721581925382926637326306797587781002144290882633215700741249162331215589684851927073496980102743424931322961854485343307728196627645504051292651116254563081233805358473583006239106053579937618930387752487610409213667856221739028934937291751163954853663398695036418418498519194213096158713197734314121980074533952450769285449916790254860169475010501879966329247725272092278117563643250863440067002125181811785855652381923965405594001256960102801170688643254197216868211145172671203633904035211740932839955745630032338617588040302207262443913696653818286850724802264144749705160634187161726059806720*x^120 - 57105711780154182724712755528799761802823995037631940001198528876480029716776882423186118899135005492523656010796676565910507245437651190166623268535158418050343393043895322056234777590773729746481731243228340881216457738191817774724768895836555497028463070026903458928271661957073014986103791178456742805800559876129571595342547586634504598773433970595119988656497480921174515108611462796539668472868126693396033479037130211510749401664470847521908781843150120462686930857725972157830772252741118314716034982074738085628567504041041009185132729135237427709186835107549957089668856383416139215198088872255281171419322478166111835333133230983563307161192044118838517692897354434004027350075132173085060951845351497872908963285977368343767694199570318925430543614426383076590258497148875321162630255123933109365963514931021086720*x^118 + 1650191022971424922989969999710335801575017962108301409292262145842305154633970171140173363505094909555719990034599579973257549900908620119741087519676136608996366240476619560930931278271721753887553812539221214378440305837907516511130943063067452874391604447576029984084770699252287812735577684863114906232318585089341265777539479228095738877256552178820255636216662460557735502411813198029848570741603491855669541781679861565371148942131944472479661843808646188218844757738931339875965775438532936621091118533821034596586007563700364652896596480729082426476563433554547742850457399686045524643132170831780798296866905196634267138338658743683334582482191656537359221369535463004464233191466896950670734241829042971287587197323342397131284768099325916337004853359413759036680135284744324218665580940338763254453115665057316864*x^116 + 9212043679937777205353454354328043498470628566590690076424205252637569019352972192245126427806011066066911559356746325292960866819919902479647905961321164118061835197603906938699352800942689087303810929479275707059774798214161473035783253698836489143515965253155550776585421009989564884231762102324832448077767349876862753391991791954837140906843313116728499837640856288846971844390837863307663698458313088418111160978026727449359217647311767939327784198927165792404247952682504343917942517636119695703230384613653041438797713016181785906823191227695685504600296980044843031873642513950551069203420715416946200194100783630258155584403433428384428711332344421816314011497586004395462105608378448001461893689989771216419071572097874761246218473994371331107095378765005385855777695093426225799423888099842387679474116810768384*x^114 - 624850511566110691010259235069638457913788196209821182993532748123122315734674310831266729364948051588262737730771967916807503890406925092552373552230709708554898224868833784221510227681009107744740179546418804901856936794991052518961754955554808235286551199863221424366828371758360513441085467211743713673877460457994103043225769984184393862332519658140170012847238582218190568833541983899356682126664645377831742925991337779917491597828253224760749359824840509948544556862029536481846046380925720023168610776244387633842270528924958910242218487539511014525492670335602387109938321153463485125850598485342846230243261455363167533624467654963891793500432789937580962586182026291513098124822563202576966884246377831658089621826839207641141799473925493422724378297338399095625621258782822389501615537082726382087268533796864*x^112 + 776333580054094921198317978646608986060191292629176527457967710223722001693120679188854185880755469895220170430858564401429532129535331717285031834359579760840200395614285556039226479355966238085818671953684607395608156453825685851248050370527766082315473828797661886978719097984878680132353578076267640164539101641628873612928187734942769791580689832094428088572951829765556803142213307678375634299555110898189619258891923132917499843837090374810670278585588213952969421504208299721994174971420757919533937430402344489199960550266128282540336017654370522812907696516817807136353400123052647908708309851828761036074553476654048173288015965460594052895809764340101748020965165073714668800075011170349915069226211214630119758357300057063438035045674835790591012941941750819988148344004604474800412973904505661219227566080*x^110 + 161863592232433082149148215568969752486562113867542661351543268729631392216305343943762870817267439364547073117303632734160248082156744988440928629674412320908309791044809773641663869626038949466736142982817540114707078682854524048849548081953725787326433961235522464495538966367396240026273752487483649741492959668652854059156750312602371984774942360594017910347457001398628069498386948086592424118089123702913822892135979089583452803335260598207704976055673155262476114557042349551910231749627428214198685004173653869717535398723544630789357144831399221979791547281433443733287723043209758339322826887187570012740550632785279298370192899494566150589244142001137850527902547325020190420254052975985216608854472279752812125148217408799666398394129279748997932150229950187808088055201096588578005214456307176691415908352*x^108 - 843032859653073398092886963296029805596829694361934933971622564665440904485612581335569048493649806468843810479307059781406058481544419177842977677739960113140847883186482108732139965787626678642849344318051385928618365579515432575470615662127526416244953402187671204194463339019694353792161402800191402548200585559085491567101073202791598037216731163439981167355278473980511463769268122997984826320218442215396177480778833578787432586812182000895733029638655337975677985703417257412573231102509100423355164853142956205261981071128288954059378659350626174152790109627684640875796248132775698164863359729260424728649160912537434626434200118547230309503099071717721254152920928143441288714351710572169389179390106171344369720530391317727274774112894765091651232487838254206509652353474739718706640274684582425794707456*x^106 - 30504058278548743352725283606222594947143101461133036193446979152035423707250401790401586386504561972741968899733237723282189440942916456423305667725677928357430503455417309179175954600846027343602872223231659677184962704543827262571009710160253835114392962565962039503541514846524280206922546045754576309203837323129406153487811716024599117756240583465263727247431772171403805610618639905414055279848919489410415077537588761742239626050406330040796112776084989710918088041929124815521373157490757602041087372751451846548889664582300686463088786357348574254384142817187440529500163445260040307698337969336553437749527196620493736262893836186767985847224098686008295894022821086387832962387035825632131562158542435424558612779532011484800041234305112176566593939497706298768058817173005320822594581342888870117638144*x^104 + 243544472735071678876457556552554522894356326998381791053211651478396834634981555236949522601984249626435190342600898457842392356689457507466619349946623332782941468606774052293167334207989998742199150671824093812719862942669434664200360133681530761517278283133386755313755461616826924442332622020778644374063019246179711210084570236309128226274187869852064068855843363999342932144672660051052609234363480599662284356987435374538865847686453674546446306134538066256763306977323432894962089056567851208771816785397767842948163268359619785111525070826765569514752705657365168333724648286293427853272099570745623091039050183827920481054106892986363537016553936552141689308783027592241558754082173505407330711441430841648820833240197572518464549350106904487529314580834942134188960801647993787512790492013606069075968*x^102 + 4291759673642806422738111282617617877738362775583990799399582330391329341486781269067192928789813329106121472669397832628987684997307991817575299024436183555401323016337311392764966699760976699545493740457166960222828904753057432359269287470422132079990215506787478431695733426052282218953165144400125213428317658702268111782995112008762362225780798438138761554505543859283589442054602908613452096439920722305460039125232599705833480057246818380786935591427612830295436703094077025990267502318048154250190757159059286952033738561241290704252115165938196894995168167427171192875853524717636243222388026592755650644838871274916227282526791685469522907209147150090345280885278516980909700841015782777171539681167264398557194127507402673146116742038523480751093012615177502146692445274630575218070955404576908378112*x^100 - 43787987230771901498654672270583875965348573599043782204613600804302648477442596408492377935348147883336933429254884356486890908380793925848052473452931872853817594775670285623817106448781191475767469795211542711758297515270195345273168766229316879695687419418279764674575390566189591659832456255036094318733462138332644210383675237058802046230019835636042576038799281907279670416854056205545833613916593336518324766527809654721708120656069547652040239160492812619427260407438006417542422242949373788564807460869153521297844014458718142397179683301979592655056808706082843916402348858109007302787652031410932361434503628341328360754573860251031317647229505155117280188185236018655023830958269322099449111873714346811210066944296295390860368751356687655506477073345659989296400786416980580707220813882977157120*x^98 - 451987148725845757295010438539849102143542188865170109946211085238204722564298538236199015776476394122157795182330930275432255152529440889415334768796932976419037346488075499373772539705498819384176664380233345038997326003660835708434263224412725697286722369282803834140918464241743228288861069684394170736287226640400943622027151241560639900955435608420160591710386267718433042520410072551294621112182019986132483952083205178701940305428345549025474333852867610190719958724485268036812540769397352129729360676004631711699131733035037475620412715409302279517151929384898525569798688418061023311690826507926996108130055208665245715263394378380811344999392950141550625976695355979135596988911880139825489432044990981513571544998596277652306676044391493336912920744507538964859924966924473504501354094703673344*x^96 + 5562137313691520137138279261672486561423125708276400961243445952130447511465914532213458739991100929464874221882879201386702572169499200419304339383397733685536659918207355105795370568005294696622301249819063532243109294405181496825474635285158308206208537261850073047937440692991078194120074134976912332593242734012633269659252208424434344192492856753151813754803752260176918262521586649999849251121531251243484938983700342213587917490753619429947102371518986523039870801332765369426849154131357002524993000369240989260803819988100648770339394404284199480377127619283497643155813554808851446716649473608670367909014937181313410976018228226104908849663713309755203119794381692646778828507098649730223344572025603912318719393264807174252357228596813854926550173418787364596588731892220995579957433906233344*x^94 + 34735974357194117945113953428419175268859673530443632793675234204527341850760851459232133158521819191072556056276907959613540433051986310093102282888470112771437505152967990911622358320021568635651767895266610109230402073638293847411925618199724541553789209693204834199445219641070470024916809101371261961696913699282988055238779430837902160690475702605856548155095859077148665891163883580233580757921977682947687661070442323915360627856321505810147892375334352673929406871858577104336900468553055722924341934240165942440442151415148744284264279566910292817809904083666431046580569540105690181928851941762861491356212184304199826856874005394811799331195336855742807123296931933203876269832418287399240007108345123008289777790084062813713540285366963373260918380698432238482503385519130584545715508215808*x^92 - 522118159450649305774179890357795358113156330131598051451409581890556493033677675790081325477341050517594791155826733905950434785912777034284191120095860368876102713339080622725418627071182952732262928456804369276223594746984249757924843965011305458989302781457282171367099795818033213167708311661562802857698235592653752211001501425075456963257651316525216627470828420920559068817822252025997728684193822601841384773004456878895417000241855141467256887528236089244674857249922638228642531688933793004119988047001398100159213100156300217206189800386808845531197977829041192785860953925086357263979126059477020624285431164928310692023169425624608027009557513679050581559610931653048607925617722273580119582379924515826943213699121309145823205351209634962478993732615919002175460152011512510962305335296*x^90 - 1793166329411765455674977803709063303649935220078163619294728028689186758969151403352373673059146634061630155837153344964476993186672271781428345445243298992629724831240955184767202524807262480957194186142938885472291860247569318686834112359792849391576534437140458322140972277721502558376849377632455697461746470992187227722124098328851789019428954093950687620873087089503859277043514789257512925893753412758297900455004075473785402458178247127422705329898854344238305700729280962976767017643619788590707119434858968097815532118998615967822101251367515592553272017776554116270055337627991393210074405496523709541687039352161537307221853511065594528239090436660893232869406849134431897033266395574153427513857441785732862968891935746064119790742500391293956263606865321646305562729975478276954521600*x^88 + 37004611185046792398106193589816787882144106298799739511293929160027305934315805623905387547761402224813008734065950258235851297993926882979088041706502657227702438518213388777949624705833689431475176765733628470837096443036344018122229359665272098299053395739120236244799666474503719972916603994084619772644635156838971757247732942306350849840991893399708269331772584794174813393530726638859174716375012163437989341626678232849444959091239929046249401015842116960030977093761231927384613003923553172321020946092111361960592068192685267038807889212681109455629834355290482495789979281582225609830980343126044796520740980318440849495254459342132243666413487755467284803396433468569264406130030292446076515294795306672977298748458427186281279798835628902060716324514315308315634605228966867277709312*x^86 + 44742743085213893472917949775585763467736988183175664646401525489137220630318276975999208051017139493888969515676901001176952543499384510010525247117352670719351186281334505603654234779620147509244574459043050154689485211913967017191950244530121317399287084062302658599106726893057845722733866085320952121398691305532892759680455337186166913077261658244027115238497299451772446300512234683144618596206511353360404650684590690453545421155583871732393060848560931156955075226158399382829985867687659296285891637305947419815429611929731236408384406408943973819161879087724428659359258330562499241714697985396060512991313666385790230911084495616928210507156782679374265973526666128099054764773001558983260359082005842653326857484451292356474228347764969094678181569534475082703035597774537072050176*x^84 - 1992147380522492310361205835905373111824258921064660006333303849048140951731347805532304672367100981014692551380660499526180641117645562096186399209385556561987969650310600688295220980133458299131018412199309999770869930384307855665548686622191135872419089090837792432184680717722421995281141504249092506814279669766739081051566500998981690684741594769164070031234233395835474240865212979369048844746472639781427062269548286715064782681950946303384434120429891527166916504407286407063455278436270668356298495217874856975039838491752312115399145170891284067381557846402133270080417223569515566950412998065528965876418669192693834237482252439306867556012250434204756819789708809956530033033767991191915440948747844405766014365839145011627272296181659511052928082857810890716433924358855018414080*x^82 + 1321689317928792178316460486018363481506419539609576136428669992718726855448528283782244779489121491311610971824680966365155785507062475961783019777123386737072019180966400337673739819172294965973001187293269934738206857336374882952134553271926613094212780787593840954190787675654514687872383261717800698697861856111906833804892221244088275588522705209566445928225344384387663478147341910678950771959014409044696991724452014969206627743237928496485278594814778422311925363763216159938904385234144915280792645085601251954815995829018958740602867325756619742964140035227350336268176193508187580113541893139680149233639113994298100891425074260132421297990469262333988926332606698237778319410815720467754770326840905405006801122419096949802506087521810714807381055484320363568705743512636751872*x^80 + 79941603963366015845204858568231466761010528960451059834228408979263397347271204215327675089593287334558043820084362582292675644446098628624140911048735630404701744303248539792863906755985401120735085687241049730003356870165539523795202496959488073410527565326731623513356954120615063206786412056548867209692409750233185082721906379909923935205060568654592971114111238791476705328853594198225298873817312308149757968947871674488164655139198851026115814301534160522704778603827473201027190937556268457835749315065638259069463171932957633956700758518841833896796867238797024412878077399295952411206915841095778910665349137124656974649724899239715047649279128112057044953659772518462974061812831989378290587738419533022796759458968890600504814474559861393376871997597823540957080687363489792*x^78 - 189027212412238940602620048878921243562658434299272287906307083208866834409025195705504714591798483386682161753164150541086824824640009777253975622086677886994727039236676557930370605436941776556886099951221406081549125193619050761829740416574923296001977969393721146320597817728185213975329328703514819049520248586278983423208734764808913728749349042281024786459000787430217693989210886981415747196158938285029792995767129362047312709564329022984009425758860058297687183753639220414130097775275180232994065649768291925164456525471661326341063400288776720201638147694108650975358744409778659384137057584123563992389080069721861379706229728179159513482135948861800864234919313769173085850646663765107314456786138807142656780396064800549706068751371518758068202334660772318953261370441728*x^76 - 2291353328941140144483313525580964622177601638589253404690827639449935445136187836838099963499043391080026765685922283667458452830891827938618426826171072193926009174930653658296176301656507912611535963837341985870476982134990468091938689421183756099861330273949890163271270996535205092184602021232643926243988673502330379711652162528063449603390789444276233161084804556795548466621740072316424325654439674802744680089842473871329613449485927956567647828703671591121467075425182459125957445155730718039622302229820069704342926468736771966839852184914414027410933708605652329078050752966851505096633406645371879551410538347870305645925245590827331114375174091273646943512762599065377819342700668612423266152662194552753707975611746270112971626854203092088731327698130072304996501684224*x^74 + 9638175036698793379085434442428170026599051788610434430943765960313743176418623748848264448560584156534029510949829452136433713572672317828693463290087722707865081491455246093544873149145381541505263972551848917517899049613700799763759507842551655250054417089294331177594944028258708268294484324654710386915534195410154011428832835649621517703333585543746276637179829961546044848863256947647863526885104008235644042247070062702743693042362387364111116853429556120923166459266233987357470146258952268293039472643037470826898290249690615268467472784793642697511603184064268834441731506762534718663364688020195594565313031597247678641707177262569008087513377637696280785892966715641302956753769773894098660335493769854312617880296291299680538661536424208257635758035654374446950514688*x^72 + 42443235720799742667168833553624160290736945718843441425027104647284965657432100286885097690543040320095279674046837645332209986776793117046472299103456456836121825828800066265421549775637505352232017983014617898675624712965645499769864168541614075989974421297257985218758527070184982102829042896104262311285660984816794824097015922188313100423231151895613609574882811926885008152581457033414206920158094841363286955358728747187368661516620610124413568664365055401778125466921127318642041741023158394042919726103174223402835512979810722561086664961921538309715233506774979047874758142119146270458783627435378886976019354432716282248754994867231410080293133956683505213769219589372732008646638651522562015358597450604423497512068101289326166616387576495031212575011882858417487872*x^70 - 300789164135736171254635593476918238279246981148088485083190397534191839658896992404634730758248579480256301278321915264250390810907343337909349487996629272243938131010635412029246424881654572192935827725008455183412259702730261992374819944212843655558107321524702815670155012015349153153473010927369318536263620770194787272495968062159745317391406902861542207922586429136995259981899639200667474327544350191767820260730654056223692860977347083361288044252885782226723884488702863302490164294230865265368903418921460794102223251161262204734735398824794183730141849032397507025222782121285130182195221717251737852879832746294387124375061066552308961606351127359329577649879655870707667368343213036321789808214156442697444270142267693774122330624283032608452642023536322076999680*x^68 - 324993190060740353078547738887173663261713619204476730412711131645822386231630098802088916827022475592434969840707901712074744239629536628643420673850453023332236187131601096922239176494239308100765982848713709936190981659414620930978379004658034371574746626969122653296373248192330265161039807582836891278862023363282879817982639835002954239311129523808145113492660394129339571723822919714314563796115014880260507383902646985572087680983143865694114626387885540147906194495198517364615130692160204409230335945823828329123104109074399300130836103800415822468388880325391060855692765343688378025007994573455018601279111944548616529034998590374302660281869726668789963114567921584870282737178434791587803457765190881463609889363555759627813412956799859498044939517919108268032*x^66 + 6113234809483638827108473207649444167114954050617173399510308198698265838434183487972921822310421815220312390402199640957519901867615216091893202024672663053075154433314421229481776512057060020756948234905155890145541948867752340316758639855651200352369529130076384727188900977538452526465947800118791768665541093323112954303266983594734062648762900404895259432026433342717613761500481726713699993425950181067227771608083242008907862496069754224924002923213484448372274134872142381420434983015466842147359663949466749168325928104402408888815027296138986402977273251339659848757456940308357272902332391768795697306711354611059939973374508030702521812248608086445631282430460643394240008042903046603174695049365075537607796759307566849008359212753801805434358860301624934400*x^64 - 6427122191180117245614989059097417759588072267539573538380340620102153617542984784938815725877795266954642846057058538282691019303167441462536352720775498236783536614183435070917592015960123792888873060508870876435704452047013883048798099851371076105529775462755094307790278908374720991646088693997000090013576977273810669198223688918055234376535089133472296113457227866381445750845505191346282866634482969433861882178718113933217325821933659328625902635326988442293569787797873733649743341645326605444709394288384663036351970771181426920545540647313103769314862194524742572752222195531898798272426117245785168398590545206871069980244897940173887940931477915293826247333034946007186691345728202114206450383039210053898745873466949113384884370381425532237526417293705216*x^62 - 74868594713171082642662242387119732376649123469892588972180524446772472581005580703506658613976983362155085784267431884139614784093630782352510563622874978794701012283551234535436038275761593957133438406029980675522056586378131408490892820365253172476796523403296302872199613154202837999465732837916524000369198724206335135523868111515530741359394139589147216850458831804140594042079680497366692882509013885948408754736537953936173118139472355438873100441767975594840624789028976376257169462252168444621821748854951222619274132322600347312387704315381837906650085792947266026473942535802299342624327650360569083619365733038268410051120332152500357735034370189155933516274907506169237398070640558821716755497057109143565170435381730715019143510399728538405387485839360*x^60 + 237885378133751810041362227019587686735295374276247894598414606042595864215147761592738451344141626519511067316797902956796836748811479690459634491605046288627998796303588561079707678970917687894437797825034866878705286860246844749647111381151719240541849816280975716932680168377940395848171678081616901489476205122468991536929212118977012816041467727341405161260411976667011328811131380295621716386207137230342755406408497226653749783178190775407411652741403882232236779475929770148105148558579345478204903908809438333950951452263264112012256754825947218870442756125325515267728190991012259274884029889750328530383167395406640959158492157746339642867209646574985025363314355572674214073741140553740848625457126270840401258721591365468548867038887939465684809940992*x^58 + 293151729650265149195092950172656002405255907513372546593240682863059769161260240263152408713897135700013229713245138779201289591158969993543262982333501146208876622914329516482956476529532491396715527141563919939374057921437149674622584468278667201011773012976878889811693358433771550131189263382387048433967348764990547784947035666776063356086956903441843329441316288260922673426026333847498846042515399664430269818616940110664522295850333995497407132561688684420270151698675168463036047376459219850333488962463576366360944934152550180729686213292844737102689518505620205586092662900426837736356325021180109995862714377720608224858557880212716274845389398076014401314858889323261348834370805460621394514395867373813087654787098925956390096009557388180076888064*x^56 - 2923412946315474133683449793302713342058245356163352791522723842114916386662279933437747684540683006564066168595215288913997265591158341346385867828271261688854901344818165863067303820763345330358306881985650441411019781339087639755807253376964266847102251332257394904454556754722856379561120562776925382705502487640560946511455293054876059388259770158779336017969187365231063130872950669065668175645475126083398772895410671222662418877647660664279951511888152410070888507619016566767944639656389262272947832205501761881006408772937131990049957902248900420601668174167752514381534934227776240853957447178291311039803190666112248092221310012908959294775506596820190515379573166696451535594179005454092101558840020723707455743523018502564896675140583515108671488*x^54 + 5022501654918287776586405362058332892199091198574341676347559269596212788751813453684402804683881713672021061685902275291520813888669785026132778909444627526837757908458065234971734502835510338564307308318091840060305097309354158334791125913038400522487011580399177092241936127562122061427426666080115669343772372768046496903012679670476254634951946102827233467579816860079963996420507914032177025394446076845371107530944014427162589947825737503665489733915659612400110449331100934007771442392734849355367329288134326572235456155760512251113263175954967913961411926147558746541782513598925213764533834554205946608298777666456526514625327290079951077236772124145402574310219116907219073346831795246365079043020644861015907473466094338281735587947156070203392*x^52 + 4729685669383807552035245507644265303343258803414629182614993525110197126970364169016562175265714028021472998573397868251306874228166364802472590866026940036010573112366094438440571783374626559465533626758129470517402274408055133617207381791149153059838777462750242158106649837060089977237536836637334544180314597722096032861201001020076920711948906072071558514804038608162188532490428720831310873479903131053769184790904941488714909701365345685539446626864514143437000875124808903888814488306812423806667296998182339094422028809477158609619228276355921986093416825439167214114478174143465395857318490155620876149644369727702966419474004953911636696480374789613489547065445185251923239579327922323710415116488751662932695284861089764648425214138862534656*x^50 - 34732331583512840903466623164959982988163519954670449213842382859971576034045640967115292471051749157368543263112285755598236262331843160876156118378173073826286705921194091587463672105205464058780562073045041937143868128761218954391260197788875654155400646239890087459882643414227827822076741661067453810152493952833168969117537618744141985576327859746046910276049448365857519434399086249547971721483651244276883599918696363386977606120970632717134030970966898433158355791235494929421588056664940808117069581652857460731875557841627730488972494986574294370335660477404745523185839751784249396812695129954432738443617111035371585233591068822715610229449275218125069214933724324523287584861606998656849004460525112956576754531884353247565194863434530816*x^48 + 83698513810083786566634324815250607134720668933605157412696924478395729976426713548444047214932940219998547906369351985531588713769641285920468216245733809981647415402593342990605741059465367910412826586766280133376576682471429042655050823148273930686050340889997962827360735505995762683259149094837993558885875927370054898826758002299161947952187232233704046490455249783266109190991034552730347613483885309417479556957157920752933941102960950110077702957896324233773616761607902006338206688807726940062292649323914091017781278591415027245821165479754562301245793654089835096844030023872273371868590821682576218100067187767939677573800638695995528991935802978762487678875201423839898167843433100143605523105755844146803821907147231974449107561349120*x^46 - 200755970154600709941851526602414394784526251384478777481073070282251340567390477533433086260811247706150723795296288120118441915405714003565841180820076598089462539479523136804439154172653943629651776948656055961327675872467758498071430602016065648341183689114985893677315740486960830206839961333043673306030897594772314049950060264406286413174387049772789726582883792476525049060327783975794530254795563400781081003628215482935421551130414336242231930340016438496846989751488016675874718095581591934628997148211948923836817624527354013620489925261958474835306015097443753826084391215699223566445518968099263115034461622587829624276612869424371509132596523109978604697032908917119571256478058924537633169069145207523570607203698918004239697444864*x^44 + 497069053476869431882976959198449957949812747525334656870244415797611874996420900242287736364128890966786500677663544913108532290323268115085033116782756799517800041529168981046748506591567746468141511849719933407978753095591191837783977173050000942392225359072716051812902672742945118526282944772286314970704605625064997495132658133970786424669602376520046975412200619931253878826306403757809953601798591516238603507035249157629793082685449877658497650118265750896945091258832656496111135170161875133152706338724783956680324315786261513680966149934798876141501063829743045305628871837882358149150135277469689532038124984755283639358201927023314359630109649135004209979987236865940563158240279142223836798152009392843534437227163278729734520832*x^42 - 844324353626885317556903169757515822432384102926313839064851256190681115469310854259618759723123133313872119334592157018096217054868485833907314709428706873039526822650251087509043713257062924527250539017383903423553039927782119425842127021274006151744333181130285675377407154447929943976235149219854749369443885071249341754113093491903426930323030236922855835817883630259469107355519907058921336245646000454534090441271267329330697649311448577942509085374360776665012019383310663505891081417534510542091818688976172460890016537140571117105572662915610641460968702557551286990023573815037896660514454833362051661020632433826791587170235473131738764728441194494924569135742168106000394676074224789794149091270424460121359844865942101952561152*x^40 + 630858936804266201309295441422218841843201140929587582223437048778720701706429176602557673567163826765764791424131568669533863856443079229982481094981356142886518039211221817182485002061177742790320012283517893567574830554190588966867432413874800975504891006261859975712269412312319047366653784209235376250899128419883204039605127245981028526771400229006022842735780607428240771185462174062802904614990564077753687983215022148003582342220653382301272172472250160449960124594425704936772729645971576163500775215403774883671876648851868708044896125715781838594111406130572127509548195322401670754680308874063760356390840511701542295385148414672618319205968739929566131976483933979274776749432831036697301402155493403803261609425163375345664*x^38 + 569205082655124422799483911739865753150094153118446397263319109284533955842522462279961903243728198707718866849304052632120291987316650574512086726622811199992966117284109569397231716117489385900605284655933631454559575436495621842265911458473301413018014329978112601529212875521301250112820679076648467751606995097808033807833604612216768996450364599460295437248454061801696970687047984245995744068996364774062415050139297345380715682181352192330246260929681261207667311498495018203611546175973246630521632310350924068400511316080886838185175016337932929930544491179043803995223667977260878078959032265702294462553450111837916904609086614198084515117524304184711000459178587102692457760101233008295314036038850598318587130344521072640*x^36 - 2071621689095317183792333706661863347694857149402824768997670079446049411732357416980472530235167454949536619282912840105194409773493629252718032662331803440753679457089251813490032167579697609229782606431622138708258193725255723399414203371944283804894162942278192793722999834510252509449652571417544931684305055613909190004363497351566309476307013959215025478164487548805259853085770162016082851675122763733963898055415472109943414658787779380820711489602010551916019483841774123522011975228888267713663148816163706787163521560372970114307823146442644701677568537179909013354082779591681648391691427685922032636707363406643338116107201874802505688751774063742198612902687151559052810275406407266021441276079708267935561162579509248*x^34 + 2655091007651855570102745815752523805771488285971897824678028101656239486474552736223781368309511545492808914713745598562735511477316576632986361643404064992337939026571590292861385411183661831411325218699965507816945752520841105615819353121805301710538609529256274311242565591419905200129661810178932504276579953430733790068423120450935371122989779981297148622597545191931027669376313876164685294892721667044905677998336276539936153249128803574506767693133830787071512651607015822565183865886290670864708847450990481454853729242233246234924455784921925500098292296437780958252848355735873612737469441043745780972353222628783116091609975762921841643184890510582386364574039059407398286922028830580885419970604575069086948817633280*x^32 - 2040243937716729479453939866775597438075811380398334664849490407039618202055026723006643446240624734585598322782946277866515789874208930259913187064608106043116895130095742765109006846069270867250934696014745557137276508841683755760843774234848419844833337631666027543778205184942023635847873024594557367861155105666028096485778463882203229742928927845585087179294986666104150486853176208995978802597849680405686005657719510771337091475678548839216658487334363641758145451267554688040339868586919417069886745907807899751137589719754204124319148469764444000764928902301192855799392995178535310902235528933222541994154929955307371191124519500832624118581018420575317069471838678878323201611919342506575913398368517656158085840896*x^30 + 1020052754080082969632235458861835945103912999029648567701086062131260842740453440334448442430954444653515825322520266995342601611701335196845487302398457023506474945712185678238127805872204385492788403041209949075836520678500149449846607448066502931018836819298155545065055007922301306146220364736952607559992037553933134015960143420388858999690150096121977834811470127562825614854452540344028684073358517006666234852356361143887419281671379568245770878383948492455946229419756027602688805609956313319015190630361958944003655193053803673520531745548829211437255649329025023533908576917022125689910605401217024029932588800640716846339652186992771671202170612342864433840034735604532620756896121932209694961152072876820529152*x^28 - 328542746994039528990683830538368748662822614424998874074480542339873661879752753767274804609732230837135071701389858106088787304640844540289249173244983027767402952843441813259510188608732052575493403174867799932354095522380896508909425920835484364022101340902163564348162403835548031631987407921247082402262239969681417023790485929579734361804006729180344780831371893836188883701250916777996743011627718434917800892329413735106793038201530013418232039440909130656728244988644719346177264130702958313297128898318084809758369503405059377062313572728941860493065614112585861258013731404233808000392144517324465782245598024216834205894390160959108994819542582314220468088480028960778173749733096605387973938171308004081664*x^26 + 61461325332565258941274939460796441514388230643882949141343422864599323133735085608853308558102105735597277975461583721448581105060010642245391889073832296819187207513866304330611872717887101099558687604009305780065196164873572653836350885305181041350153579697593899735993862233577362989148331609082396441480648309476757861766389129782395766147230027793561817798116072133893146454898934297001557991643202455274082855330573400684877225957381599670805368871754502112220158891338178950226119019155641191334973648165798390035879916194648308898650296712996311946709619162574858373126996241724581793174174450354005060569126710487808116392676743188986857526416263837045810748005915626469637592251073820868944927641456082944*x^24 - 3883324668856423612446092800667094150320259697151367320226422814495152338791133336877301068022001925013980560337485123317351271262815861959196520221284006653302789331259145290378430764735537849290861948858717815219822169071991253088266062471844292497150935376100568270612819903204041346582104295189187828002049752727073188767690513536835380714970240394050367058274878665426268406474621229783847244890466955475123457669618857838103478081719873257631606712223042304829240845135957063817601389057762099330915329545276327296389823137055060479088600984205450773261810290040287943375447007407561801850203550104551299284604828814780938712437668547090666687779610286822980928026444241790367419694027601081171160797806592*x^22 - 751535721689490635602726160758343740928826940673121338778302747609797410744715060289298071059289942912694073469602042157195159040645023416219148198990308955434330383762129537908570623448423649238094884469835715932763858841866906190150786482342054042342731140250272752591444502181163447348729408798021285148443833088516483233817616630213169669417701428496430042096983229714906048164441151780977111536642509516904668701606180313251232063095363820525086568769999715875585216849779150412006845439349103947854279557660478759928486358929520853026401648242002965746475781979082697376557938052223108305426560275321379681542136357969467395024769253074682371712000676608324171335903089428276627629775177410856049704960*x^20 + 135901623353313761757229850368703893196660572047067346516029092730489079060783421264594609820133572336072518801921313535152516537040517652303149156360902548376105565122098161025212249035632213470366306135040540427900037262154637463581460642807750908108717551472503069358218752817096744312686430601921320492637261543222562844289780854596340529155845588886212994871100235396349958542935568379229367083008774504804426543254888076302407193690076926665362835787349541609939803659127399095859507712450526415187870813189055235963671460519660610799239740025807008640197790341768222353705734429324430530837675812601867869272037336735309129419801429705939185609282276601371647865702193812112351258233643920944791552*x^18 - 50958306305261076752358194339545694928507225030977648408087258342013939142856432849435688263739731395545536680576652650614664539942150765613702037721485113551947052254944096341028078176408763257208616887571613527085791769294438990279685372266595708796958236334808107441480453944247454277990106070370209310487867543341839776224976660882151885115448375905140909308491612764101097483357455650795629993941539554136858936026910731687399963542017446590052917772745465122169873952141665708438415420812113553459654431408604060411703593440001667256744572894961800318472595793191253120569290991202076163616761133848506841893150781129033795641412956762867858036929543282950355101841180554507314361554629033984*x^16 - 650188828198774002608840858704113147631914846394013323855760348772792047346524954492186625027803588839315220838871634319050726521417767120188044210442093981652413029449454193656650975975894776142163898960873362301886103851593495066917817900263969777651081420250338544006366479876434720118406831137577459317141047860544522886036017588736646561174813636976484737265270943285246353700236811014018410144914516119477281253438253452458138457789066087735553584902114613337945164413501568205341912780924217797465395540143593317947955458044977117734754252914043829969697783422742369290142608093919671920290426399498353838549130305027219258730857042543675733877200926190057366962997563132098243424478560256*x^14 - 40861926570920959266184836493356487870101556498754365516581070114072518091189180068818820457863666698637605119857943187068983288250369863769940564758680953959887006279710923723611093816879531236700799224864997543482099048552660093498402873737977477878914142327203850612590518745668324625073167196655598853675048725291811822907221166746705050428592365581215053703960197023195029173397765610741357245733787930846305599947526603998608467466925663907160552791837303677050517769171384071139547902293479611126942596557163688337306547063596708855958776745722989329824824765024350932915546809460619689781927529121128775001574238746079556057069698886073721044771233933555075979271312038965197032914944*x^12 - 833124753794084640688037276215838669810167821426909298079819213895977644719819165599551266863818992602486166100521070732183379264504317517725873072933252108955469319806377299832404317039593724525658349695282228260134180345130070692615177601547359215253666584822098959395065183293676713007595596733366761959494919803119055875217130615334419699140906087798091373066854021813914501139753617893258163370781495356697852534020858303081733961286021174267574599891197148412999018401884051800916979269763700430554839848279393936903403968359843109042265627807071934454749450827071291058746685172656578386240531842073002002934511734839931947015408559751396076237632250338304856571567081700097785856*x^10 - 7658771618725884748391330938184669372433555954012241782723250710187787203760680649512963498992496408753376086439317515470971187550342509648135600256775055375747285598088997689403432718670035283922985695981614071033648198688170329541911963604718833139088728875684492770415778345349529336462034521272003610851542705422168047136991466169609285399351431104278602837041725333448163552986367470786589957095824606986581538902066418857879307622677635919790783044576891547878441671444126259908645368621950279065035661247809242239807623059271459188039846065519706144020111503573057674327408899865218627504506320806753588729362614715803746221825052026410921736413191705399088362911154772639744*x^8 - 16702567857203944352220222714963108829106565357395107454939865050669758612182200764101986747978197641921273414994875419667808215520877334939365038225290173446236643517881221669480017863871750927015963868760882719540147915762098906279786363273275742496569433501589826885468800735326031467965915990689273474830346752350933191146933485568965520419747935778054524883480013846734781978528383284809136014413009009144603902741385798034222138661411716892287230722920430565914506528132546014332668966111331666655206155742176355391236803719395898910941496600795040770285245449864139988840361464348390670081987574430726296881521856462573617660146588583291996940006882107441263477017018368*x^6 + 179782983655119035426809632822292010043322998080063145867493639194245739413644037741114955417763712148638757392745530307589858555969565820688419743815666086980304051170991581170290846672741818483159449120571441041279952770886645847890021249748579975059644805702156387722032257338446056276886076183359708839626702552458712083173844607335771164274124581313469178768494303465225020165590036620071686936758651254255162188831952375913152201628036706318886051165105008731971580811896481283049053883504571000628631550572045490366900528299775651342918932464482551071356622939013074872993124546958506098401663798133739760583386797810035714293101111354268849000352696905729310720*x^4 - 444197758052136116820947897695110521029794817251021934401181887740289358145846327491337544229683766554798883228243782871248641955973141102950804972276382531416874817011849504001105212340786679083467770811544278317948156695506340338722593025111105815768803766919105647251186565800487492140902716159763626654251136151953823895089730783501228795046526318604927487651461852337447878343654131635973382434640039782873335615115451925767611925478761250949473658982286038364626985823011552713897981212454750093123965724399560721568846778993595360108691913082816059008803044189452248953504408461730575921524060519694814257801237438618852560065556604495781368906796498944*x^2 - 76093196872372578373119402591542924336595309825576292045515391246379464763158228784639574310982195640136389028170516631428420420489719956379967145212728402543856172428301827720835720619511746291529555478771232044026977196487380606051408105650931853037339102824546133136096406879899656252503263781924026226251779704232683941753426157396355555386426406923634579674802667468556932278540083239541771095586953543174979462316844522007563225998088037858674707962626971083428228623682979720860644003550437215307280073434204980445128604856611045119274229393897316722277964178023092238372341675934924661369445149897548641019617913507175210877932947651340271616], + [6632724937237287527261852691769297023363727031143321758242460876924284538586701521989667771710399423773044736837804283454360813172131111836056183140038977894555975957804056727276661033820859352965693686720587427132002318768366239280594470859360332883857529991809020176965367378626678187588894008462313473451960691511271027929756494520294488145920*x^88 - 103310263554236858618461388957350507115243753739195947689775837574858210762957538278097719447429690393514778103579133043539374109932017064024742260599343543985122402209240896957515579029645745942569146809956761129563197010665868734532865411775572639169249288390405125745034643028228401453259188106811503039309845612503977310826489444545662166302720*x^86 + 334066151367249521055262916784779748135291624281474868079794191273423634946836305203536085437199812613911362728082588852117951008627515459673945158638681136029095198763485880356126508970468717722834403864993466208915714379671719869042992185994243350435472779298139816802425513477661949846359707506124482456590827795782295835513977406712363545575424*x^84 - 415650752128487627818773777421155003753123374436289221773951100753971779645556648757986367379870387861817148918438355806532550001922304077272406189006833915487706781921183835777706627693038871762627631822956762909396544421280836288358620050285229857114937629780781686559440955763155028674361380265731154329248935998073608534409979426945040488022016*x^82 + 120669331275827278092693406976017025490348849815439182393138155380570079773308369079271211951235701027743570043530294819720203451380323359058506015868343496068159665181462506815339738724991919297408700540367022377011951695696349792100142451179497042351601968808709600996066477029284568597108605477304069273655498986434021271960888032442403696648192*x^80 + 197813680050404771146670740395032634619878845706319504162315680724353624310882791083683018252342652469953285262371754790293135277926156475840722615471017846733505635298094232138975105953285721785692620738258763293886817849867801340853398212484062582299181181980616709417369924669852823970029303155701755665384374560277140661647766739615759092419584*x^78 - 176551863395284657194396528206035765115460276813684918963926485056825595459677056432034144723904431005876204019790310856300280782875130427814410618828831511466330596460904174977866073062273087911356372789840174881513290332985024856110535461622653553894876380129443781617548421841423286909550655327125094697065475004932948489102148326917819725324544*x^76 + 2756857979306738824567375078195352047493802139668883961434077376344560608863209639134060948065360829629348962075889744043731368922905802996457399389964641045334869645112411365198410387986724351013840163190067348793956944509230265579378534949621010044091980435075280337352918387079633378102547132584578316422587840577240567036868498131162387948800*x^74 + 52185263757042112702797222968853754769468598062472355684814088668190828683307639557206754222475354420735929482738152399811776303776633106180243058765326853191706853132683789265642011685989388837267261746916351308999923715395521289407992223144318498334629364071191037589005401720806788694378051054236296226271736165295934108530683712426746822851328*x^72 - 16484017923734120062016498107661584168728425170716937829535644685872953309527541234710805434707100934459314427383159819148413583334797240568657844441196181777584207601163687299443782434921969110036300182754044439216214875360823775080838307230485258010371045531427862129095756257892719527720195110166565052786316737047431002768539978822085313887232*x^70 - 5349618105829613085228662571749618295144726733732069518252160403407161368476391888842311608720297901396219855628557150228712752282285654431720233577830200781316046681146144527024159623377399987985211377915323464392649440012931757996695853777738394302039581183320328457422047326753471573629696070652225102340764088375054613382277974543637252556032*x^68 + 3559997078446937054295804275302076651600408151330990829012936367967526035748764224625041497129057623208849567383644620714338852243028322738972345629146904963961491756854967081959843112344701311959433884172890574041483805379846264626343610900379381176113983217473588345366166694843013844233150637060353618021979575642047460181512052547720040344768*x^66 - 108007033481873274336371996248905679742848328641685835969175153717634934143492214241333957798045411763810044717601318559789841646488291786114713536885910057407333847378097697940637522031086279726363303314468058121723921768813282010165563965411613841341890279005711612006316996840984075118735035561809772136587644724267456485489518031402852934048*x^64 - 283343382017444200114718298412281258152234279350107017483144644806084844943889244279499026996122769697457534076517138674177256561966571773984659501321349143569270686550118606703859162374349270352899716679219342941224426040461712431736562557564223064293389341936840838528274059543345338901829246796553156962492161586999689044595586506345250968864*x^62 + 53588804675635332803660751907033617483280459384726809492223969103135094666514435200897828105832540702401646464961723795080276111255860629673039503582403294551159710718431043423687765642933148657063948539659353677860392232892742634021275027623617119162948008764414618081089947793130268633242907947797494169507563143896198267033242452721702762848*x^60 + 4710611059820928186137471066507482750771108924966165221872060438286916996892296939015384178380746635299800128219734655488810843742269032923386394143045080975856092084884639427648662778016566040530544032125648892793119494078811584733053985370076790990703164442935280319607391596613462523705704411608314658174290345086548485783868460211653002512*x^58 - 2408318342794604809869328309531680873261497731617392216390092221122176915196609290419047647097788926279881876285695417680998393710186750229161493426310477279342583479554505109105499036186772678562113567456818395243121260732651109806941315467391297771414720733584723781608580512505929053516356854203687995916226479886421544539233285766315461604*x^56 + 255291107265004739069420235008288214211497314557912956057541797844208219238676405234675442753344691074108673691601381693141064169774077251595254560952667000356876702204426904996584512868734088364816308873321803151031408622982318154830460947789661220660405995345966444220401935476182353346535841659309882151182635330623723886978022572715235372*x^54 - 8314288946994879804124588770648312878426530393797434367237092961851925088439771889162738972363881904834174590985196404211683027136338478897893788080863452676710286965838000720302331154984156675386478133007310249006645017573770036519602436179723696913264398749227113146672037399459012228367140361487721288637588210822651664706689711812831917*x^52 - 260326357384019035102544840090465904831631257667856794189412967623740556150866574684051893169875234675647093684808095878297932391024058945847498175260637162435514640868603995955777550390251689764106965056369755783929004728850885695097015351951441060282929906112523003637528813807969019603237225308797477506344207524454548240597965023256071*x^50 + 22670729540371948717829289705351699807940447402805081008264128276307016523262262290853703538055809312792135340140743173175428247528550303105319601625078977595341897537667334067675481220448867685783276818993158880524290124010333914581350061575049503439714238990777708593633351890583995467740499661039967655971094320062709741629582853441186*x^48 - 254789140369306606497631969469623418073338045662602761005757701426130881484024774671853238668906351608746745263593576643603726810626208512988563147032164279790641597178848562693395752862616518406092434129448159493738950006747333691097823578809514684565751194141086194820715007779404843357706928457731115496714352886468445982656761199891*x^46 - 13397632270725418891921794074706067828775601921857213675584946250334089893846730809377524493025273374114573911959611163600817310283566220338372884368159515193437070352252310053276141705327653460604343456110249914826025762317926894907075704963538320367138948821586221594897071107882195418848292686434754746749537194545827452907750913894*x^44 + 312624086738950109111821091496968550151998212404245868286172104189899137289413486405527056109430526876232047927147342820930123122520625978799559150615593396871099655467938210097923078791413682809135481540351256047359375320042866020103327091137065405310207759974067344903085444770100086380250864250655780348191543570832632189021296987*x^42 + 2996618364487572396130197894049653119849494018093601639708500929188940638850321405733771414146639921952887146670475482609267649532897259099581294408917288206699927450169833111224386793048605874741057099969409294634813830118349723734286088315934805530366333409097281725190303924773719471876451992280234132261830414865057899384214364*x^40 - 125320549050476984481560856957120488733014213311021476330855883083309736836877989641847274112825036571948824694259555995070859231665919982635373538397746951414172122619193568825113060274405787141493530657228177050522372575193690431452167549665086172344586697593539991477870327914339647606289309239410633546537751655736504172009743*x^38 - 107553406426405033694832374553175220153828613088985676978701217088415242249880152981977594520790466425785713934905436159708376786544657773338198219126056300386244794783179609434714297303258761038959746929819790234903036228129173980743693707215610806060475629862780734541682020956405178482670651047753591362167681496771871973557*x^36 + 25100198065322702064743631684998983025008928516595644360744120169931384079793770883177515371772716703879652878072149994543259714565500078557980881587601163269000541131713152278356573289662382987241107670639809346570666452523839281870550623522663896963031780138542652657829658051149972795436061968880824876885686043337401829794*x^34 - 68518014493511931674836313480125916725563846026622534605928744144707215953373966028563823993650584529875183632293102603124442198418851047039592657594831129066001405848330686790889399205840118829166896041087850279631925369669170987002382224605344283863864508667217860265494399368456769403131464791831565795673436818856864740*x^32 - 2597612294203686332257747089751938392839891545545645724046665040665848427526965512472614248102283521169760144864645101055222993514559838035000669406766484959235513607036669610109903822562027061480873857365161840694669349682606979508864284907963218279167492912136532355169038750755366697635248172563767400913004524129492634*x^30 + 12884930689653699715007335833728546133804057935912118161987593217135266334746797191222448472270525136831751177613468320919520952039642965115126777724172083189753891221511933551084241054507647660793547237975734809803943577711416209742424637450832861930418546899407906625454650747706723218613959722506613352316415046924099*x^28 + 114747716685057011644194746582094071628373840716791692038938790398682834536148029640133165159562140230614705807042819347283798874788494362481464121962900991725975215987857814510030277168363263530835906752508684596683682253167031228553578176603655263970896543952781046522807088750124454270337818316643400118866710704191*x^26 - 950901174371917080091540986608284027542301053438005311814247817357559371004364700789474328734136851662533269407414815791806286744388972352441307594368395459214612201779776657107236761182892779978521894968262558152488790380836347738278458870367568450953743523034670791185120022200354725487799404940292161007802051204*x^24 - 57013842218538009522313262741122438306867740213235129220269880833373446433138780864797600891646299851294310576247264086237319586859259133020275131718186060995109233789888466722726690238669350893306016580740771215421828191354282528794693491599050147351019011479706241461965068683712798431047771363445108675576375*x^22 + 22423103407650612189038122794594360608398763169113811652310059896767982275335999138152090997469657600918528874281019451311817815942955743879657703114610467880255962686886647301881889809779205523128179808216667907365962701788854873621708407788008383741466457564021284338797743097164807085156384452878888557516622*x^20 - 101474531253295677783897336357151244613036117461293327914589667728467373998845629842039722237701129844806477640338082422270340663239109268242785564189894410675035485456016642393477803760528874908457609811968692893802117705612400314593879246031697585747145662722164094911689042772081227132783809723438997693789*x^18 + 226050264179523591063729351285769573712495511271820168722317899136386026857167417931964366172372417250030847456376662601469320397010003707559825763029432050570085832474462734326655946956242988963033129228628050003703213237903814138732234894507620476016389195295526203470940580714868008329374453458882979774*x^16 - 298667886590757199542679630165275771748636980846727563161816168037107813011811330426873650329665160114057655412670932641872949185774353175390809736789876926564298982215431894582546622866851460972903621197014339780060732243868484248831812547292313370618438612494517396293334836793614937179424288170145353*x^14 + 247134621824803476280528631915121654142449858099844099987533127511319945537751785512807780260576007347022787288942502071911764586370398039328971932028436294840964073581116642372595690774752248622280080544523550203314825915062642986438054382714968398054002650884345055973873370992981952346809077345831*x^12 - 128894011418933382741195741886733817352580020116405299963586777031600776197254737666757711109243888160564412297721744009772336738982451458299647654916131545923059063525764954108806484547304074730214293073665350344306640098717574335380418206076712797853206151020544919597811539877980362967983021432*x^10 + 41022141185817588007915635501732354746223238413645351498999010820123853202483489921755842811800381560103806277517434276964279567698348957320767740160379069442248296187268152139507128237378917218354204315827518949551588856052481935691256577302392554973436023333520036778938202628773402333077472*x^8 - 7256259467117405283417011705973519847836534560923149961944666100567564890993022895881197737510602635432391577191190037174863149909390526192534261173559678792948408414651718801582316576933669138426072442042688945524517529810310062717147644281838046009576354108975737170065507956204327746304*x^6 + 545665194240789748594834996267001642244904676570607052512915526905090059748233834626672503878623684555893914648022990294634099149307896486007610824310724824324424988274660763863689101555063728721516013462174360737276799530329611288225964695304157893070324549893273455319848579717231104*x^4 - 2944919921960014034500953550738390912387768482454152793355070292202322001412778251828550441095132449931253840914135263708249456743125586515113911557858612059575384853726006664919296198274038110739430282197695013860469628073876473805514602349210436070273368035886169623303567360*x^2 + 459636858901543158860708370712118367920752460664467932720609168788587357715666436605972760702339062895269466552896238460776992097969107237252459359840537824512392068312832721977094419248183102312383192178278108821838358446154384764627826797642213422281229894259019776, + -1368192012344681727956616390340957823931846743107613968547047038247652009864975311483829249542034828304106208468177186109897213301041365960681148287255726572280062671123455824694388079483333283217240781970331426931716543118051293991498277553572332365411820058387490863713026806679839812369381791869736815833258051753079818657689188473663735699896793926825586726076994203946003790107304951806641194581090402396487134875531081498273995715986028169156333078352782190633703892700599463666606348023749773307946959921402566397859894767121288556775964925003879539648210002806249836465349252076043086720684596321974852410750553123172136472747057211856907173052944174716041758633767658222201300129004726222343872497638358078006675373294875034880386510701698872415863067469172994685406286032450056285939390183363394396051144225698201068651075526052664612170498048000*x^211 + 20179380142058508207916676906504558798143137134737375383785775280984768957208053471532768862237394630651847100572145659197442068471994105818971953412359553848047639258980711237466127568136491950657667423064913892842509690301919818696920670025070952564708223774178129499149278154432195976091432031412813159091961852467961843055813500728034432029476489683648421062036042239824120325174625410675345948653918225847005348795421961265667452471316456471485600096018962769440789188379652275394790256255475204915671865590680811547632170483878886572397449831265119313007318519552300470951426861482606989674908683994641274427306221406443238710944557095693142842073423208523723185642504384396938089647389854462953877894563956967097056216471624008594727178292891644526937795488049194012031702101543134920519559046496025779124479640348143471514640040575715655497757491200*x^209 - 140846812204452151016691118025848692169927898973143181969051710658692136932221259668905618546441757239242151077999428212483831182609823008216088165029658047299798367463373201487920470393911768114839159533053205881035460751927902626133755372345640651966430432539046240996852741300610768753781840322779407741705522532350779329418971007246078682308061681822656654909604658525806393182497824578609254302772299729689843955508739207919166899148149645823289207060495287794763248511615148259077346815932850849376295820946126850072400065715244885630085632833676075511648910846385256133485689935691317197146204240714003181684233827290675236316967376698166478206364719180894152325308444314750939144742436368818054294512700083671739054776874114553439014951187621485806623166350004806074114447270594134744315098225235018196804207279903606725177586713468659430341035950080*x^207 + 617850548425398421318490550994412217939460540687984723468014289576242682070449060819068043285475304405438913749558197717498483201417907105491686732451934915905855911450937337571031144746933783404716230218772673613244281538309678120301763376986728284030583109758161010138517896729658080267047501698234343535686387123447512060958238110850388624915201609612973600176506868374627300878286526254964950314518317793603404257630053364727696580242403252695916288093696625777167698656787467358895333116634693796398506230149054146339617098017787609275109503209616015552677386534892952097436303185510006635913167939236208266055043864322861391495033160535097978225781273881504127849425822388845706106799016439313129298646900002277785354058549932696473245566217286663191468081358586195043333302368282282369033371814491348647434642777524727346508832155743779344146499633152*x^205 - 1906904277268660277588907367475306380508917709853203330438086307195894274881939047320044190970385803689170451728248777818477176051490164384912746178498090051622387399886336627161777075070491725914893721469424127812646320503354148061244383623066356455529505809009353206943124981561360345461401407610683422039108977873390201099742921646857649882366444402035503349675090408155736825237905125719544080234354477325695007207846905557676154651022883622808739112882459284945410317399178113832847385568591410161628041444151313414817506804504021504710954301094406298651727565995165856403977331140863303751449678309128834153324913897854096493254068817409069736930100229042349482394748680429353652625810496247092823033240986060278878306618467029954924136446913155958896671905833818406879392929986635890201616295100999581329895600023937957315742277995990280583100955099136*x^203 + 4388895263021271238869700364157499030091249698709308768420159315746514157264637580056081357752889656183796191232783909814484187649385277451523840436207304954910094289060483322022814980319947629225689105538681208925689844091901240986892086346305890318009829742079914236584107746614624047736413776635001808933587162183417059565126361433070104304769065242559577010656137763408749253817542033968457178385485891323678386871061455032274862627407085695452666046706097650132207817824870679882170547225051325392104499529647309793853314243762607193324973110863130391221818206003588265818761717800327582179926611362579445237682480071680631238730658337970564375332426030496309155901721259023727344660545018148114981468385194360514089033404696705750203330765486182806577639938868750565427831125054846688526723433224519089542557258797344410713851356231208025361475872751616*x^201 - 7779990408709871826411328035393242878979344266216902241620796964195385461167214233475198032015567019040176777675921747465996511606507122671463452586146357126130597773590077126046864414741457647481550831996679517822466517571402026178151119257392945472467054870640403969742484829454775950591826347292664870324107892723448369148535386760768984001409065665063225958365306722030989208822842480356486101626284888102072860370236555948694117800582522128211809183089332310019361836213363314328893027345102297467098755433544941969489509001049557119089628993162647227189102037782135878857579741777238371480546231032649190900060696213706627303894449612931146740035984298436058278068882640619854451697231290795691290266900486035948149534338028483671980574543590670814241698663240153160983490669793741997677462612463497893902441342842682038248452635528238648104780652609536*x^199 + 10792645092954233344852809500452909002307646454397854710957062723360704446966135828890883779900731490163470787121113219739566152902509542212532857853236894788962363758182594481271389983716947212137435226372887667648099179329318043305592886109879396618125887350372349896037761729298250882419456223541333017362297490419208290025262377294450812609880041941722851414757903221487064115386676502095625710895658486806502722111384519677905985058822418516483267962980815345733578942316155411597805969407016324395750123302231471755321345317117035116055177137569548222218024851505307480617004697104581987668765828390249015778882902042077867550413254104358252782770368652434658620028921996159574679586537098779051505736959370877490624803564705738276500916586914227511646322745126546085778421148188439005706802655352150826393766912465479281218455538502083606619484288188416*x^197 - 11735531541605290203900824746319173020529364076031186084339735270566090450117601490547645862067041619941722508321381253091798886372483425608365451251886460888037478302184983164667106891584088109860067130469934965358999331429248216772331571882227527936789122153766251466319456773451983124848550841765424781648969744109945753292661595813892661171954508042739282589623873189890350820180333678160527821614152238768894502853489150931018892097261506111175776657879652899731275129780576006228908207174450535698605858444242942304993216683632190541333307223806565851051827917751227126285569392648930936343356385601451138936682607965273548313472433951330337515996772594101595084809717835399546899369399190889104722864203223267155564661108698004850973322103272439818018427865340194340188108904763303176614154966596818973980874688251271945164518842678811499845223551336448*x^195 + 9826088871789155132153027049515574899410687705267317420948478789065146905053980885204296929892594301550977604051938050024796589922529977076850662264706016958141012496544024462053182234251237696961269943766957567890921755866206643460032436290707844316008854753429436232912253376049932927700771374419187731347613892399734997390049641031391833106274923426438999754707408181091404965999420770660367846503324686974940661570151720508808780262565362955231781109576537273538014853175457641353797008278489044798004710570614628035502784056502255758893243558999789053130323161125627602122912480465932487667209606126822240820818516770888384671302090566122915365062826654924249722868621163946461419118690936015623276796734896046157232199875951119657621335155753270021608440025534041422127917649311645657733412961446817058530943616938936386846080356702239104101204096974848*x^193 - 5963045374386506218578821314737405135457730415211690292207804277869705694415727588334953385007786502842978329378875228309417168140716062921338662842464235766266039166391263221823301277782710685216032267136941681186704208704722991892218241844467425752234301813256513884248781703880990055655212347824592567779843746443501838310794773221402500767168134377442720900231501043864806001286402574666661120477141033697084455196325658060838759132730570686871777108146455398864741523002878879748869625220827864027561448979659156745436929450516413646529193616546741361416453938676662308051400088724349003685583570668905637438390934054365837614467070339517822309646279417917784670137039441889965426665332222767746402517629002667421154162578503899393434006404928194426391327163659337478362641570507993716681790081088026720807921783145245106157899389923201614593955700146176*x^191 + 2072302934866834318566600447118116070544006348431904807334308176663317289715950361170779446367591870239560127520901818576850420339003217259802501810477408205896236070526731690267017866790422663188316901313682604433385822841732293618849366603484731110898636717548029245255277653294199682429078034880532699355172376300603258345953936707452326060900695517149736388307227240426333923976104292760533644163594979346547156764491820463033441377273383629295937979192110463227890573824037587331932506353686422040472058065744173422154026698284127360254548991387271062266440436202814880933225268146357007185370524038290004992251255369654997148562642181753772065319430349041662103562793298266864400308209021862002302307718870819880548337975910352105696527840126519428949287861979493545184902345210439977577555228947985506653629848873089932123604225656264096326144707526656*x^189 + 344732936251195462398655212297515119566524517029167049776953614722870980908674934543025934921050724502914643747700763730173241502880473507223284907120674152735132327431512692560093146676426380711850213090722095278334000372705441754847241158358825498679703196476293707200305209862447949046552280939016320735010183156220850249119039545289597758330857147710010800201858392163192576442538559270250348632579910645197094611962184879536730826309974228348455207314397915532073482687347394315703282978817989388546487057169521932892694585578876001928343939639410770780577385745094917566681033012734447777308218398644670535191439537029202719560427335151186615320528370769498350326210896135778155931831587223246790074991005033096238721591980424874034448345910854656782945120654824810589637971535634414084417284969138241023769756787202242448943911046985530408482621095936*x^187 - 1056253194628677361018549111671950618344113269316057249967447893505172984917384616787304999571489520684705318265979644571867532386076265892665119664516501164975070659383063934281484420099950801589656571963772998440856593656837112635950684097793576169282626966817825460666192131054640911561995770356904227964346291794192638532651770512655561890119178749321117463772224309694590727979825648976017232453407862829600595313964593267883688957757533950533970379486603387354790388602778367585355179661779377753935339209426138154367826460528135690625619899833887039213851424972525030011136648864905070485646806937472145248819401958894268384700495422647865314439091372344754069380437419740283724551120479400429149916430099522691121935201923502133114297706367616912160361452937608514213986057747986327004409711766610535612408923499432933058983401988544630199900939747328*x^185 + 772012019154773487736142357298655904585409308251812275472321818259413483978238669833987815198243545293814314828936680573653438037820167548967674694589160429586817234138273169000384787103358372095840425819759996048423003512574002256131235031530295141407725136622376126628631701908108352778710181548799949120010731907316068561471750076966536653917332001775802113428571401805717347214465934901440367433530475067047670721889831475327408928991134012903581418985094756765024232641612950890198639355968147581015050037166608660502479831333222837558036636123442398701495837914239361794835156420487411660840582270684038201028590754010404303641708721157254788854673271704082132541303746147482181886503459894071728219330767976144694954630445410218496358638366843480307295832341845559602905572953775114950337780468472433698852321578640989118893625340979920466004718649344*x^183 - 295435062968717170298458704692183084214648385916914440156304678266045594297583219216175292456112625855596700871657769950733538251570023114616117143510690302312731554269829427436858534303052400054138744988415846893047192298395220773232586849603743180579882470652383194636555173935352980921480396929302731590723603938339301735571737407494539317027157129238647325508334282082143535834135352968621472438461664612591483296312683570483716348070054085679932433088601984618169757729851244429364584406582337626907872874386532883394052198922283386095785404023540847332834102435298174718520262316208852027801421772195716595534358171054883959001227876445114821034276093039245314457739850038894344476671428865198538617955335404028537861437083661719912549398867744734811513923982037214872655978773153542506487405487043093749641623734791169594458494733772826549716619624448*x^181 + 15906523347465503204137213317470526160536921667828981907968142883944559723182228741590748370178220096554701979949900496335123132667811483331924706837383050115481415808865496340762761960386282599458769947736412728170329525654536650996717355008213967599993202656077108835532734177082465545418415836283013148164830481772377402266044728038798415671496698831204569448359185621252515867482809805399106988741709543483715919401372308443123849237882280326424213657061095145472503726275895639907459783400784665317178925702218638272365082800241058607864117343327006154327525502919635073138805144191541763877151522105905957280568188969939070155176194034864728158794931633963841636047167862632971836193541803696486357546878043581999312144181537393051001520848340572907577855488334189254188420039491276834823131068973134526481217036779675057465154806615060705838456897536*x^179 + 56327823220956601855358303520043229084000485398795183959911825563711816414734562623958164924910360006421156282997684992003908239248417118680859661273230489349979336449228426589070229453554534425545328808670587144288051647738891510035006584861330722059422970475222211125623049787408923749458636671764847833650049211795213852588239642813621546316333841434000937969148472094737455960983153045991009314579943527313998555652730734376225431621849966627751484070831241286753664428113144094605165613928889411362183763677834265922441124850416535306367359572499951464653060617534597795270197133220294272199631736291914012798477587123903370867123832515370157551079936189482409997179008037895590890692305229058569412604844313025311638586947360309648345349369945398123556293910997339180652607449693611406446338223510214369435918287430813923551499079879558180364879921152*x^177 - 38593099610628495982938455394624560010775064004003616133940644148366120526183056331265962589478564308820817090941059168031523701333176636460917615275804336681009107743613747388773036595675539666184191406968163084009113420864552374811276433871296584678679273083221585550798256220300661870118763582006685988469873501280331865699581307434010244456797040858833874722126398526146583728868727898044082517681656822412773616076874233562839469779252138700905233028993650729995582352667094411091967510051637789549279501468624558066659311297511361844587172180647932684852816293181674825481606295856502737948024179198091015528274794193458690381211345871498960974639107357181844233686784040562111959211604605130439567243431279508331687574625442898548590609851177120675886686312595067125770027294889115258846293642477534234289065477502302585167701920579667322395607171072*x^175 + 12635696227001665799977677618388882373222278911399881866422106828928004387470204961020574172973845244111313825676671228286884889386931168269943481560508757588206627141194375389330609098942012025547349504658756284639456869374485904641913148366585087394012805437735755906487870143358826394273158580423373934454158094646110443581287155711279731326589630051816064249741389951069917826298701512822117986233771517818329671725603380268170064453828825695334664157345223307534914086778678515779775739202466463750341819350044200880005042109623009360731454409588568090665135769286980965919117735927242927374337449106940441652451307676910549754552357997181936832696984124512970546109900779854585469174618241295577265711479546325003795216642343173509615112416409357927108801425403301704441156338657266352621453756298732715986283452049356671764746707598779054221655277568*x^173 - 838219741592425647028046567336567224559312183240217598984403966278375605367588645676237446026596065831730477882113943700382328387053627075763061289471686845005100825132711368961708182690633578075148017997860102181208672123909056277980316685329702683187208040149217591390054802805916796025234765316740811717818270406866860396928245808007279026673748050487635876746765451042653838198409576958044584330807041452336040954386525266003180204541699425706493266219549181658691939699485729527872557533545569856685540917695654306663745561090685092902747578984527102026725736544518812985526368346584458759115260812490360423623868911024784723528453222215810553142244367983070780886733236296209477944436889201565660263067171501202395055259962391589842296179968149003009763592031996658178271961538411132131298224016439693268286677221643731001672845687454404428959842304*x^171 - 1369361621882343886926750589011399090426774103070122294879530615115329098087702014295622831319028697052434936060146891682743792320732923974043986574621148138810322285036947469503642142123844615355733307623066765460292945740849261164418940176920220060361079553642158256974288835822223157553427597283548657648355933857266121228533656801409924861487868007017061697241880468384896199138362756102672165478911069264457294097035184723608866019803691774911690095517338574949613482376426286945102691331374875883663067605081624947980071269745829497532464632704387872961441540664251353595299408077635141875682365611342144987645972352263298146829914526325150985420957752868495550758178154283374982649138209512181548724860657017174084764828671599424981260364531953733670462501036130082121767288199231480581718875849294353362237499735144760925368247432866082852526096384*x^169 + 796419637454318128619099497966357472555004023294593535738422243196390226919266888957290446610133624591853946011812812766651805140836806050705683024051308101547786000753468996389587236236603097827943247979417153490004297800150190499872585269834233121351603599540418370240012567816518100556882134373369086927683176761956816637396808012189831506594517905661309801217309218792200431542680389347136502234276293197174911984408866306925655757795058947102523956107558030275105341325809561440668033733429550038515391599504932088845500158407372529725357901493223560397928994502367293483028972173017807890828193848555855070753359183883072069376923357732690217962279087776391338524587689290309970836406070761569085403109902731646980722368016285333305892858190970164559640057906524858327279105250325091709595251851339339262659203154349080654011121130912053116522201088*x^167 - 227602389956085074132176805775119463486425506469504747675231806420927732208456983494276625078992509332424201946880580932275532510561873401547905072056971767524416755101356194912317432106172455740703691149160006659513354423796653359858150689153338968937011332691216131852443702570451454080856589142128320234662930710819911992971541518080913039392996518255446257206017055745517952159932577711859831630727888478536960864793620824312075761946512243429885007129230785655722697178898785025478385982757339998111485047490316777848151146062264324508542053480865518521868644240701846778543664648879835063010351128931987903887764215155960152508631952292884554280790597366825513872888963973960851378849862500490776400217486612920389276134626733300824291163402298717878079237962977864812639259643752991224114523367185788037502152335509523313428656752880404344627789824*x^165 + 24817456537324538865399899231871887270038553674969271724040418931580711217020668147301502235861687448747291972771043446430596426984637583394775408770542131716816903398074437081592305974845507931476398683829231982725265304931817783813877306145162669679525055109915453070721459634508737839500661624804277895570727785899159142934786670168610384892704037630432438334876958440244459813685466106973656016722320386533116607611483921887066506262855425203231951050808589394325183402614034180797143151478938786965017240012530023247814523435838505620731053364649636434005692168876039079100445760133626319218798413507403050162383298854357203273306951454522768802591451229626011209604088794047855506299148858831936083966022294606033063878863506720427657973982359821229385070744515404440214355917458294882600920484145614402594500899747693680919661244604715496021950464*x^163 + 9249043781320867038458057054864158958997438718830542901578078177410737176316957071448160889082203558682261404850603039964623543878203528391079808781928690048830130677998023346685622355227132376152655844483793731062708312697471729448789157483258794454599213339890812283519831433710290379465852883579003400857268574980876921449315729425989424150688321196063448875086273889298693721575971209210407778646448080466948000098444118386708823045782259277429824680589141793456206923415012674004394024740501879745438948460529083556857548989567725811358170399507171443002128950266792476534356415162624743854695076951240844920865707277810011138570245674723091732864167453074188454195751697450253352171542089754460557831374507183246017654551003039878391537362841579185253147086529288017578785600333492987325805530257712355118866653820802733519482627407415880445853696*x^161 - 5934917183597523715884162180841948374522040043684897855040652262322664086191567223656924569698500889982837093640097890532077858360945452898853507238770470436555392517873294243505781840041926580480890572389324314265947375062353614095308717547986536071242344534380311210362755441910533192082522038123675912035857857078279882330487760216521740180351956779176913732488805252239005873214391818617354403981691015739344694470980428286253550384218273755912675592196273172870642479854530954248441541526702825327541883998401494605039757294482096972471976539510196644107452417358849155548768364070718695259696523124725584765060791172722804412967397037506937908388625199119168866652760183500958135262331769125961858626306637748765997326122843150895164217113034858535124038877489897622546200844705532323397729834677531439193595512936632237076710753530423636182171648*x^159 + 1849874298698992989561364207938527686068473466573039211412233320056121976152705191145689736633366622696047416563334522468809508002389822221462932037577504807422422267335036220351184204656786339724579203526880157383920365762155782446947326530695614995742394969382859184862077353078214768247449553167149375495505892923708903945216861905296203906699722276158718890940663973846795337509217897947297288230096400233436297857611920630305396767791062761456456738987529665542040217029070136396285642469087377816353882225309808104470236965487816432540824139174806306891436732145870235804506290993895620568239373524869853798401383262983336514024454017724260138274077791671349840907411598195509374043431217275038384663624209013184044997010962482823743064655039705002139694378972493809180869857854491581113027285206972817160516596483175573185762299189444644247175168*x^157 - 401361677187473764317267203760444329016842358019162991408770672047557447626385438637127733409050673459053486089217490067555718112825383844280207104680626609790663929900104048622931376249540183072811857395602319716894454167849537693296917429106580961251476968219334150060748412682931551238584719392319757339024712134483281048362678270456398132667885139773457776411843590508056066028863034393888548292941591070372923383299841584170127662308094246559854394452851831643000884270485971895084468797570717581274825286187232141356181471689544902288758928113549597564447538659928874632105354373689851857515203453158336903729707624645007438596537245662785023075205254278383544253589468059014447404287531833737892289929908278397252578961978617260983240695317015377123097556084702156516563114991659620429581832281822140758958081174572361528600268088063085017825280*x^155 + 65486352502763038297813044282814262324601170901387619274837238725370179877827571845765650492656795125388499955414453341346552593276485019189748707942148212642028539522632548267996721059953589944323004964144201053200084516643855054848203655918970393825220045736816828041046249472396823282377252639226868977839161589760600648595832904922871584188765283591126863672794285620609411613887055871592299529194801279109538850365297655361839714678571700417016603810025832388151740178253969515348627388685266453666208742258823080987347046512833713541104353908868284959478498776634340777073981451188380908828373530078326108967914839613766201288093116399899189540315011072358263847368070580841785965633669996819445561008363330837242860113444333949103124137587347324464807987014248596194539611968686768201060720221331340074426906859665843401792400167436561116299264*x^153 - 8203375713558902769546705476445248123212012042059217036611042565393929130605082680198940127414402377243622530802571885602639870927666379185912723066685579344731612106975961325304883904573378387780546813586992564834530862341678505317873990026569427903281000635595855153274763378047234406166131815826184287882028302008407051496355120818213505222141859991386936116733008369666433694484800569394772647251476735798093840170524650060025224468726772308305118383593860875129118353246225465850675778183200164627536016399321789332671692681644320706287761660477438349072073196334658884781069524117788477007146212429909680283145127016688675920334851199457091537871552429226140251094524110364967652369837828371190163851016844011493500566027913045061841989950859635941859927501117652998863383195971367260335435112721347002805266945974105883956597156886257413914624*x^151 + 785128929103508946218944309423226491589569094771289526924184676944164421882727671021342603562401673653974415038676584902338964613263206505494380423565150352973629924172974182048357172995194230502676207208097353120260944309722675399847688753157360913194641329538520020574087569570928325668403875868843400209024097025200159778898653174525360559500132564301669324392777917979570116166251724053526497271692396221695206893210465440700176780413130136364616886876850917879585615219802418817161532318872756974554184431701818844999769391151915541255738638640809488799747997863686816076471901802986802728871940989986294254037739692867239476896193363825820292260964104032644978469534921433488322801530462354533077750665201859097311349830525332976112057128486812744681524851166357502791507954073921441416126239624607703330665583400273606201602738821631689359360*x^149 - 55708668050598916735323811288232505280588567617272539813853559662376029002113350881389739488226793618282943443386414454225975038756149587986153718841852820672047962332665456070653388232271296140304147433246700474790766977766356152621844722313348928494191896989415758631635199318170874181218087703735854456168893739848435827948512731722403461372840717235713288851325018074394788915824596608574277415314194311703385646164915628325737882955610953815093465975187662986575215081830349495479879037244485129407912656854289020526469652900922483289043097298497747577377363405084554344062981713754476165912056321532317036280600018700013472084073117612260704122742543978649879665516970140527870895518207355362428768734102475147309410902132095073074764157901154503940685577778394297524528587373384802575436388484246539008170528381624263038351326401946500202496*x^147 + 2692168042469448675314615340879243662217462642003705535610621636494598318525582059840419508505493113147477792967689821127819789529890244459842312527979037319372040761573958146258022220220002941902237471594227646230060770708491591437156711951774694473876094271788007496192989905847176432765989250792090519999209973031662696812839490551240872432312675153291533734474177495097707791439957073877043940988693578929740830470909832174758364419429456428287686610261706804063049727350720705521812168088063901559892682087163627558379881993265018669613732661218458133825240857318946092483548280114607310201711410224711140767391179867832192717800077349311307760950100244712045120435813116632887685103138192050906323422281128799382146262843026205875137452815713372566164229470242533631199695942231800419296839113361744715979754912199475365666624638697689055232*x^145 - 62404874854976164140019941071731026655945848337008480421287262173563320713148396888513514614841162167635183843038749203628509749100853206029025989704324674088790456192849481378319963495599481150016324390747515289629514427660638192715185735165023821011493889564789957386803273926218303771042077769686074389840180888011906716638114896730651239622575665317774507024264412852292203183128528523487643469487524324201996365428184821312552054843280629769388578287641318526732327267894949456765163128147103079907228178495967782307972617090014793071674937365561776224324134538667406879973539404095233746108271488997406280805249976723254525168021399468210162106341277270739297216509787303853941985346893931859970461409417653140184340723246557508858356926368856496911229949160328794386339763650340802979684217626882353079698008714849230623905832713043574784*x^143 - 2025790800242208237673365931156323830247792820306554370714486354182959168319812967848680462766299592725252023229550050358816976912107109580945973193589843671758188185938352460147249035769234056347291274053417131994298478528802237106787349667611295388161583534766597320124874629505920460650765448461306592963789138765139847350996091276973817735195138092321510118182322946980831567478933313571315589241834745593381677151045439028856526188695358991347754989829720185060036994059214139083674139029409272187532320066733246909032657036514413373546196153092728809367252234464130064410473207553872907043724923037947963623300028599294830624427497784068678311134078886393205346619831358653043300388336847472462692870618754155351301191211766155034189024806925971140644305646346508975786794346463916465846680717758444532539251298294413553549333513558294528*x^141 + 242715022634058785681614706616095977689236275532407301507661701192466222307551514965225206768294742360438725806202944017151402397064349916078456650221312261516836182008818653151518028319647306209721605748536504027323675605608838788791234218649089596819418800758375719107277827936344479703994230294808753590045461140090347535353119917747255651240052613243004232188953917973971348333693371692066691316193745055067665044935649493340243891095103888866660804674288608179845842362300193466814041770757317446769485775498908659414265377302566918683155749958117856191637917499813573166484315616251442934612307674051260253232585083914909974718425062873569725454337707139175369000293643061603198068365840699305357898462805844785903351381911854469268595818305709006312416826671071726011387317431376543618551278990821953855951057448668191300104629468004352*x^139 - 8468164061998106195943865366170164678787461450577831016509273482301280345593862251157809984538756925245635546984961545398160167837142835619962098557755063100654415596527480056289591722770237518548038895701862038910139364389518310398569097074503528093354965105835044335276556598149978751093157705044489844642679381199617342844652444987665069035568902408572049651131448680798626912342828681979658384961906890150073711666754142737111077482084717987858617640140817138651778614720904831756616482232328979621079911277875572073737070039735716815799415166079765221082984335665472816157581229332781860212198562358220927231022954714061099035815206450995082508913322276095489022095076154591268391129588211856996419153120677032220193567677468467384052823910800890038314378918448192218885785465837695166102222661273272020739434295910512224259412108247040*x^137 - 24849683858530273396960533495528101987714788096763461245148419447346125790077535816016637637261653731279945166280526696573790878777100213491614413424583600571457764455847757565375395310139846924160821537306134437192129915668297396970108933109380573231077727506309742598602626520110141510383304527794241519688827626705984426410737646147494759992036817359319544169487870870869370800964783244647326762547143276912235085621900059227164949693537697529586744181765383916280280337012266514118479669211736228173580589254015190342980625746513990489797052191606917937547340628561019351268793117524236786018724384366541528402173042123616930340467697621845349490553651358264650371933917299941597794185529697741305201524738829319942918181656527718327237384923001699410430150336602589379761219165003347776390802538644503948145691927598775273971788021760*x^135 + 13568819282670846924287282195789698277750783824546275135463978506071443839350880870085162444583434112564292189019432570821452253015246371975452202458015679596288102931758880907792823693685062706490631588024738606966703692578664311402161068192830050994844499872588192650910587478718942252615745964394105205017462588445761958162821816311512564419088585570936936200055129315071516491968606922457970041859377304886991054229495463100446784366743741056754819687383665768651081448622037599512059723185709220317393894888595517019187161417855944085308679902867887112417886048022799839609235286639861846531643610337981389214302528192819756256342045031615126198580495965177918913360376364935637656307915694612660477903107070501585795140656504592256528174371957652260751335791186759921000341097038844711400039775346511220395844135718090546957330153472*x^133 - 451128681604164133912697160722400945374247430150365595710627228166178172041809973036199097545169400985366885011556044441709394287242863513665364397383224487810083077887270091609719290498316335465170865838079923460605898667281819950531415039914916743628410260664178217126764333206933026224921340865150610080904718453541478515885581820556566349735377234572931339476620118263290944612813045496590437135270298172500507204518267416169678601542974024307687201162953810568829727777948574033527583819909549949498244144156503338220131631412061705736456459167771255495114731376209718804363873684352797063611321250682346529873802075018657867060930342575078648930641971720056041919573217073591565113394477208462909988714587707513693617866711060266540523658626791475581243008560582941784903291422982392184770548198093420049594585238990406494827053056*x^131 - 981248855800524886022994407935260792287722258789499185751450646542651912933321300803619585344202794846378487821811312184322704439654215532873357821837624472550464539516271415729884215108903151738300098821812548281811987811020823471666878437584181327415503063564306906612832515827039825461904178597104970855201679954809876696439656084594519585312776264293841105210209554857868628924549124648261950447350418550535332949669717959875419299752070667452557625028982741522075985772568811123473713750901362974813437666480561799400915396064942776920135298589373878171185038787177996800504629887140252565574543445725489539080586738366525510437356073649356292828472427194245344023022662199267392164861660754301853544610893746783101259626399786830920170266330343522982211463171372607917513777236469489299590501708326940269541383193064851097255936*x^129 + 448422421984697566168164758983240954087543444039384022878234513049201346579280664520371687783636046381666894146755337344387122058932971236191171189252635500729221842800125923024959047643984537007940631521528179753323700517854261928814076039491938815507412831197957633015094415247608361578113469566717539354962973208378875835158112033152865356358343320630706486151299493826389437107098434399351652379548441767350080056882536714655147084311773592287855309401364172857465238766430681767474114603382278683497761983225062042115097871232743482538591388934664256601657580005770571505157356458969938307271426540433012935107525920691699178744211431468477920041029762129773029322979895767841414898085697961324236734159549721019480951399979898934782835458459623547064767198166280087493173288106380175474859576965391577827498983757488012065243136*x^127 - 9185710630151657704756851053136252056760599918977520043618582671645352041090129362759651298399578060444177248292884610799889060494757411339361360284161271715695391341886955496756707902453036088686143743606242618514530858225520889814041535224703811496421262263973044571669536118427730182656397057579352077352857394205742033986470971882260796972300732418389199254176414496122396977852247416582228743560767222231142146721381473012122067716622547859216120988809837900121856663148197424144590220786939242805111949724379049660354903258190517320016097993632185376015745575068572575083756213952688054438924654754795521597325951722651742360880975952650468297313694146051022325934758537624826369626668449117536417198172498028767344555924268771882752521265142959523218797391414063822950031792466700755069911437223188934733214982049701543542784*x^125 - 141541574258836090142450727327112149136933609931863757138352614638266909452914728708849536777085097499427768244293221494788881939369598790837370189017850466854839415723642827955785848649892079824949442760679050396561010648291429321313231426873368052321416898106781658148907375082785713859508044840092449373792774858432027305071725529034377241457562729442103044335773066873608690741971866030065838934756330906634030025572227395066471135211582687249181604104772027018348675739027470982801037797586493647469289736323720584291612673914526565647073042705584204338670542665323833390611154530036483724930810560544409715630059705781305773255797284268129539269597179348810363803784029075124373000287287780683317700452544170880310989196186752410990865224384307125946074858318055133239232821991440197804302369217564809468394176582435987259392*x^123 + 7931028916030767253906307018835679037393490909218462636356610854240974792318016909137861176939046743130330140735514694052242110025736977632388441764881098161051412256369697405416941974913009111872574467653371977456803050475468594824619108210323826279812370939913819201662631344738147022135648929874955401910020201512072758673017160941060963633676671484709381376543641073494944085047512289347840883654180936830067531967346493946470269741938904496375362444860369504639545553936121250114611991646383586948392369090730733227668425110647021671241681966021204549448707259051182559640389059448072575353609004470680209149207197796338855876483637548346260505132765966124735153942841071707284314381843144735857477693955516985390302896137089201335184594038068686845981880478262737706564989924954909440417207358957637602911881853050747355136*x^121 - 33633749081088714991039092228874393568344047616457160306603771247588784425633068884920159851962086054057640778633988082714974454299005706692100730869806238135610489346964954451266172152585847305477812488619808775764022264234757146100634599487120283973115152658192432764858333127060805339842238060673931488039211620689956573641088819027314051446199378637822886900003087982559308621378775368505362138543935504985131200977508506100865419515381823706479754210123911763856447937149067600744495798976986051088546500727499496151699695593880768556160788660953558843610119137840866643791899256571419588611759794764412361441359925706251090175907298533246292989744323676723509658272490465519420126201529490047611736905528892892239911456258091124865271784392661809633790181962051987196694119976178535885797390254327110814059203159578902528*x^119 - 3335676037190809053302978177011982961794993194516424808919030365855968746878638300132173776173680476176435633171140344691882772815079109892897770740174277379568113215319510056094473564480396735753114181860492300786335011083465593621806126746942885324521187629229850619280598288420949170507488310372102888702543649088233919722914079024848552177654736124832347178643292376637438141414970308616148118218374045353838556586438567983192639146334841578205681674379376847628538881597321605624894620666815553943741299197845753383544320384503968559827907080940486669980605489851820095749168091002181610533047326980952300642543789769108741911992218543639684966685758200969331747758490850921427758225838510117752902053746032376759176738518137549150705336868117630752579745245390077864572248357556036584401891054445026048321394771232817152*x^117 + 47583812168759076181282098182764110055388748427709195849588739557773812224221361579534348511136221671290599774527650535603329544506611055389219733737543011058830809296018690820056201164172720406250348608180469191308935365476222974075004482082492544047296704484048409562962310668405231242415938155520984658820066818575825013063943925985997060191036403570284206481141487666465696422954905043656869320796621586347699177076073539269229831959730106808575682165289686342520882640980072052144178546438553085943677092852920226278605183195922928011800715039301218461319606217227336095419973660064897984798033084828784345835317488894157845237160062121310498804016293110381792345499221743030229405156015807087294417028226600053726059103444266447425036665519875883273032479737008729237041039303041138851101374195452472069960415095816192*x^115 + 804688148208109086249757712920651362326599079401659946623511106365542517478205285016446508858899730683157362115540028035836541454142369200830896901784146016775873029008032416772463886001747441229724607057730554358790164518413616080157748386755513174367011529927437372961361058856023291844310368416201575521865675437008641359694359493551176739897576034262850343673836959973029182816493352475332348694628854445182627340392570813062445494018495363352898904293877076124143596977290167633258905740315046592531243636310357902749829375182481565462369462305801563761276218503471300120833261682293536990841427913133461794992146073941230770431987825172147615244416924401214009229276401957066375855145145064259182240059281138099341388174822788453283748851850797683453249213933271520435252289550854966912077929108395601256989069410304*x^113 - 21229555947201823636108789947888148950761705935015734527168752471516836137343601927912263459900627729969187069682777165093612098022265178076349021500177370419473337737033670215410005987659903156468832516941156722485282405904958445954306292390497589968610729382149151117758591172661015143055503090082446616946208176993611962457131993528500964447118030027441901746724150272687614382262918578362389100054538701536292055857925031085878605426305437194030327114470470014322572860062590407338517977660172076764697944623009112381820029023829201565595266583905261621204606571370655239808347107539490224700041341379475386048026218776425925645674654992988355650914448130664943538771130106571108664300692891794996153935740214377051664979504697114549284875202299611370397854213455803659097216669372415634457115010858026996945953751040*x^111 - 94565803943517616512034172576021737218329874781312627634199763017344701249753425468715046443354653280595467269407159929547139913966646838269438918005126952727108560797237060791576577036617574758779251427705958636379446025462781447023059877059314084675447358359135395404795333214180863897285144873938256988879240175375688479306422792035932168061961471103692453639092178481743800182832808171253459377180290175808963210771800766976647058001885442143263274977592391254816242354611146729343718502928138816696814487104105000131376057048194220064781729729075463844549552104753314655060796847314641803949856631111109469615896209497147812688987367691031786646213237471194146662936084971770258498813863358013791531024071797927943791454781146414908319137966512822274653225703255151476069003212008438641126860047516826526141120512*x^109 + 5830644758232271766383521019356572180443523432416483641439986216912151255109112381586142706969435308204427192516515855888213118618774565512320687455383759317389481175007255370318710816124218621606702850444142035545643782214854692975230186726370239648064342766055939898589118596242607895469628714707148697710127321867779693965618639072848244455837923770193518289927025811373800426621956236393580260422821018518853835346636002829426961860436895197163046642184648630601185810824717383055935021514725327828468942992790312204687130518789671184238513451500263651418712244038772786982648208685715401131501724444304423197471088724503504980421094613842296917321454798794870991546091274200064661934788673059857135850118548820888868542756833296366371463933284485964306704974258187115055216619468554031870425856411767044271243264*x^107 - 5782493237874892721990720300323148765927053691103607444895943324389315569183541860949455041895126285981260930354250247640803962467985029254526273496010560530193365456031041323545757116963131829604702786688233811248827169320984649630861296295571605363069179630438393286444779886467383383308672909696220001103684448041202829255690721278317458422185497128297600078555638389688444151958725673200974420551803786791929175216326777078175373366051685502802313276690348046714068908657433480729156231481729561319768355701240804093723987952054220720754526836229717824321558769414119757482233971382523337048375666619482179958538144807152594346679568319348568949436757298196006424281004181138319548170868833052801431420324527487297429732797416833784724016902537741830506717834820206498920498002307818804834936982326206787485696*x^105 - 1117236106888986118873071476554856980862503528335368913318208292339356711864920580033860704725511596904193289649752813868418371695186997735592848578762590492422858948943048163747141551635172494589619670759463649508675458320122337872613353600546035956331392760546509044916266199520359680004852802356033755401174705862811203228440699918292401177989186504762528638952431067597384291037597352768609885018356332843835303680801854501219801811151284814477095821478389190134718643238259123943008498610998897088029455343990253278286450619910829942859806788899703287751906300407835699114905682965580079414917791216989722571209597575568039589083468885772465130352654992980101285168583966200344731895049666745011844224538810832996919030842133553353120538128094745470992670515224335221947685948607546328080281408428801966211072*x^103 + 4711183027120902050454978576015452409297783992847578403281926258963286933598819661596825356276864380763965709843597863610432910680236068989025120578715755137797152861966419583669944773706414982199234745133568059078488384109108492843409808851098981849173953146804284929983738296969984274161381755242692558066680362317944527138970228685586421440615534498169128652092720805843299097097732584460763488601957561779983280562071717748034107651157107211658214019522574775064442456732876743286884645677779234835247552152952781331873354011251360503009170079806668079665140025467124175051439653815706384830509331520855016675624295206745326207492018289312062746743530268337248521139851401391216386556701774367881347488760639621251579910560760032995646448169627831853137847245756291997266909754712838928873330376024287870976*x^101 + 156095396601333685178520765440823876214562535840642833294875574265857588295147874693209517245154459906159398358128328887007654176046076224870677513908311316174288013966155516938046398725347782888080783301222217636566835201328023142752172819526496404332821140105847608290408312238017882710001580472699377386178279223332565521723995535279862844754397418671188913480478051999697916184312870028840668819348820634079733099434747336306584614290478175491671264884443330744108768300649994073767997276996485886512909679523749229570392791010765460945324408475594161500163227805004155468498320296263565354326843040321686250775563150126904912813443988061662311273002696058827934026470207496206562264615964917633717150640341281017938543665873178926968465000168944428779777237659264045679769093622346913448056570635846942720*x^99 - 1008689134825232935219054172428044772788090387072696508586819923619780131846457072216549108793578919762953064702217588266360065408674562283685195181582669222380916881369158172810089886977491340264080040832682084599836401289182382395156387040837521867518548223996224000234573169249632752324737284478899383541709560026501066512204544954123999413573733712140001100341278287802490929486385382978503448080032728261234021234728286633726893333524225262818408837862986989977561265896945577524346611664479982198505905918296600111614843102028124518759550007197338933453421828551495267096974895539571419116178020219579458359610570283559990353892557449737688458457111279644203741759321540773839178480458724636627205778521957655636033454855273285537673223565371546535109668297815144355179036212058092519139526127336292352*x^97 - 16058974498985129899022231356882028481109290228777149537431468044243876836508802489075572444360505186046809560377256070971599399108215029469310841501567348448268694325798686632346457751620367727385517314435697986435725677623813999689487900393447807290026640717203848724074107030603929528903948924803924667772568885837477222493316090861754791815977044499925436886826344198900261195645087884027496555669645229342443509750184019709889952843768577570166285556544646091759064415054546725352876929782342515614351264531099241555163335707308902509618120341150240035348685584751013591799196086696091443372619505016816802506889370693878373158316297875790208022226472141078705679917856057755587768687811529263093242121786378734667722919158840091049084257494509162668349233338135536962523697098013280807067392948568064*x^95 + 133259585145177833915501733978770835559820168808433165299528956897511468685624584581307639922229382841625068074568503606991743101283364057236658035596410636940561371222075105899367276975048358780000531442081373362320885054733614902379698174346588440313890665920041925096017110310797755445207567438695593150032731608927997604491294134254143769896706540250161644112619610931977361478242894664518813705590411313287892338287070690141887925644883080904787487376243360784292636869199275110463735426376758705759342457831490083524805916842106017525529826614082945417614187528363099994189526721904271011340314545834639794971771111079375268327100601831180914618032712963035900237567242359478642844085335865022856954478185631797260336830942126630263251694100586774122975925854295744681889886882523794025167800238080*x^93 + 1190695433901858291333719939863039995424845166230233156088969157883561235114692548745282652470136609936038639643461410589721730224473155428189088155815752882282395201265094905144273763341488612750418582813397520310116297250370139889169841470353265497173730413607526331464741442282842963618802706268144450690079181322567709937798213757007273180344843040888550291989117448620297444077343858135494414715363645395317886196910719718346605773284348216599624719484565329654692694273217040968567944797552216014203660609983741935947558577101110443140057572617649552953764200740972758927059036576864537308772587394073571977176185422943040769139439767480978292908497524132884216730487070965458536699387819608948971604267086327683037810460844678535127362687061684750396413661721261419882009939984583623324471394304*x^91 - 12308381394670802710108833620036904621370729578656441980574899961463772425254962848323659321827517460639524359676245385416824927967786218507535884084740912019136311398427467085771773556610307777503265380538266369437319048289323853101678637033726896110537056445448908855733159519337301394186980111750156688772028486634090920937572114358899444784951008842545188747895965710092532083611445224115632644619607657917752430388944629086200354711190478501384981644101644913084797039594056567767068753295852927293846106626140834684636970347284717207755457159975947756823899432130712491670061742979380206419630302042373716868314001147160369107920873289092606036959541131385397982259098551130375158901990202100299371597485919615751816297281314320720229006991128451284501102404552306609769856528536941355130159104*x^89 - 58871242547405958595907990712437882528029775109863148923236264235123724827638944151694063412627000711900712776601528925141455290171469350819125841813444798339924181014210416137655585996849511864115349217831546036658629004805967578971545453332134136773973880712766405400139157305377251014142259759533677890292816309212978134382213199564103171192801674467748104953988143794929915383579284052815979175152424585017985410355575345404364346793167553640745234992620899399978578448139317793006298022706629633788466846175257227981378336670581901695870743040904612062595158249970114830571065251633836336865070237788886032112224722481023829563869312998617840743759002734767090040628665452735113580827337186173173649711110202885073591076826496458628607908159863373826989443068402437492094938157349713066590208*x^87 + 831089454151111580076582477265513349803406743624205441603510577713522398081530587740950373207315994560828395520250074163549203109375530975333349021770317494390671572783344417329474566517858995893566422904960485325368778703386427170020305551500027797197066661226284011028888574880495269903412193359814926497285711786008226731836281374249845911893613238493556899522831912603570005644761800912751214694108721925780045413641030170159694297088407586809022625536360101356218657188669067101170922994576407434575403340202551175550597352951180073800891585634274378303561341655808666432502623027928494446981103917192695142001187598117838204325884996543351571763569629185074366645174140611664165813787918923284238829879464053937758624859621392518790766208245877009302717210087730173343677434774273461846016*x^85 + 1443820933084241732930529800884085723833071211023742810104270290603094711298820151812181431598402306706044116038698835557579523035265140092855111040444123362287946837044357976670738506987960423315997821974274113592834133073746141131157158852831726835508554076138085775769476113028143834723409500108350435957910534752828075871624157393880896035795854975022258706191182736872968777785635488090812155705749751716354463491990594330475651502307037636430304564019744305856380410352542718869964441876889959003644619063285230079711025549634275238240959603046719562598993407586527886042088497519599158206492181364310448051626245341441336371998176354679012994929311604402167868229426597082794062653718583093053306671974136398708015897913253995679149532866295091520580196594480373637654339060593978245120*x^83 - 41564299638240288216080784445707232365643103551002973217364481910337140708792492253736534889484521969340971981100208601419095541455665327873874031307798748527214605187107740513016901919152818696073936772283332432013147015808087001874031944782670647492899213512953623472545588154846397511938672910193769515867069363127008654397487950990665468133622230143831736014524483271602753316763189890764842092637673509451375229636877414352558665957134813205559176460309307244852338012430330085584822688090927118927158702221305244674317601022525455289363310359936168964248556823905918003077301837069997711781873670105909891633470028920870869084193264288298889043128446561210744381172310225535926647226535983083128950534025949424711325913533114272639921743907966463027530764454639628681581755511875829760*x^81 + 29789653204482093556827067903321946950807440771300433089988385021117275053564974080111790822886155293995742275320535194578906083708915306706859678540249197093896990212873134387858943624767764987572440671953207436884398489541251211957394864322665385045153069493558790483323194297707118501374288532923519172275410761595562262416399630110542805603363608371505998959604653284493867370314289664848949132327464251849522431738382424897172374928284147003319776550515942798064460460858621325553966877018632470963294614789490262887076609375502093655437890163829357058924291641257737854867584026233791826581987885666052536351695466053944597264328936844968566461110636642244053265226955402933083925206168643394609104147698603950508460951266126592521015887700350492302917858255605187999954893237387264*x^79 + 1496060848595248327309839000265812269219608309462702588744674012875667377738085319938487797956962657888405762754282130126316254159956918597794294821311708335836379797318486266959568744103160532921408373189120691696336841637959981416042902435703195420145551572910420193211096475638663466992426434122853137836724813272483914230414588708716736148752633886256688863824279554770951859499623976769577271073909433119913790109534477990391418440856075022302116629950121944522358330695344968650753421715555605885704413819297998339415320393261582207451109463122292667246418562660294988726885759486592418269316623305753357801100159544802243817968568923533255315663728008152002530432487646355805930542346003115275144197861163771919919363244036756599151209298665847444485685758108898002041991361200128*x^77 - 4395796158192996899138512871641816407992326699091403169457282636990452668610899533928328947044491333150037396916166625236954432229830284275893600960394139082174829721697791755285621890508407317262301280080118492898288805799753151635312594020868255798133763038605457050421018887911191305127701486950310492184797558096981160443090666826859578202855854223467732356380402206093757607968280795400222648342541337758752550568126997990355809437448460793803124942433249325859381533348451600114743715296785086357998336152908105618899691483791633923951387806588659857739517899820746786157889814913038629277696245686125913993985034874546847023342930294056568785392500767959611858000470237698402381196398661069680494254390631056362332904755486663892528664211558663645164303829166269234114195357696*x^75 - 35881767414234337358553204681719409249400313994798372365635147902134373059111734194202668874376343517109768462922772400166813547277081888608547737026635756441564543482281775236053204035940773841713900521631462957784748284036890195691495233988252739901605417998325807496590562370092365940065788319039692887291374276676949844520512981816374455998034457377199121728203462230755722210467583188858108831321352492407248510815914847627712635559581606503331277609045264678547699678125930685541015902145908110113467294260250794972752165457935315586680873609725803584127709484212755063529686675714624548669934993532576344385828448713950593423213230119537269920820392623587022284580310823080572533921268501348511077460457207622204893690171055777996675715019762624070002599699763613605803589632*x^73 + 203092535737121948493028822171442678903093186641401483023432704042683284160989236649463349791737417410329282441503907781117286134433930382714451738206717953275752787794879218681941737392528685698654519452362128057949456850337312921898291285270634194678661480760528561177527490349627246897756326307801680405492782476754405366806988722888491664228580867766259945790620647177744258867267446328224499660447637506316443132934802488190350635820558624768911282775065227879344335879845029375108917815115911747627634611356766600114529307697742067840324380896248115297212493693987102456130064312223195061953996999239297857375761512066469232310240046573417479046258263346349986752183764139003373661487019862258085666101262391851915026730064083291153560715731411898364098406223200292733714432*x^71 + 440718464893359607354213647624471709282680434331859169298394473943131136412751481830336389154202954414959282356160348922577098699743995081174507283784188772632610246142991729721961191590073177013393065830920911325580239090246938776828508942517585470430307353610205293748929230627967658554609494886013006468981871066764540095089995673130898837002807476254572973257831604119204274867596762896113633505573370296457017627347815045144874056073239088852470863779265420798291008464826089112378042665548594463424751454922495625714904708392025142022392400570350554322346663827696521351571662672302410728797831142438546650841625944653823349879269791073325667159033039990640722041500765387991096409410792096789822322374927860837382373246156893279523622247141967746969199284844767041552384*x^69 - 5536822049008674334029219031739563974822166091639052850720349992908874373833757826916113798782687814815314808727701143675133191607785309943175005053104856241655100373172467563025567507435735518993639080382889676910895934561482951049764208152661392905272048991389421501181931149300082411323961283970904393323382765377780048663841846394711080184524000834045586740743439945560967666388946184943124686203767351127121350401908778642296955929707546707734260343023977400070421657683155642037725035948490003240978027343231579929138484938932431951388455466020108872288085307013878201518519715184922304048155631096720858337200372795204364410229196750945432183041664233763991503989987872420361674087156404009894134376235623141251734841177520213827960675293149280480907240132412409118720*x^67 + 3228381450043117809725560938548278948817493922131397896996653556021902861475792847042371876567955592212834126425302088686264189181206023900105324053157134703675969622091873596450211666376674644407139689821581780667172783121624534458138274417900659477739589653094146281490401014036972707388728075530570632434200802778216024545344336423584371460705347686664697867159424364631751516658272055985952325544458692142214313857282029570331280570996658618970898018691293879765716721887943341372588641598714488644598272864489767374956870205882039508324535731262310199541956459508044275332796284492508360394448795422682503996054709419739928746623646997237915563689469674098083899554418148163944253598467760801068534079794110800350928934092457429550895492296997330830283033590454288384*x^65 + 92437576656685587719766237707106023625313888963755302348671223140610332983340142155262901133030424292366833170088628163218811448307609874603383720292374823916842142907053385555035574467674261809173065678940962928052794916168399298074182723995541321951574979032776421324129633212620672507299139768884000682352457215744456091948957311029214119191741422216051465497116565657077410712387310228774552414207384569042392855430425942964556703366865331888180577371913814449136901607011991622200606414774761869320563016326069085705828192241728658405552672638717275265610756657791239018473378563021959129907632550426261205635443854997290689309230995817540804011295836258106765032360134004269938317921451848017499458164373859315606575520163662429173440702889147124650931721963831296*x^63 - 254702370702416629475527616863377238712031334543637015807390314955442028196144793580417761277571430744316453949001131787828455483060574758563509843614318220936588254285452952496525623538593053911879550047044947932747609605065055059706329492957533584556096742480889481530981927818097851976461059818555470881288478911287136911185248675821528547374730408994811724192445848665248669086101651352726833641162146171946950815913829730834728817122679947476470269407007172077320835815140491108201938040050909207541109285733308160862233324941570941857657176108006678949932784505383922034735290448343485450096048915733288147350301208711378076413619171424262549624228050707413729015073042236634384483419846492250534583944929511477371093057651012540506654636247207053276297673310208*x^61 - 733063391206169307856777940584012932018072485445288541813462440791057969312182555166481386822284700562942152383070802548474516315510197887463583606253918284155871554673726350316256296615575544521621012778255783662442039190775462562822778175356936190765910160907285847693394824829377518407726111040558977808092653180873279001375882226909650655486644472634164719841099335044790278530155435454500216537497934902546770678877624857608886409332597613276296312110777109186816950638733706586544550486271478095039357165982131877967957391016947729026810460584392933808706339084548837041308791550725330405856576004946479477310487975852155131092763480743116476135629127806318751683619209251904619362904547059926934292569106043787635342211646790552904854825931235311274357161984*x^59 + 4890315530662093868083127686367993245256346340598070811017732938623512896168643359580387644839913797361247199872276868651888238429939863438003477707910006550429860644974557583664922330013860881857280496676409811989915711059801337965118275627487113302845208865007864230924736349643888264729605679970236322295643092726968684075934544006404978172436310550163255233117846621644686611984317320362121837798354934028092884728845285913780681171715468027085386920316757819426358901320803656353697067833045585968787221295729292315048148422894216790877991487631529633972252847551676233168803369928779200528416580150458058970488278344628887188068815073813445068264655815244743779480222564394204242637230160686387639829376540273554785841086167341024892551443430505098525016064*x^57 - 4191312565738717262749215665903101381309420588394457750677582107011693518076501184399079086953085744381219272993563442730453263604863854399324107772919158974884940945956806297166832288765819755182352456291976904428553132220983485563587392440659721706978267215304215571364616669275029487337822655708590466984834259793602294356336222193698409745348171968621871567171686872884644459713072647905592315445858195697440158141024580178426379969465980757175249686721700645231295242532453367079104576874009384911652845351520447060967447365830403175462181522261706085387371959798366271412137222489711384744888768040339994053658356442506901502814627186017570254042726723828792174316502565460596869141766471354054433855309715765785120705742507742649973595424116219846852608*x^55 - 33917209576118815665985503786842539037435302425304928743487490379022920015430946901764816586067401695043283934979315287867388770478737106200704338666761517070345887151475794170228433200274611443036264286858566166502474329331290523077804096041972179939823124587743134645332763736211005431611687840829720569889922815963675781944156659518888621912724044882732839994526348202512068702431843473826032701950509786823326076726853413733838993883161825431499500510762509673319998365168941315488039158087858320064179347423875219032284537472394301267288097628546856445732156308057097093563843668478094299419565709688145791106721401450682452693942448872763417059021120445260216790344239231230504056779173783950552251579723475367595208107710328229498321650583067099660288*x^53 + 125246948824586453107389687453857657097707988074887164217177926744413716395153857641781466203244660648525915547530352763124072509448966730555454623629790621352780570122160926001914525345248427721907685751003030587733828540527737750089417354842846773503017618534734942104453406677657340665392348634981991536118471326944281533637411587779857714350845214363478462624232450952142557205327595014225334115663161575721433627427225114307182820258484109304489629096447277409646786898682889773048825715702764556445080854390302424901709559674429648677019498023473426528275115503067844433261398079215364473967051985894432039930039934929518972372383811568566433566505160403764771326008060564136823284995950687786437979884026167704621263478856745549938177404807248084992*x^51 - 163807799710001331753961935531468989009182717273529674163308459206984705924414405130977992904781613181040574704275327014866271149887420322340837824090884967871360899521152510662639534587741703870635404878093476303702894962584628589053765585609197578597899614856621370629582672512091671753397876544931057204884764395414798668873317998062436433403846145811626279707588725213801300752084663898831419395779703251592106147348961917902908141284089662484623080299029192859040513264170920893468144781987663893224732669951199981198703952998713581024891582498414706663254095493662806937953056070933215126352854901326718080378229066196050666888704178622487150155020240387843304247046643210482733730270112247472768159436722704673063752740442296856379374969246711808*x^49 - 27508370668228403691356619146402835354148198441811309230144398495629926708818813104332050959826748567624383362119456913155213162263548373878249303820514095855277012927443338522504744036699039522922223081448934277610143318595791496231978012811759406211910408206025121939945437268049063958632420838854329002688935699063553943088231853130846293794770597764788381169342846728807875174606671553092509738831711097635132533878410031636289185609993910038298055754732633720768425893520838009635760023820236877465648011269666278661585762398430372044498221502327980291017511346481089060126278594271315518239578614478092158754424222002217252826583375878933903536652855953932777591947994338909781004312180724222931895789688595864299929466982582216533901871939584*x^47 + 551271521331577459479711340268614192256783533369263563187565150477052828115982772018321774792403092530106912404714973479533511924880534594682829835043914653118212769870386280174185457175249273467466703095183908855405095757384985788563267807678124017094843692984078941955291161181097394008088968295101595974529868793405100180234479908999230977002764420918818562484542881171300273727466679027986743271323532084369926000209706885267674370112763638059496823978204252094076324562174989133900417878595311060903119466774221263543791001983804358349424098939085024704104323760568751764758237599176432888581874936071087358486028180407764601239866038380985105325853357366412759141824208261347913812823510949308340731255824968290515714090257752807704692260864*x^45 - 2194216270946462185065997956063274551912556461482244369043750931362050829685224299959869557595716691184012186201992935860502691916674455409364458714628580262097177738824818264249825215385851720789167612556654958450690302157512561324573743675373131085222299904123807534093683942961639838679410736562374211762983603518712397416001371017255076646115862435413284026995601449277898109857813535609247037455145026537768247652198105853350800902883777990577638176016277114850570603601011444078328103831329992770850542018858326490367309619694651712314440243022452092202780641702092810839145955908644909213719231931029277631481102847161985714113550511475206339007033375851736482055957737694376989387353098905344092076722993192056775595174944546118130728960*x^43 + 7617368092719772343348730471115197802853880760425792475157599817651638341910167697204327272212374367261958680919912275024017448310439738767707098583057767081850882343050228681905299625660264325564667543643103338338802540967029617352038222041732750844457470275308748295519254846402409475645529827331080516303649846260874471522353117748959907612958104476645805775158169275371560641417768189541907629661023069192570975506975561324940081032787443502484591182221905998414858629557790474047369851351500136515099633685841129648290228293788189320172253484415333117376410049309508798077181500232897390980238255651700692029614020641785840845121843005561790234292396069623799740025841513295597437941270245359445627513415552789650037600196251163354464256*x^41 - 18676392876498041819326345762094106647924969705628487296523329135607689163809344404474685369079854721158740838144109901052994445105560883207149085570632740529491201882119285525162516783297472878597882196114370576498047368229430199231976520646705634884334380963860509068808032661140770707629842742798561502834472935238289859941655237680119769701542436327753626183879762096222862054701693288407366552524187718433308886222873585802003406296068885859287791940910802170172883625933611233160924735436259361286178412084905453545635774327619781969560846152812928341967419723317367778214620417798656056558108068154136551095717694656430853611865641494497473917486567349010459370983790033705506228478426318739365061698178652245767630248601836473810944*x^39 + 30185130275170612466674403537581336050995341688915767696823762839434343364573983479183355217335369161493126310010110595636594742502318167315267750753527906081093887291828165662749594382566171591243280457286156718186736530340969114979728278232056803170057337611740749888349038670735875623871699981179245015404106511521042837991595048240166412048188755069380213846090668823060929136896360591530953294999362542914697700289650559199533638954878352209795018341217152662983487253281095635374891491417352207934506582441703411633275142977722852596130622438776723481261754288402080737664041104606199663397071553975433999369257009895016031135858951247650563194384369579625329761941577063925739074181887457471089502350266449112401789110722605613056*x^37 - 31726133781499745610953921076005678019912131877846769440232083313473188422476479749270007105939379231363864713548924264696497631335395688350037222810711267764815744387613120461414756903651019255379040492363701442798135254171937251917903051332948851300483909299144089370427142905502609379637511455812694868916828036280689469767550702441198155456311021414465007753748006693166154382020000436763223243678822050685773111874678628660717314697255824469549636297509522121530190085092081532890440258377684767494099468862366178944138335873190348422295892099203422426179836603909517152232597459832815785921512294428645353202793233725438856540376489079426251444975672906424732110209961806594121940871612651322216289808794349892366839411925581824*x^35 + 20366659302291602780149596818637044260207760915744990203352099433416616307258318687884250977881196631988614203589958313164044881469237191492919231657776361399408358573119954367435191771851804627478086890215336785409882717259151170949452882515971162674609206653780345959423558522311991211836271399414095276191715013825091042949975529671669507946731465310743019578348436598142930327496383226178262076258578757500215530166049283678972575394899027985553340796606510729338433727502545953585911657298962972573224390163630695227353276666525864921988023121936872186648046105441260086458168938478420132392664813597497373488223321732684743148031183006322060828717336611638461985371496295969699506051683654996019340926037999089980979466469376*x^33 - 5519334834316373357147219710130941809962689244882701286766033727741028153577638504167525355255562889011476656945083200594885943417049113889927393838719326142861640179056656615428182051115271992708826999020443703322613797069464829443048148187966035338972352752170474704834680137760791381980713971377569517822576694647787661447313025754459370257593679559324240060040017665552232670028998718040449998734189682872062230258593570938736550374573527161926559851550683778983224117816917978333054853947191001954188175342642459846796394144203842474969593681643283341002074539327090401904413250586411027357937999408118010039217767772517332398979418531593778780076837425825278365186289514965486373133557399492966226246552487835470376468480*x^31 - 2739563747567654321392801680284439987016083622789572856303330458352357135956190606556880130962165970153295117994184271422149748993042284734214090807763753926576424448044232461056560797815884354046976579586757188065616305459804304931079297736406828092913631108006263191992178299884273592410149689569430593323510960587141699004454324656671768219510397701174570489198360003045095320143385932867572605412097997155781575846097532373652983895358994806425285224079877744332465611506819616130879776620908539271633234306673408386316225979477085460047381585672402280750838328466590544300964713990025961732759286322867480777976186718031828070170026262873436316509226160083034622182742146887703232804887627248449983776773407722656759808*x^29 + 3603082456975717991454888910435302188702367216357240341197599914899481842005464697489709938604921318262584818457320778601130434234363814178020000601752977529980093144560721060697078386070913143380803254685038305394332952385929086258569659656601438412241772395828602719170397370879560308166839604805824833036366364473262160577681784277033617213327516269586097412816760253555252354447429067231996309262125866725378125635085509444618423943327071580838682287618312532055487308394637770547109039481573572987585988737013651140384902486366409242178122087401424753283914306301116147971185975034805727096210432225859714872344005790156974079963145156787954273079248048754960343652003620102831768323397881018519875779507674341703680*x^27 - 1805490584006994047972792634159343336567444630083447364897204300559048587277934995050074122981040335677066805227782768831294483677823286369718140064303341790585892568833918882697887404148104737931217691163863257604843031548830592572431978397060970943260172509929671616117598441468843808027709525442504247191085194599002245959011671865370068253477233209814738256593812849217191911990494945052600212420550370901769016906852332455320912990931973879346566748480783213266474411868406047726528072785671387951931255548049156708042340977294090761920449455662321649845967384606802952337443212613690515683444033951723094550620960174325893869439095557140445323471885564709568512651734439602291759785039207656504901383700625752064*x^25 + 514737769176085585790544860043910235152974093491230804813001884327975161713777154897324026802224572620548575731118282292055933041899367388324815662311128542511945039503853737602076525777338733739049760633716618617404149085328792506342269633603847986294527999029767520553744674797653099282373752207507013959988054248415762145720004022855081464658907702572787518157541988266847387670995284671710884801662392034039878839126706985411195102668632027337505763379906154743502837177734122626830449738456973065193971866665262676922666083750458448605406412363332341594625702713701840668103963899271539858279710595201497813062799576747370931865052345387482156587525930552465506370723329347796713027390692911231862458919419904*x^23 - 82784487157148769335818339657901978086104288338366021257456218811033709210160140867784010687764555603933652823250808715304683589901303425348408732051380042055669562488834216021224810742056176413592133556411015934311922014814895230186634147063287401055968706452257693395699586373187273192321044400414667304668954079535520363162585497019608748695066923622672951967777028428359584002861911128276544610934347792129205447891532731685034614104301948712121412564976217663950775775243856235835984540916629555179749253601249458732089811819499511615143073238718795544344263333392774172764636979641011360856930370634354966773920434706687641244390678071100896092738136047099894591072166334943279269499773477317195453169664*x^21 + 5750744141629020129751879040621654672840567209086403140962059372686132344042443306474750231561569698230060631461299695683226511089240150965367579778914446753303959420208492763544453760906494407651152148832106537103582533251185064383604088207957994533222447029706603330506164902403882385211345347994564508263169028299647030768016013100592570358384940042028782562011902308082523656400300392829099879923656281875454332736732940602165727568087084486138502502675335744946319324357848689478567763798996721796412272274039389580723687778667503758443615873212586861931041272113587501992945664622511360707885679621238613160986284951911229090375889477277839120124973502164349612851730199396605647916332138820211310592*x^19 + 120668316206450028065811804996248679626886712340546887088394214626503392517875305182677260994684349447241216892214411963815457191670156149938118670897010714116647879093494819228199697652876972050338767061431414870711674232591364811487193189256526382577369184911091976444784177334405538637507785486036574209105444926484136431409181700363289814180875449814648835864553189315706323817379364486148264292941780875859667936365152312952139034200619434229782131126423274679390908449231601310211387338646677256050034807082022049119588339044039895156075994997923597263994725827614080627635177186259893346917771452024482280520005590809692674501783101241859999848851400293482446562049330167375034997227468317786112*x^17 - 18100127464426770010678755397639257669443839334417954804161089905773240529256097892047553360432933818719982115128265592783698727768877059952808032627921659207512157040352056867473015739026590383006136807711680745412071014111209306771049945388501591146115814158232366070896023225773458983495741814353471442975400067781456625691440018769684513009660592331791643198160488956751552072168039382151301903331030666469503399549168854546487751502378149430228112383267770805501907913242179165673891549853185300686588758525473247125996182858941855487658749601768016747723848535472286624440529456934868456264119469699685867584802737493027036079394033494488793016151100821930809246137913733312013588961733640192*x^15 - 1702820755049894003504395119469980551789773613134844514532831770895101782203311363219191175802574056341222846625007589379380294363005806533924995712493145006818197679585876200903742425887491882711511430826261061722347871483342909087617258208708793644207244585680764520569296242727466828179307834063758957566717724219136290584113277612007378822339016631524004217964900205845389035204561853967112219183756078964243800523408597598900721112374328106318079459484695429545773471074453557862241246061054631176482810299828232994595497757088587175964107622835103567389193800882430697694470158357906656128222077581814515454700302452201454495749279654936203225646124752589084882754535583815075387228028928*x^13 - 36969417868876903693152336425244608214697498348530841073673844229711073301198446030432891656282218857385836099859011209011791731412296961418746607209398447503774492379727397701465150709210679580217245463653696888393992209798900633666615422541612541818192789263292227778760065469369872873994741239736163312627568676599338790565341628226931837825461059841503760058108318212741674442902599544557005309741123788452258103069402961211505698247746334124739084276592252924097221853892804226600818050109389752246475623684352707666452932447328920094385409034503345186046661000307281163402630147180545227705417482681308726831427230877856701386304842114696052291309711165459261108778149116321036500992*x^11 - 369606664437377015059446889991516264172195354791399496866374007343680486455339143783842541859053977504234921141885734877437120829588155455539607745853468834722757512174145691842876547073787176377425803338340894618853092804149648940610191782849238594238207838527389778944572572813635873835111666506769268993962455418368120066121775087153197898699007123595684011431372351808129565339804796019433711916006880604202438237817513631784982159200471328104142376260551999693049719033445899455640191395610599038455550308827693169940397066740711593608469227917264777079251256214270510816727920662591075900204479028536221897144025908924913852177034129886217181121598997857761450769139796879081472*x^9 - 1196888837091593486307161798900225007196202502386770337828906780892113848055176982668948634436185814709140117205856683040970944173235689185319032155162788788903681174857187410691492934659178211991317984451821737930928329652593884201209293069349019369335762060702336794286615991550766190226554890999527479867129367420441560934115845791841985170964629349630681530927253021934902938699084933957757290622643481428786347378279395815962873455940913446073735985265523623374125582788748009413710761437105704525193721344022934655159281386810719997455086264223643686180427313707382764643245092054133592968004301689324265783264996428233528073925611860557214397487378594663699199701765062656*x^7 + 495179099054521727351677934311649649864054639890731570456933582802981511119182158186391881584205537860003745667382436531715162217715345377625498563837380247868907502008084067772982188861043492169357692489947527153168805889905340329908170836501669509009348439954734800567468915586307327407321945703319951848824746172052695741714750385361205278907006785773787817725560124400172908008108605893692657307276015106757865189507813632751317590344876018673399475229314326375324036028461404249067589852488107757575417294129874762151206992904121733257801377658846969422165012823391351998489559573591935286472767182773693583116213762737542338939544628273066572495456834994309689245696*x^5 - 4380072305405811578474232905855047062842035667371024774940443379770304927234780911773879689032032669004174825306407121471533923907728285327671865809678719010865042774825581163593495204224365112237495296021105151380802181051473471292037607997034587625811807536661030893817538777236090483182933861642592041671978029404942950421194826791987695063955401297977869067989952474974754479733448743493706475520957895906975399324963397739384326775098229042819933091670468058160387862450300957592444408159931456103592064614912250536523921935338139350744117647016125153319254905032687171263454500276317278364355923938603663118942810686327978548725433218312751902912359656587264*x^3 + 11333327745666646965977471496221539400191106727123341444717710793660877435302609863398164936126801269742240595499603018904196338179409338763229734443690686975030656440724811316059750054427514782391321353414520636052122566431576026177962158522540919168209142775643386138274784990616734066192006260680972809763333184082728218969109291128929309820643783078573025875199652935400951175576125240571491420549354327140847265223428279716982984564074707883024571673367817153761359490972702166771925448566580550376434237560665486750112910853503781533275188834596284704920878355601033334177765852307682645006702951463682585354803296360590672008974599394299785206824960*x, + 26712540491471473435475889155168302779591461781695119133580085856003550402938735324247351392128153946340290060536705501438347893009091829714657197369769302463639027893891664295298535627713646681542992036278312154406792622563293668902339303853513472687667817770507894475140107342695269096390388938817342295970686278617403662591441219459373048278662309226737398432405782151249236492165204771223200352801455292581251412617322209932520567852588446912504275251129336354549768568451672342461302819578894527514460035869536678858815266932434409042707259268305735427800227408062858003971854602594075764522640010307716612580852824265076969638352441114642408068704028356565057410104785476880297437431517096174359731040921227292108534253605561721543632299315077554463205118377422214443788696898681447398876631741985148730910148933909964175830285309029088544436518912000*x^210 - 368574534654969076062874939287690432843387446434917401597438878487511033091380789982293308581676343285989039550681951047547158539562914721887189361913249708121769476706236773633405015868601164731121824062225979689600713859590102105833259535022092982154557102512815464520131038639441551277522608323256619601078614073713504996445887308920757997452405679206485324886515725363520529842117430658999573484547659255273524100379527592608460197216314566000451824135523382881208829555449617296659795265052094112237788551694034195693299354044193754015641060103574739240699629865909234274709797836903803991623513289937652821469590748731907442962835718837953704091223658797910837837598149532535819527524205268112881680257914480413955237844185394545889033706106322604406787333471119154163699797849590904113884557376056538969129789284858555069459927142209059551145938124800*x^208 + 2399446749061276474156371934244276118853767288995152891419401901926977424984572651191188109515926235865487288472651336119400687028078052596758202529179216014726456535461767257611917935171793645476384991016107057832816742809529156661646607999259529589858626373417291342140155556300025125581217622977496399008705769292256808324790408595934260352738425892819156884069253164946014259941013353694899298155873981492642963959978003149361617134033468485359797536970036145030684287036516687046343530407811074920977966303532517725639926165113428488416320172517763791956935250315591324549677441660715107605325029502223433270035868460664432616704027648261914187978616588143797083205845457121259749214751154577322279082602653818808908689301060417632250949572096215902029426954198009759298323167043961817662138462547537872607526210837410725702345491118758063188056221941760*x^206 - 9782259970430959435701129173627402941790580589199913168193483379076940697080404904046097039093125353264154230643527400283087501913345909765765055710702141520033369674096376717194114307680991203139904050087643479268939982869222869308331697990428012305932884722526248699627027280514696597503106311785361009100778686948075543144812543292264915262159720640479533499764314613777578804277252603135292578239463931275868478373273403174744742084582462789477530799274294638248368879233883140480149398525378984809581681930118161707129256621704147618474311473288975854276851351340104414420172771042789034698312948576358227881016722564528874696060103180076099158385890500028851114007001301719155303719666566540202179874364377307355065314966534759628317066214056857932342407336322686024728110802923367035365025810004905473304076988413809309482720689418546658058491620491264*x^204 + 27935539757550201616645005545527648673129824361325596689525924786257749800289206405539987355224367608283443208408968199722517764999629149038794217604606468267626725971160688282029863540457507280034681758679265407978019395644549447281950494299587476730366252259873144603484417734297330049449127073796822143352383427665849232266195764398991475860237015147742731256760256443099574352159536768474294798169718159143619715586652555542004737929278238511290320853824086014520163783564218218296218587098106222999654159911724132862797092912541074458515136124886630581407165976402546045348635158534889288648275794697768711908497132189462956723409043895212543937007319761320592359071556127386402164493129792061578654665728693033794253858380011469242007554173182683469373001479609930873327628395352105419035512320804420857142096866896073306528151140659132329845210698743808*x^202 - 59153812908224344873319566223872504150305873408307090672459930352963687852561175322074734873317571064805414928978367594790136461474976392339562665625608796520392939665341759710633745891733142033672553130055888277041518128461212911595893057649089891025870521307959361703097047635532456179898652698774550968432121039879974282787434945617344714328697517354705800611738318478207245369284049163994271086621869199251845127971998086044966889301977122888495024404345505908305036620390843967098874014529865100504748906930030362302530172355637492595354377057249446637119382848002691505397076854158365530718356395891864415675792225206648874933171009527197508473428425498615141266124291363884202513279604612769369808645985031823513941594899872128213514905521655443551614328800699317567652836732334422578318914097822281338960178137647019411105858599848515654740677138317312*x^200 + 95726513378533678994492573808148269833740546975304803329264420057797876830380558340686481343321227845679236494498820386121161538520114148599022950323719020568067603611884554203292087562775839108184287158664179780932645679465076670363886795159173642229028523910177078396345931955580889602264293746870834389579800388482789570314239182668514556613303114304295674341057677653506176237393523821200314298335994865456838647078148641968308127986704964836088843033836052983156562202062670704869328742011643486235134748721200565568869247592737193220823458016939731196507146764660812192231306109218745485213483499398979998549112396391335190426687876339021431362393479127558416452842570270529894489311182811825238881097459602777857416609639808064445037842932218561402320791725114897696644010520438561827058527916686163249782927636099403532852030794985883736032610743222272*x^198 - 119846739724645397034281345624135763880222039440963971078088129626498995642134932631357806574167283529118199535211377630216730745754049298153841979454268851108105661189589759313732013602063174471329593104826407817560295923373328278412786825564792809365245430411883889086256991300458500362490379695103599663174850583951405528702017241010350385540903003111852667359296055364499231923280744397484463861936863083074147266535991661807457094831999652513857299241097879160333099696603181190749334012218645754842497646631140751722046471794466204069149730885691457186763178805369634380352708628113995822275353570140177913284650364164299549476078342302090813975461819995897082782849238313961246718005592005750948055487943247304120255607639585612871587514058380950175749623073500567587143209434246723816682890082696931858514121388557220113356056802376600344352888033640448*x^196 + 115396292829385795315907972788859025745949111135867452745777426952169403884356370100514432062972000197444752017431115877793974090754868685525566277751083719856150105890948072250056199245716142401471857629982700869258655228971733865435844322109906326390669705002276423119211311075709954181767533830033101016712020163977722857727780414681090450339618657436459344804415518824705464028650040811210948045809856984979196366231408329121970915936539024751794604194214635803814052568950039476807239973576293092272234344487863798031296740143946650412810889395754137359503963192972249084991364821210148725184336397224520736840146525891916405514316920274762091839777537342928993208018348442463128474171514581314147232856057863432916906966197310489163005518407688120680447908294725686207448972880355787467498689448593115184657923254998882690128583604915529468135733676998656*x^194 - 82377112588858672819195492866416382434310516397267806547130650286513969223232951456901967752408890048789943678994599055065032207194574252541440488920421375359296662610329775116888902711350900050773344367348365449282986042838666533145046578427452668605886439048169964017282429281501681397807934425693376747573948737367163332850428527208135421195061764087259834627596214130864951502504524489708686832148703955867991669722674274262898007565292393625980878520462201273639357499329589873591047090623729531397047720452144507042094865976428562613996152662363158026589090545641308019618859887549105902671866226779770802088141966763266170030903297464560583244259115927812465675637966678249888031139824937578561434666814500294011862548218038294773364998385490359892839335770133125411087465358493186166753481726837928794952847854216289895619496088964608540078017901232128*x^192 + 38309139046509956106726382553111790821951556792743701011520891458570738204875258290050787581754463720257394213677353194534906466871176199086650399378351938314478607319025177489944528511748735997159653574994918875841190718251851479118700038883307201534361833712823333992312525003033618556471913994249825501065684926395025438128816733407774665456351279534623945704816750644510541866926989763167218129245771715631262008022776028839843823197838071487559082428916950384935818759036768567141619037368358995160877230720126695995336986838260363495812847158026397876360607201889897922456143269193090485619748951841962089614659894586339215242093803403250351533151162927811150032883942385873534266458957814763868252757256713251174698096155096650587114690656053875914506491043625233113239638729594845108279727678239961504147878464218751610002620800402354977402243399024640*x^190 - 4156230432833441821183582817900992285247003665529467308875613381692160175750247421242136441890043603259618825941330741836240489230982012864208935613170537375993508447617212970878196066745812280827696993064539786768837424741080769861710848019064676742995604252707077854686119061126184318813533119925006162977620808272909287628094864147679717731482643884299839903578879396203350195912679431643352232798733779337621634075682908058078223090301298187460158208667219373463773620063799576726654797760105097003638429823903293726571039454907804956385594629575915442201896336200548581605100452103502573042687450216402364709752279319235909632717091379101541587416226397274813567192750574545054162814134623150824179715386686415936742413357759952486712961568943313373885757240772427228481206576653440200743956221989668555691036483923339942543131929929746269621775811739648*x^188 - 10650764130754046875123842100312944793998288519908290687134773901537451038692614061891541363188204434341395795326444020052003152389030301539205192672583094918303611095622062655714011399085635510227196484626920866431673124182311393478387776145410071142453479369814832600234757496717698416902801851315721963288387057249287348410941366792325043369696264618101685365997448878594595271659425289914324635213928420033670659699983824527023480848601378288905692104159237499886307085684726232344308346229345163212129503231483345770715376330000862818763785412472700624719276904142639952818553849667295806796692419133721959638792883892727958812500734980444887365070709924710053352574796190393497288162543421050827043442479324084365555920825647656297969788311753205586788474705896231496108387299990375162665225955884887183232273851854951532292963527651852454927564344918016*x^186 + 10514940749235247717077901698833925928420084571692929296902681207302128765611777659549561683519811363078613313232086291551528476567138487397212799593956209411882653283481368799026783016296942712338254413078126826970171195920570815385054765593167471932507939973731195191272615772801006368906520402368850233693605325123449335251798745004776758915950763287074217336397098566352376886401860209859655430274722910602584575610185271669828810641495718997733701822804090625013311981386222055920827495792290176785249739365942099486957551163606882282384665684514170415305775487289217751672015430371324759268344426369955568159199363615244422131435736687161250511388738689093974225915125241538490819600251949489896190552632983698965737890614882415709003162768957766523777231671562884262466845914760010600880057771219514432690230542076059418642143456699291934799000521146368*x^184 - 5104023443828823815490063697876522033197376826195028193329555981383126260221233962276569826807370214404730009670477769138367758479797924365564826277035562413902641513658958610757981276935575374266754649865063136061541656323424129389906310641135853415879234310663726668841928862594724907084799058237864599148382997458783758640698390369078703961647457409711482840325514048671512858716676133565615533833424258380514681889085724647314591862436514397540743545673908527586636296355018395667629697041538315684825008920323478868567584257430179483349259054840473886530521073247416249893065715604783993682017631614078498419297017334868291744515589252358870906719781362006107383812566181038676964175765360145716810613817788254787288461027873428627542407302385727770325996600747862990733548601386266992853594173777312168340696447505687438578505091559746514197997416349696*x^182 + 932466130842855754605872444099963981213629180964011658158089321381044604396809459675131229897461045269700718604555026821878619548517328267303428809513230535067256373098794172833102431555386954937814566156144668422414875169543228720703320008929501614970953790872223849173015174827906929156891793332191697646299167347767006855171042641251185381733360095852313610107975229151923289437371340754805771491957428127396339238910687195947781714263801259601812114971136031627781286582081084823569237614210940855530896625099284900979724195429744349614161331884762148615025070759396627507235527741900332983752278464643261986208380024775233500461764935014803057739299935067053430541777502119274056490312597737428524417201934869021113391197264821900957325550702446646797379849087806662294608251554676093532534343254079453792466173704002224469966082262536271654548699873280*x^180 + 571319806929444560519416043292928498841036751951030291344390350940464416443077020486942899438327050286182784219286870662206109004551712442739035023904066725058010271760042159372819997753360109593421457767267947300410981562168373105574711458800744617769192182840465270912000902939779143555393680746946547246542420871920376691462766072066052897302237224079603652455829514595276734772697542228553220771057651342602004643231897969458385975816456088561091189340768456540702856643447444017250005683219784947176867158958891644522508020875520080387916833810241382328275362586561861171780860366585391218264546361876319237705795016783438242162834476503397059100295079354157383596419604303160860518936934185095750361451641692599587770155461175319308296722206798338331402232941893168028799699765690024660626338676957481409831595130560035734656827382632039480702825136128*x^178 - 557708952190612005696804690930936186179957566947062523558036353026503432180860217967919835719354627656456007673139198379365799946687265788389748457726166355137130022261630812914558142529706036846257884374106065653279502626243611391025272964866776474979437126895152326629269672467192555584461039232130419690605978781864646860362599794907311219217311975033984725912528741519911929759270233902437579140164596830756106346353569653131401760614333928864917756585095030720095268874610186532623103454559495638379347142208928648810018862793808556329544456841438901341063110133893256000018453310306949784166451919027781732132692757511518603784599114839928402558486120911079603224034573212512471687073035915727818852434713374561013529233240013873145590694680205399776749940617125426104864185992652985131432128344211161824640084987694514508715882455215079116270022426624*x^176 + 225092504220207626429808237543412307196914538905262615440427193302313404346874331885111053593220723617933487233324712247172680927340300875968105958775038923174969925103730338475282503445933386129326806627307713118918849864946263989126383359344748742817751135059653517116820621933695143617575978476312251198607406491599365645960232393591212296884770512456324186961532276048062458792461213122064947165483541875399261925330654643543615247932329592542618280566411408464645032223304987626626228992614082051518432224081410970507396425476244257520519763754515112490718154245589560533953444774374369391767604468198722671707227243592862279884652269997885561268495461721513202164342549660180509763035080648552227791945241661495333869354773024564806240282976317833771447918158402576920982186741008069003121142396081620701002671398309401739462099813513015652204538757120*x^174 - 33588153427154157635195938262294474041542306051473022119628014190109413387619055535682366550102795027184228660477629034275557882280499475263801956983265663316160038183550968214666575747761696517760580240100042593282521314995922551818689991149041191982972277495018391290456969499422998546363871947466663879008533604383770906588678714250035209467914957988476913975165476505442172775805331264854176943524693624734351073746311945031077281398516610344716448871276903097799270270466207804837386616081226921225995215627595437125519367543794990010430678119100175537317528507626303769848146229790365196044580973756573690728085183260398428205090882140182404782871312344872006210957140149281125841155284521566820886615099418568757373469080827418034273652191587414339350974081542690085418786686561854035148052207336500004485577498396310540263825164558187421984689750016*x^172 - 15398412519970619346963795231241423918388574031106607417997308135597092386131648433251271391622340447501377371753440853240454470171713840551365356489323515035937822090530288090886998823038800154515574452548031680750209472745597217506400373701301793063607887013997016438743005955831261937379298305687448389037036580970379027721947287650030454387018297045764123542988551056773474142644804903838481997920825810882520599900304848978232850456296545688314641433606287746345133871972517584585494789428118764112957261634630487093376243748729645508792058028307266446073453273016159992372214191745988686366018953481313426053526144343152115305840966663915253601870473094627766834736702639503241295032060722081353139327638748154676117108230988493246946458058049099856003075522776513365463087134538794072037783108879885664348764536454269337159341533016143600828054241280*x^170 + 12155200538472287586934021766710373076334885974638260518494384645302877430288264525475640991252533457023584651099906589331141978394176937568433261307663731239403598251400542525835124382348856267649138687951230104409538141695895388981732854325972067689550615335705321959804579466653143590434231474630983115041451863135579453445680277244382914816393164601864563105432426623268335328326092247066717231902742537239702008874212422556650785491197405103009707889475698135339285705317156145713652267351821941619432118259015232691971166506305909204358583839954023021874377268079933484103994344351629080049070338179117272615535340581791207975521093865143506779349618897564647072046246972441692974440362056316216007494358844313010321391325343345804711510405093752810641030548072690813574740907697762262398460743814138814757573517038279542522967136342349691265352728576*x^168 - 4049243161201360669576345339216633645980600435235198516562797105500955203773578130734280069409691707897816321304763361779427701770766068694744462174315737518680282885050266701963146269617190175561223969416467674434868854880154556591923510112440173840298375023701337703535975777220736210786162105905460295960591261665861351545379532449190862531991453870485648944100427787708186684821740108762478912984050296482722352306162710074578734137699562772159543025048721168705712298063758643281006866340741697381761240204282262033160070263470652736510228455407816679249225783696483513496184926925327093870049923271052219577793674228132006413431019376338784711466234501316527646047843548771106794943611273455013531847462473196911802081635340398554207270308610128385752973076864723783680807098027939077434397052655915301140455941982455777705365901895057015542867034112*x^166 + 612798031001801027934250494227420307272270200402194445778202436008080514689553761902110523733919767096325755866816607365865840393691796550661424919166454581694875309967366503549128939470460895272846293701998585777750671081460451758380020214626139659830073290779525495152515066282093159698249356674647757251883404578661358329210489239734252044887974657216289807346882625016016867039844317543577739047069632877136784674926160412870162288203689388993192589912422211560774172394702374379928224996345231368545410932111400153557221770277798175686721121179991250974637631683726492834733175731219046858911926499825995877489738989973162782396378137720667585818907481344662324166491498659179111147820779889763294686756660267901424072157920443371141303696874155866578163727201871228145308544783516850696167016375892652504160516255033114697228358466176985373471670272*x^164 + 96409425005175698674751542824994589351476199481484554505571556497257418202268340338836955198717298656027055392285294338011490058033235762345202720207347415462622204222458702339155374320142784677909243095212478664185437724229467629688603517033873522575869785389955575811312395313033343577778790303326718303815960794392986232540157192343167387313494481767587345267103800846177501904096013984994220876948523536697938402977322542780768776511554561233022794731498386097632415172494504377455738167667641369650070160256413334104087564054359006809936163162970938591986872591020458786879477800852308967332464503506231229062108444898298739178769768721754581203293754033651388183093122861986736116109528251461821611761936570576895877968138816134501429022983197636211200619251594958177001620781481959308250386667328472931794076118840223776964708311553113536356941824*x^162 - 90205056108645177509985745960428708803914791187338346015685070814365665655517811979129974858840951032940621040142637977792310703048750217536599009845371401480304084461819407071956354078297397310341629624158659999761675020140474200922574216094557508276563855817366284809571169968139318268017799371587160605289459839759598413655964856088618441086586591940706831535979139689788557696729112075120905361792996535332515002520671261954909868104354221657019489946014457464186275873729688006478098695947154254581094725710448451671500046199303332304905200253207441958262897799782368218858264041564981446745900778393982621163251423614957706997690660675671065257388226869460838592828221512387478210509718895199326491544192641973437283911781626416107088279142679213119533781766984461036451972147236820675574068580479224491270903138347333300928888050357281228194840576*x^160 + 30762696866270744744838283351646926788696369378849004264796515419025063096485108332934953298193893445396737188855467420909280065555571377424349025045503001395109299028648475349497880428101804420000964752498771728345884239215599043717065120314818575832945385788137286756139072691923492168999189486207888683442869954327287866709734943356753799146096872763349322458480619461861935376015431502917555830602118804789280795868503713998488591032216415348863840464566294442111468685135571676099430941134361164583572253197328667076706606831700558687030910710476005288763685922351091822272670623242458837255395891728934765446904806230924747453064337479781507190242466612844994243499052339613196532487109398011470800466536723747107714579477495875923433593956138284877367115879744288209412384208242748541205985198907907914030324535132713508608167059444990245131517952*x^158 - 7005161342887676353483578407929437738687565604823482579348192530325437833161974290652182697643313056865580541208236254473197688127034930105083599303172821623869330233729089896967208572320983496999972190752365113565907154919110604968373680617462674981908703531427269102046722266408612029283327900673457503378178578055938255602021473841112349580581868208216006452250100939668304862452395997481570922191619829088228051556708474002991255946629027142899396379937885426616538811086376344430775095651444509068290552512472744601798923837742146426186740978869866337308254622470675325198918296664309855358662585968522248940908628538962805904506278676952180909257891403197020647098057353095911182196741171105589673001400414102237144217122864794583495995180708546203709595724965447294677104170575328903350395482805512074485950058070898358740850558729974882003582976*x^156 + 1179757982974397996994343536802654735136654029120489328097581370862700720346720956591523488100751991120694945829000133648225454633985709281877727167736541137340547511897954914225403216477903348785362660739680230425008587292064061028338350390044013045011404917582919509959568605105326592990287989135624931583960349083761056907641239350381408944214683234924754871715433896231851168651439955998796116787757208098760002334737214773928747638820659756317441909853358278540523782077552169491827091065781437796006484422836443197343036326500531319219202905179381366165532428330904491559334562595797392048929064323285613793456135135451134042647749854960975119918091845276873322042395793303099659781452966372544950911207644122488182831477951730628656394097576411547581349190439880179606375578612374799653272037031515875458609906194526630672683517028587959153065984*x^154 - 151215960080558483925872654668201470413337524136026514775487205477500653565656519217671095802552729578439387208852871231703868669645131404696074550562013472109389826528489354859152285720352419885597901558936722148684354375408402955530483349558446819814760218276274501122583032679308893679452150110087068693338130578155901081410204518486995722435917001436846686780213051339788332700943328633447388959026495779961563531077964486590875709727157008715507834502408362118510875252554736388643132430480684411700327279914335309964992448352702505475636552346880421820476694145633524700495772132267508174510378250592990490702382222563402750959622975657465046945812857967522117975760475718029123742926813934450073557272081384524389473926652567946459335406634138919887095562972865169162520678598737303302619203181369423512291223070053142062073355326206895586279424*x^152 + 14784810226012425687670256248763791865757164394610056008928822056865953768801803904873803172451132068201554386002331262842731452469110497846314398318238392980370950940033477329464943523205988319153454203650374392464761796570519347394642258498640560165218438532923738958326703050094612018510704165042191868950987995703141838533646745953162452170209158201826873950633914483177132003969655882222832745436129845595120358245617862879588179337347027215948915829830373306313331295792787249954901975360116926606268948002703393638427586727742242205075446308893570282636733920731501487607000131341963325680331127161446843667869694791138071793688071063921715074098575716870258484908075965379014915137888386886861200585213038774481989854877116024309719486595076252853781101020853125834266975486221546362477503586580576197079625307928169661404806311494529455226880*x^150 - 1086711929116707875446409901341663666447191810013943343150870793519838650553627740559201891460575008873024336837664619599112129357173385825245857762248786337032765035165075830130072979388889492767078572127769106891840798447968479363318006939244302612681928205508910428557370604784496925748374154412330540128771773572706388998786655769764659627109067692914508575806766320814755418769408513120715291758737416695704149594600811700252304484076447102291750448952970363097603288396916351527330777483433050891510945604049449081287385489732234038759633906944552951984435531928698158519584266499925775012349892176891374527569379531222082438766593501588586450826253184927744465435048262967781242510686732824238257798731143623275620019810770061791877592924278798992072094891707875152321990728778043626964509024646246069157100210122396969832483160449205818884096*x^148 + 57852861104510661560652959003088614471610995146494780679107140938947844769797308668489788548073532048797173930663824484216371608821964350603688551340026495147661436917312048274101360989764681808964723124672011916193819948487801560017423886388928721184859799055428763624374935448415448694952195130184410831867008098652963408346682408026892170713239865940867544722000285919331925017723239248012077098183040973695626466015590872766661168124121882089023397050697263075724313007070574943147744187938350290033014292992124215528427638580432417907153960241367076364855686950754019596616547045751722006008025643719887429147697055549692069592876706417091847031386289338519092839172339052715235243423129165365262436206485732093117980380737304908471900734721894885112546761824291642277261188484091549568646731276456755788173492954441134662341000661613540278272*x^146 - 2005734015880393393832105354651690331994056506545602119875665105588430080235325972041268880842269246692335043145527125405402640817451487782544513276533704155683301496215378388693280322371937111908465845031853597141244396454911481591955425058572726641353008592227647865686791706506785628876272550923955023422516934042074145088887195630728117472677779034823097415897323787847510182416023890533105110407965836728701816980245307565878382542743613047531479329633538773350093440329623242083389898344461028656553318649635274654167712560877887424263638788224181302337995124002105468768469805811153763139615730580023274040298610059640852255626584629884685544808993026048977862686420682554906258339824239874179076672813599015264942002787575472754318075803092549175762279142937885194264385688229856856908909681083834159607473422807060841315590846934648094720*x^144 + 23327880512428266900747361135081587651850876351295066315422494499821507498769485838348864065874625903646581425920625955366172718682929322749776541102020942276533766600367148735899303379037107923290478145172256445412093358900492233195594677026746482431626545717139607536651663715152307013627084781923974555126038105410792552852507495548306030706529663833137979372229450005649964744279560513631457091692576961775807706310579944636073331339234938963358689523846796221524696464450838310622792740307987955475700793974743410009289614434246343193576225679767545051192334505810122342633636393919825124904537883752183085732565298801477125967461684234352608182560805640149708178304624448818940049684724888757936885237424452683918471234477301327678308258558868527042915533897962578774722323553909190199078435132523624707882001736432707802306302012966305792*x^142 + 2059096054909215651983633313587085190945919891193033035763481431525580735434185865451578062985778859868585158287314777237723371294824268165145230199913685627977344629563382667588447630583600593692512368302171569769253650065999659615017131800583126161612663341014128988213156370983779444993785377855578065347981628604877989079440708489639233643985642791596324153111012893314610369784242495369888441036265295121765216105406585531495751628576986238436721309386996139031062662941113147249185942485481853937805026009534844549708277312259292364970602214912353862196429074492071704613809339551019724984373359987492477318617304537763553162564985676255178235323365030251821258571707645776614822318506735598473171236885970506004535081638940098879305001941100844511798114792877525176266528693477012909769561983584213661004605653617060963116284534778232832*x^140 - 146270836934227219130085059664459472518534289073799308024799293143319955131522973100836706804169191879478151841689280671321932449762531459629247543369844925300503537907936993458046807942308867105543193218767666603256426050507270052007826366953889157900150483602322779570110883804817548022828880590946116110362344889657553456645408769154736407641476736774206343139381352393838321897610015671384896066862717951320043806587677434108744559146247918615239938027852561447381225010522505502027238637342759700624063503515778028631285022491919684995416096660353246658208039589405579883296961809476605639640426153037877286167463393121060477472897244791053755740725622239346609737430400652931481914972941282248166465756289443352980660998708598963010078816032488087889010404108732481522709698225918063900802014791588851643983795173090943732197941986721792*x^138 + 3472036592910942334194599616609737132717524438846784157059231337554285931573443175654130655156683184830611553526083921904552857090010622970959855779933802363756836835489449338210178515382937044737987337210512205877890250446980046600841387754182408989963696546703603655986224863103114406472117449244393910599011425533319746496482997037379626208027333292879046440937538392721818066636995679200168034803575608794549927721689272404010722324860473225390094710151894408505458092949616980872897287587436751966501699140617799077915028843497665526856465449588795033703938323274868736668178247299098437935121866999681246748860338427538485027966762388259371929110711157924158367361025413779997936209995216239241695256749415496009528309733019453836049106014114711992375786878078108924291697534648703698195779643699849983350256476524790247733837749551104*x^136 + 91857870974867517604929848970020556987825029537474891069527685465936545894871304594353952640039430992656882164115694928534368693942768421721657235506719689661191146781496186326786174296322282693641895594677976737487833945379016637656557006198382210232347181148085682890192416570803773477553831551325992517254929667004799510083669078598315990698966607520859086534861207155895933014575775770930647737346704505680162886995632571356638643333401272737945632737350916849714014370211383830652828098513856330657268235303246314448128283035455011521115706115301633130736064380320301370536079549975483925155335135617645114405068198862623145970016669878765956697785606359318419692315540325271738601414715776486275815578992123735350797562942951516851674443548846958976077845309474334071129503439166374463834649553334677234602749537906025019075662446592*x^134 - 8639370790269848271672035605211697432776539626363822518199678300767126721846645652761337468650531886933490183933727977562306141938194559584652433785193369932763547758600753908645587660724835641486050536334234048013788391680885706873220036264511155738228892524332373460633010240107768328742605034223366884790207809774584452328244193151569380610663614955825114124353878691410117808593002158416854244594231032278137269527318463290622202408701585090259937835966761167440268556694445703415118952274994246888214835050575887867289266630423360571031605299062509498051418952103495156562463090690777171551501163366918806604889867146698797575897311803105520323700580149476833759404692189990511966076912488226552482911247948856496976703438022358984037627238630944757705001438574599368773147047314704407805184669669577027356658877567431491464437170176*x^132 + 157261030200837019547341480493446786293125905206628537429021751219170316461986319893778764571087479720833770737502609732316319049090520073801070339585471303610629221589080261449885584038423064984885497613798399116400783997211477083323215785081391465643808883420345443278756421388525619755713869419000880994569563216311891872012371155369959692270717705119954635078342403729957639448501911669059542664643007929665572185630200575769363069657148472533772840427848925294336033132369383839299821411855288608430889362426200479144279546582473521267661959054123107789900096103045448130442041657913492936149237978335418018520340923964595090426564622649776121629020738187048094579159336556420790221954244898883154053656818551464928722399298721182392347608936424337900273805780722139026031299686380557782655035840986559446849820816723663748996268032*x^130 + 5235556579438286166546021289972348428726171323603879801559649745898093144495679182644688037616766463896899800286048279184170820689821383564690380304828448099076118808517619441503345604880715710055570794083090925635924952365400256274184826657967265886711074093959194404008197030060272100427765027283551133859266850476470106299514458044422250363057610589621464744152465556374780715110079052633645398145618289856949867901876886580929915436245934285867704264750539948184189667465293355136334334287588542475802072080512088177550528739974252619860691679944844950050607068291463364445400098683891533536411258203197115911424222822025440630524980325887973658289708633812837984349822357637204253268351830454306301999706783930973564457264095562737274699323029537311941077872145916512831528391999682197436543007927743622109699672883735712411680768*x^128 - 260223483643754246681409304240681042938612629410831644461563020734908105369391244223551750950646278617659859675489541772625162131258875057235774957706177194540551895483399116349080141392803299713850278998355121044358887310101841419431571645009075903896092024938875985764287006168682347589766522238585147128360129262207420902195534530598209387179119279511710384434397843072965834347168781116396731709720498176440907940286237455455066456136975599846040623873872819601327715443338158736190577806526288381161610958940465816291116310682555418149438069403496147422714326420977372756100418377435559668611660588096757909596383541106927352226086850691719560080662397526114032970691308978077494244154072368406111385957691147730411337422171777596692989165467396843012202373955167992948696198841369591663535516798225572124845297668369429009793024*x^126 + 634051677415458393028968618255468308274810331648848609935336586436637229572895849208169144342153805198048529089490494104468588593600415767357587109166774650576568251582097588410658623870616130586713631314810886005941627099341413069247240723951065438557586552081182218240401848864441919389491239294604811359494498901786113058754447116465390461356442449162717660840482400524352205467248472589396598726829355171474123641856616189645208454615811837694830746304530364525794696625581625052910705808773864323325210089379369209818607051575671091747083530705468422089358201202059327629025881718049505069115501659084510589323468164775499563622155982202095925320342179790105057084406810698567640127335292076218361105318190823371055986177109118302137084200671127802880263167500370211587023501246800915031607323038599132187678931045331037585408*x^124 + 166629466298070943123032522860762043356132184581469804757082751400767607300249286782638004740785975007012958102104240835449863726572673659361430387360978356813556352199008230879104376893977547763998923458710820603167804690191569165140197655254325325513694073827130102169936119973522320825441097469384023060843982935862606776931534621920629095199516197851725487968767161120255437818646126241233528744611610615423449399007770607017069134406595590696021519539319190203425591314649842605482857906908205241900861981231422239482817236475370401528104845967130367774030507471309931877303496390614608932736366509389680705093464933917766602142098393275165343382671495103537648428475080513675541787400657056858720708450120830254318369791815004517757045792850638153382655198808399751257883735441877873401650903685909182980823939462940548136960*x^122 - 2526643365058483591129050529449655374020225367808006236295860458686898209112414414660185888732065470227195862322943287299382007452602374019020983167026331998949798593330378973851850139908694806908176756720392840580190009470216138023721581925382926637326306797587781002144290882633215700741249162331215589684851927073496980102743424931322961854485343307728196627645504051292651116254563081233805358473583006239106053579937618930387752487610409213667856221739028934937291751163954853663398695036418418498519194213096158713197734314121980074533952450769285449916790254860169475010501879966329247725272092278117563643250863440067002125181811785855652381923965405594001256960102801170688643254197216868211145172671203633904035211740932839955745630032338617588040302207262443913696653818286850724802264144749705160634187161726059806720*x^120 - 57105711780154182724712755528799761802823995037631940001198528876480029716776882423186118899135005492523656010796676565910507245437651190166623268535158418050343393043895322056234777590773729746481731243228340881216457738191817774724768895836555497028463070026903458928271661957073014986103791178456742805800559876129571595342547586634504598773433970595119988656497480921174515108611462796539668472868126693396033479037130211510749401664470847521908781843150120462686930857725972157830772252741118314716034982074738085628567504041041009185132729135237427709186835107549957089668856383416139215198088872255281171419322478166111835333133230983563307161192044118838517692897354434004027350075132173085060951845351497872908963285977368343767694199570318925430543614426383076590258497148875321162630255123933109365963514931021086720*x^118 + 1650191022971424922989969999710335801575017962108301409292262145842305154633970171140173363505094909555719990034599579973257549900908620119741087519676136608996366240476619560930931278271721753887553812539221214378440305837907516511130943063067452874391604447576029984084770699252287812735577684863114906232318585089341265777539479228095738877256552178820255636216662460557735502411813198029848570741603491855669541781679861565371148942131944472479661843808646188218844757738931339875965775438532936621091118533821034596586007563700364652896596480729082426476563433554547742850457399686045524643132170831780798296866905196634267138338658743683334582482191656537359221369535463004464233191466896950670734241829042971287587197323342397131284768099325916337004853359413759036680135284744324218665580940338763254453115665057316864*x^116 + 9212043679937777205353454354328043498470628566590690076424205252637569019352972192245126427806011066066911559356746325292960866819919902479647905961321164118061835197603906938699352800942689087303810929479275707059774798214161473035783253698836489143515965253155550776585421009989564884231762102324832448077767349876862753391991791954837140906843313116728499837640856288846971844390837863307663698458313088418111160978026727449359217647311767939327784198927165792404247952682504343917942517636119695703230384613653041438797713016181785906823191227695685504600296980044843031873642513950551069203420715416946200194100783630258155584403433428384428711332344421816314011497586004395462105608378448001461893689989771216419071572097874761246218473994371331107095378765005385855777695093426225799423888099842387679474116810768384*x^114 - 624850511566110691010259235069638457913788196209821182993532748123122315734674310831266729364948051588262737730771967916807503890406925092552373552230709708554898224868833784221510227681009107744740179546418804901856936794991052518961754955554808235286551199863221424366828371758360513441085467211743713673877460457994103043225769984184393862332519658140170012847238582218190568833541983899356682126664645377831742925991337779917491597828253224760749359824840509948544556862029536481846046380925720023168610776244387633842270528924958910242218487539511014525492670335602387109938321153463485125850598485342846230243261455363167533624467654963891793500432789937580962586182026291513098124822563202576966884246377831658089621826839207641141799473925493422724378297338399095625621258782822389501615537082726382087268533796864*x^112 + 776333580054094921198317978646608986060191292629176527457967710223722001693120679188854185880755469895220170430858564401429532129535331717285031834359579760840200395614285556039226479355966238085818671953684607395608156453825685851248050370527766082315473828797661886978719097984878680132353578076267640164539101641628873612928187734942769791580689832094428088572951829765556803142213307678375634299555110898189619258891923132917499843837090374810670278585588213952969421504208299721994174971420757919533937430402344489199960550266128282540336017654370522812907696516817807136353400123052647908708309851828761036074553476654048173288015965460594052895809764340101748020965165073714668800075011170349915069226211214630119758357300057063438035045674835790591012941941750819988148344004604474800412973904505661219227566080*x^110 + 161863592232433082149148215568969752486562113867542661351543268729631392216305343943762870817267439364547073117303632734160248082156744988440928629674412320908309791044809773641663869626038949466736142982817540114707078682854524048849548081953725787326433961235522464495538966367396240026273752487483649741492959668652854059156750312602371984774942360594017910347457001398628069498386948086592424118089123702913822892135979089583452803335260598207704976055673155262476114557042349551910231749627428214198685004173653869717535398723544630789357144831399221979791547281433443733287723043209758339322826887187570012740550632785279298370192899494566150589244142001137850527902547325020190420254052975985216608854472279752812125148217408799666398394129279748997932150229950187808088055201096588578005214456307176691415908352*x^108 - 843032859653073398092886963296029805596829694361934933971622564665440904485612581335569048493649806468843810479307059781406058481544419177842977677739960113140847883186482108732139965787626678642849344318051385928618365579515432575470615662127526416244953402187671204194463339019694353792161402800191402548200585559085491567101073202791598037216731163439981167355278473980511463769268122997984826320218442215396177480778833578787432586812182000895733029638655337975677985703417257412573231102509100423355164853142956205261981071128288954059378659350626174152790109627684640875796248132775698164863359729260424728649160912537434626434200118547230309503099071717721254152920928143441288714351710572169389179390106171344369720530391317727274774112894765091651232487838254206509652353474739718706640274684582425794707456*x^106 - 30504058278548743352725283606222594947143101461133036193446979152035423707250401790401586386504561972741968899733237723282189440942916456423305667725677928357430503455417309179175954600846027343602872223231659677184962704543827262571009710160253835114392962565962039503541514846524280206922546045754576309203837323129406153487811716024599117756240583465263727247431772171403805610618639905414055279848919489410415077537588761742239626050406330040796112776084989710918088041929124815521373157490757602041087372751451846548889664582300686463088786357348574254384142817187440529500163445260040307698337969336553437749527196620493736262893836186767985847224098686008295894022821086387832962387035825632131562158542435424558612779532011484800041234305112176566593939497706298768058817173005320822594581342888870117638144*x^104 + 243544472735071678876457556552554522894356326998381791053211651478396834634981555236949522601984249626435190342600898457842392356689457507466619349946623332782941468606774052293167334207989998742199150671824093812719862942669434664200360133681530761517278283133386755313755461616826924442332622020778644374063019246179711210084570236309128226274187869852064068855843363999342932144672660051052609234363480599662284356987435374538865847686453674546446306134538066256763306977323432894962089056567851208771816785397767842948163268359619785111525070826765569514752705657365168333724648286293427853272099570745623091039050183827920481054106892986363537016553936552141689308783027592241558754082173505407330711441430841648820833240197572518464549350106904487529314580834942134188960801647993787512790492013606069075968*x^102 + 4291759673642806422738111282617617877738362775583990799399582330391329341486781269067192928789813329106121472669397832628987684997307991817575299024436183555401323016337311392764966699760976699545493740457166960222828904753057432359269287470422132079990215506787478431695733426052282218953165144400125213428317658702268111782995112008762362225780798438138761554505543859283589442054602908613452096439920722305460039125232599705833480057246818380786935591427612830295436703094077025990267502318048154250190757159059286952033738561241290704252115165938196894995168167427171192875853524717636243222388026592755650644838871274916227282526791685469522907209147150090345280885278516980909700841015782777171539681167264398557194127507402673146116742038523480751093012615177502146692445274630575218070955404576908378112*x^100 - 43787987230771901498654672270583875965348573599043782204613600804302648477442596408492377935348147883336933429254884356486890908380793925848052473452931872853817594775670285623817106448781191475767469795211542711758297515270195345273168766229316879695687419418279764674575390566189591659832456255036094318733462138332644210383675237058802046230019835636042576038799281907279670416854056205545833613916593336518324766527809654721708120656069547652040239160492812619427260407438006417542422242949373788564807460869153521297844014458718142397179683301979592655056808706082843916402348858109007302787652031410932361434503628341328360754573860251031317647229505155117280188185236018655023830958269322099449111873714346811210066944296295390860368751356687655506477073345659989296400786416980580707220813882977157120*x^98 - 451987148725845757295010438539849102143542188865170109946211085238204722564298538236199015776476394122157795182330930275432255152529440889415334768796932976419037346488075499373772539705498819384176664380233345038997326003660835708434263224412725697286722369282803834140918464241743228288861069684394170736287226640400943622027151241560639900955435608420160591710386267718433042520410072551294621112182019986132483952083205178701940305428345549025474333852867610190719958724485268036812540769397352129729360676004631711699131733035037475620412715409302279517151929384898525569798688418061023311690826507926996108130055208665245715263394378380811344999392950141550625976695355979135596988911880139825489432044990981513571544998596277652306676044391493336912920744507538964859924966924473504501354094703673344*x^96 + 5562137313691520137138279261672486561423125708276400961243445952130447511465914532213458739991100929464874221882879201386702572169499200419304339383397733685536659918207355105795370568005294696622301249819063532243109294405181496825474635285158308206208537261850073047937440692991078194120074134976912332593242734012633269659252208424434344192492856753151813754803752260176918262521586649999849251121531251243484938983700342213587917490753619429947102371518986523039870801332765369426849154131357002524993000369240989260803819988100648770339394404284199480377127619283497643155813554808851446716649473608670367909014937181313410976018228226104908849663713309755203119794381692646778828507098649730223344572025603912318719393264807174252357228596813854926550173418787364596588731892220995579957433906233344*x^94 + 34735974357194117945113953428419175268859673530443632793675234204527341850760851459232133158521819191072556056276907959613540433051986310093102282888470112771437505152967990911622358320021568635651767895266610109230402073638293847411925618199724541553789209693204834199445219641070470024916809101371261961696913699282988055238779430837902160690475702605856548155095859077148665891163883580233580757921977682947687661070442323915360627856321505810147892375334352673929406871858577104336900468553055722924341934240165942440442151415148744284264279566910292817809904083666431046580569540105690181928851941762861491356212184304199826856874005394811799331195336855742807123296931933203876269832418287399240007108345123008289777790084062813713540285366963373260918380698432238482503385519130584545715508215808*x^92 - 522118159450649305774179890357795358113156330131598051451409581890556493033677675790081325477341050517594791155826733905950434785912777034284191120095860368876102713339080622725418627071182952732262928456804369276223594746984249757924843965011305458989302781457282171367099795818033213167708311661562802857698235592653752211001501425075456963257651316525216627470828420920559068817822252025997728684193822601841384773004456878895417000241855141467256887528236089244674857249922638228642531688933793004119988047001398100159213100156300217206189800386808845531197977829041192785860953925086357263979126059477020624285431164928310692023169425624608027009557513679050581559610931653048607925617722273580119582379924515826943213699121309145823205351209634962478993732615919002175460152011512510962305335296*x^90 - 1793166329411765455674977803709063303649935220078163619294728028689186758969151403352373673059146634061630155837153344964476993186672271781428345445243298992629724831240955184767202524807262480957194186142938885472291860247569318686834112359792849391576534437140458322140972277721502558376849377632455697461746470992187227722124098328851789019428954093950687620873087089503859277043514789257512925893753412758297900455004075473785402458178247127422705329898854344238305700729280962976767017643619788590707119434858968097815532118998615967822101251367515592553272017776554116270055337627991393210074405496523709541687039352161537307221853511065594528239090436660893232869406849134431897033266395574153427513857441785732862968891935746064119790742500391293956263606865321646305562729975478276954521600*x^88 + 37004611185046792398106193589816787882144106298799739511293929160027305934315805623905387547761402224813008734065950258235851297993926882979088041706502657227702438518213388777949624705833689431475176765733628470837096443036344018122229359665272098299053395739120236244799666474503719972916603994084619772644635156838971757247732942306350849840991893399708269331772584794174813393530726638859174716375012163437989341626678232849444959091239929046249401015842116960030977093761231927384613003923553172321020946092111361960592068192685267038807889212681109455629834355290482495789979281582225609830980343126044796520740980318440849495254459342132243666413487755467284803396433468569264406130030292446076515294795306672977298748458427186281279798835628902060716324514315308315634605228966867277709312*x^86 + 44742743085213893472917949775585763467736988183175664646401525489137220630318276975999208051017139493888969515676901001176952543499384510010525247117352670719351186281334505603654234779620147509244574459043050154689485211913967017191950244530121317399287084062302658599106726893057845722733866085320952121398691305532892759680455337186166913077261658244027115238497299451772446300512234683144618596206511353360404650684590690453545421155583871732393060848560931156955075226158399382829985867687659296285891637305947419815429611929731236408384406408943973819161879087724428659359258330562499241714697985396060512991313666385790230911084495616928210507156782679374265973526666128099054764773001558983260359082005842653326857484451292356474228347764969094678181569534475082703035597774537072050176*x^84 - 1992147380522492310361205835905373111824258921064660006333303849048140951731347805532304672367100981014692551380660499526180641117645562096186399209385556561987969650310600688295220980133458299131018412199309999770869930384307855665548686622191135872419089090837792432184680717722421995281141504249092506814279669766739081051566500998981690684741594769164070031234233395835474240865212979369048844746472639781427062269548286715064782681950946303384434120429891527166916504407286407063455278436270668356298495217874856975039838491752312115399145170891284067381557846402133270080417223569515566950412998065528965876418669192693834237482252439306867556012250434204756819789708809956530033033767991191915440948747844405766014365839145011627272296181659511052928082857810890716433924358855018414080*x^82 + 1321689317928792178316460486018363481506419539609576136428669992718726855448528283782244779489121491311610971824680966365155785507062475961783019777123386737072019180966400337673739819172294965973001187293269934738206857336374882952134553271926613094212780787593840954190787675654514687872383261717800698697861856111906833804892221244088275588522705209566445928225344384387663478147341910678950771959014409044696991724452014969206627743237928496485278594814778422311925363763216159938904385234144915280792645085601251954815995829018958740602867325756619742964140035227350336268176193508187580113541893139680149233639113994298100891425074260132421297990469262333988926332606698237778319410815720467754770326840905405006801122419096949802506087521810714807381055484320363568705743512636751872*x^80 + 79941603963366015845204858568231466761010528960451059834228408979263397347271204215327675089593287334558043820084362582292675644446098628624140911048735630404701744303248539792863906755985401120735085687241049730003356870165539523795202496959488073410527565326731623513356954120615063206786412056548867209692409750233185082721906379909923935205060568654592971114111238791476705328853594198225298873817312308149757968947871674488164655139198851026115814301534160522704778603827473201027190937556268457835749315065638259069463171932957633956700758518841833896796867238797024412878077399295952411206915841095778910665349137124656974649724899239715047649279128112057044953659772518462974061812831989378290587738419533022796759458968890600504814474559861393376871997597823540957080687363489792*x^78 - 189027212412238940602620048878921243562658434299272287906307083208866834409025195705504714591798483386682161753164150541086824824640009777253975622086677886994727039236676557930370605436941776556886099951221406081549125193619050761829740416574923296001977969393721146320597817728185213975329328703514819049520248586278983423208734764808913728749349042281024786459000787430217693989210886981415747196158938285029792995767129362047312709564329022984009425758860058297687183753639220414130097775275180232994065649768291925164456525471661326341063400288776720201638147694108650975358744409778659384137057584123563992389080069721861379706229728179159513482135948861800864234919313769173085850646663765107314456786138807142656780396064800549706068751371518758068202334660772318953261370441728*x^76 - 2291353328941140144483313525580964622177601638589253404690827639449935445136187836838099963499043391080026765685922283667458452830891827938618426826171072193926009174930653658296176301656507912611535963837341985870476982134990468091938689421183756099861330273949890163271270996535205092184602021232643926243988673502330379711652162528063449603390789444276233161084804556795548466621740072316424325654439674802744680089842473871329613449485927956567647828703671591121467075425182459125957445155730718039622302229820069704342926468736771966839852184914414027410933708605652329078050752966851505096633406645371879551410538347870305645925245590827331114375174091273646943512762599065377819342700668612423266152662194552753707975611746270112971626854203092088731327698130072304996501684224*x^74 + 9638175036698793379085434442428170026599051788610434430943765960313743176418623748848264448560584156534029510949829452136433713572672317828693463290087722707865081491455246093544873149145381541505263972551848917517899049613700799763759507842551655250054417089294331177594944028258708268294484324654710386915534195410154011428832835649621517703333585543746276637179829961546044848863256947647863526885104008235644042247070062702743693042362387364111116853429556120923166459266233987357470146258952268293039472643037470826898290249690615268467472784793642697511603184064268834441731506762534718663364688020195594565313031597247678641707177262569008087513377637696280785892966715641302956753769773894098660335493769854312617880296291299680538661536424208257635758035654374446950514688*x^72 + 42443235720799742667168833553624160290736945718843441425027104647284965657432100286885097690543040320095279674046837645332209986776793117046472299103456456836121825828800066265421549775637505352232017983014617898675624712965645499769864168541614075989974421297257985218758527070184982102829042896104262311285660984816794824097015922188313100423231151895613609574882811926885008152581457033414206920158094841363286955358728747187368661516620610124413568664365055401778125466921127318642041741023158394042919726103174223402835512979810722561086664961921538309715233506774979047874758142119146270458783627435378886976019354432716282248754994867231410080293133956683505213769219589372732008646638651522562015358597450604423497512068101289326166616387576495031212575011882858417487872*x^70 - 300789164135736171254635593476918238279246981148088485083190397534191839658896992404634730758248579480256301278321915264250390810907343337909349487996629272243938131010635412029246424881654572192935827725008455183412259702730261992374819944212843655558107321524702815670155012015349153153473010927369318536263620770194787272495968062159745317391406902861542207922586429136995259981899639200667474327544350191767820260730654056223692860977347083361288044252885782226723884488702863302490164294230865265368903418921460794102223251161262204734735398824794183730141849032397507025222782121285130182195221717251737852879832746294387124375061066552308961606351127359329577649879655870707667368343213036321789808214156442697444270142267693774122330624283032608452642023536322076999680*x^68 - 324993190060740353078547738887173663261713619204476730412711131645822386231630098802088916827022475592434969840707901712074744239629536628643420673850453023332236187131601096922239176494239308100765982848713709936190981659414620930978379004658034371574746626969122653296373248192330265161039807582836891278862023363282879817982639835002954239311129523808145113492660394129339571723822919714314563796115014880260507383902646985572087680983143865694114626387885540147906194495198517364615130692160204409230335945823828329123104109074399300130836103800415822468388880325391060855692765343688378025007994573455018601279111944548616529034998590374302660281869726668789963114567921584870282737178434791587803457765190881463609889363555759627813412956799859498044939517919108268032*x^66 + 6113234809483638827108473207649444167114954050617173399510308198698265838434183487972921822310421815220312390402199640957519901867615216091893202024672663053075154433314421229481776512057060020756948234905155890145541948867752340316758639855651200352369529130076384727188900977538452526465947800118791768665541093323112954303266983594734062648762900404895259432026433342717613761500481726713699993425950181067227771608083242008907862496069754224924002923213484448372274134872142381420434983015466842147359663949466749168325928104402408888815027296138986402977273251339659848757456940308357272902332391768795697306711354611059939973374508030702521812248608086445631282430460643394240008042903046603174695049365075537607796759307566849008359212753801805434358860301624934400*x^64 - 6427122191180117245614989059097417759588072267539573538380340620102153617542984784938815725877795266954642846057058538282691019303167441462536352720775498236783536614183435070917592015960123792888873060508870876435704452047013883048798099851371076105529775462755094307790278908374720991646088693997000090013576977273810669198223688918055234376535089133472296113457227866381445750845505191346282866634482969433861882178718113933217325821933659328625902635326988442293569787797873733649743341645326605444709394288384663036351970771181426920545540647313103769314862194524742572752222195531898798272426117245785168398590545206871069980244897940173887940931477915293826247333034946007186691345728202114206450383039210053898745873466949113384884370381425532237526417293705216*x^62 - 74868594713171082642662242387119732376649123469892588972180524446772472581005580703506658613976983362155085784267431884139614784093630782352510563622874978794701012283551234535436038275761593957133438406029980675522056586378131408490892820365253172476796523403296302872199613154202837999465732837916524000369198724206335135523868111515530741359394139589147216850458831804140594042079680497366692882509013885948408754736537953936173118139472355438873100441767975594840624789028976376257169462252168444621821748854951222619274132322600347312387704315381837906650085792947266026473942535802299342624327650360569083619365733038268410051120332152500357735034370189155933516274907506169237398070640558821716755497057109143565170435381730715019143510399728538405387485839360*x^60 + 237885378133751810041362227019587686735295374276247894598414606042595864215147761592738451344141626519511067316797902956796836748811479690459634491605046288627998796303588561079707678970917687894437797825034866878705286860246844749647111381151719240541849816280975716932680168377940395848171678081616901489476205122468991536929212118977012816041467727341405161260411976667011328811131380295621716386207137230342755406408497226653749783178190775407411652741403882232236779475929770148105148558579345478204903908809438333950951452263264112012256754825947218870442756125325515267728190991012259274884029889750328530383167395406640959158492157746339642867209646574985025363314355572674214073741140553740848625457126270840401258721591365468548867038887939465684809940992*x^58 + 293151729650265149195092950172656002405255907513372546593240682863059769161260240263152408713897135700013229713245138779201289591158969993543262982333501146208876622914329516482956476529532491396715527141563919939374057921437149674622584468278667201011773012976878889811693358433771550131189263382387048433967348764990547784947035666776063356086956903441843329441316288260922673426026333847498846042515399664430269818616940110664522295850333995497407132561688684420270151698675168463036047376459219850333488962463576366360944934152550180729686213292844737102689518505620205586092662900426837736356325021180109995862714377720608224858557880212716274845389398076014401314858889323261348834370805460621394514395867373813087654787098925956390096009557388180076888064*x^56 - 2923412946315474133683449793302713342058245356163352791522723842114916386662279933437747684540683006564066168595215288913997265591158341346385867828271261688854901344818165863067303820763345330358306881985650441411019781339087639755807253376964266847102251332257394904454556754722856379561120562776925382705502487640560946511455293054876059388259770158779336017969187365231063130872950669065668175645475126083398772895410671222662418877647660664279951511888152410070888507619016566767944639656389262272947832205501761881006408772937131990049957902248900420601668174167752514381534934227776240853957447178291311039803190666112248092221310012908959294775506596820190515379573166696451535594179005454092101558840020723707455743523018502564896675140583515108671488*x^54 + 5022501654918287776586405362058332892199091198574341676347559269596212788751813453684402804683881713672021061685902275291520813888669785026132778909444627526837757908458065234971734502835510338564307308318091840060305097309354158334791125913038400522487011580399177092241936127562122061427426666080115669343772372768046496903012679670476254634951946102827233467579816860079963996420507914032177025394446076845371107530944014427162589947825737503665489733915659612400110449331100934007771442392734849355367329288134326572235456155760512251113263175954967913961411926147558746541782513598925213764533834554205946608298777666456526514625327290079951077236772124145402574310219116907219073346831795246365079043020644861015907473466094338281735587947156070203392*x^52 + 4729685669383807552035245507644265303343258803414629182614993525110197126970364169016562175265714028021472998573397868251306874228166364802472590866026940036010573112366094438440571783374626559465533626758129470517402274408055133617207381791149153059838777462750242158106649837060089977237536836637334544180314597722096032861201001020076920711948906072071558514804038608162188532490428720831310873479903131053769184790904941488714909701365345685539446626864514143437000875124808903888814488306812423806667296998182339094422028809477158609619228276355921986093416825439167214114478174143465395857318490155620876149644369727702966419474004953911636696480374789613489547065445185251923239579327922323710415116488751662932695284861089764648425214138862534656*x^50 - 34732331583512840903466623164959982988163519954670449213842382859971576034045640967115292471051749157368543263112285755598236262331843160876156118378173073826286705921194091587463672105205464058780562073045041937143868128761218954391260197788875654155400646239890087459882643414227827822076741661067453810152493952833168969117537618744141985576327859746046910276049448365857519434399086249547971721483651244276883599918696363386977606120970632717134030970966898433158355791235494929421588056664940808117069581652857460731875557841627730488972494986574294370335660477404745523185839751784249396812695129954432738443617111035371585233591068822715610229449275218125069214933724324523287584861606998656849004460525112956576754531884353247565194863434530816*x^48 + 83698513810083786566634324815250607134720668933605157412696924478395729976426713548444047214932940219998547906369351985531588713769641285920468216245733809981647415402593342990605741059465367910412826586766280133376576682471429042655050823148273930686050340889997962827360735505995762683259149094837993558885875927370054898826758002299161947952187232233704046490455249783266109190991034552730347613483885309417479556957157920752933941102960950110077702957896324233773616761607902006338206688807726940062292649323914091017781278591415027245821165479754562301245793654089835096844030023872273371868590821682576218100067187767939677573800638695995528991935802978762487678875201423839898167843433100143605523105755844146803821907147231974449107561349120*x^46 - 200755970154600709941851526602414394784526251384478777481073070282251340567390477533433086260811247706150723795296288120118441915405714003565841180820076598089462539479523136804439154172653943629651776948656055961327675872467758498071430602016065648341183689114985893677315740486960830206839961333043673306030897594772314049950060264406286413174387049772789726582883792476525049060327783975794530254795563400781081003628215482935421551130414336242231930340016438496846989751488016675874718095581591934628997148211948923836817624527354013620489925261958474835306015097443753826084391215699223566445518968099263115034461622587829624276612869424371509132596523109978604697032908917119571256478058924537633169069145207523570607203698918004239697444864*x^44 + 497069053476869431882976959198449957949812747525334656870244415797611874996420900242287736364128890966786500677663544913108532290323268115085033116782756799517800041529168981046748506591567746468141511849719933407978753095591191837783977173050000942392225359072716051812902672742945118526282944772286314970704605625064997495132658133970786424669602376520046975412200619931253878826306403757809953601798591516238603507035249157629793082685449877658497650118265750896945091258832656496111135170161875133152706338724783956680324315786261513680966149934798876141501063829743045305628871837882358149150135277469689532038124984755283639358201927023314359630109649135004209979987236865940563158240279142223836798152009392843534437227163278729734520832*x^42 - 844324353626885317556903169757515822432384102926313839064851256190681115469310854259618759723123133313872119334592157018096217054868485833907314709428706873039526822650251087509043713257062924527250539017383903423553039927782119425842127021274006151744333181130285675377407154447929943976235149219854749369443885071249341754113093491903426930323030236922855835817883630259469107355519907058921336245646000454534090441271267329330697649311448577942509085374360776665012019383310663505891081417534510542091818688976172460890016537140571117105572662915610641460968702557551286990023573815037896660514454833362051661020632433826791587170235473131738764728441194494924569135742168106000394676074224789794149091270424460121359844865942101952561152*x^40 + 630858936804266201309295441422218841843201140929587582223437048778720701706429176602557673567163826765764791424131568669533863856443079229982481094981356142886518039211221817182485002061177742790320012283517893567574830554190588966867432413874800975504891006261859975712269412312319047366653784209235376250899128419883204039605127245981028526771400229006022842735780607428240771185462174062802904614990564077753687983215022148003582342220653382301272172472250160449960124594425704936772729645971576163500775215403774883671876648851868708044896125715781838594111406130572127509548195322401670754680308874063760356390840511701542295385148414672618319205968739929566131976483933979274776749432831036697301402155493403803261609425163375345664*x^38 + 569205082655124422799483911739865753150094153118446397263319109284533955842522462279961903243728198707718866849304052632120291987316650574512086726622811199992966117284109569397231716117489385900605284655933631454559575436495621842265911458473301413018014329978112601529212875521301250112820679076648467751606995097808033807833604612216768996450364599460295437248454061801696970687047984245995744068996364774062415050139297345380715682181352192330246260929681261207667311498495018203611546175973246630521632310350924068400511316080886838185175016337932929930544491179043803995223667977260878078959032265702294462553450111837916904609086614198084515117524304184711000459178587102692457760101233008295314036038850598318587130344521072640*x^36 - 2071621689095317183792333706661863347694857149402824768997670079446049411732357416980472530235167454949536619282912840105194409773493629252718032662331803440753679457089251813490032167579697609229782606431622138708258193725255723399414203371944283804894162942278192793722999834510252509449652571417544931684305055613909190004363497351566309476307013959215025478164487548805259853085770162016082851675122763733963898055415472109943414658787779380820711489602010551916019483841774123522011975228888267713663148816163706787163521560372970114307823146442644701677568537179909013354082779591681648391691427685922032636707363406643338116107201874802505688751774063742198612902687151559052810275406407266021441276079708267935561162579509248*x^34 + 2655091007651855570102745815752523805771488285971897824678028101656239486474552736223781368309511545492808914713745598562735511477316576632986361643404064992337939026571590292861385411183661831411325218699965507816945752520841105615819353121805301710538609529256274311242565591419905200129661810178932504276579953430733790068423120450935371122989779981297148622597545191931027669376313876164685294892721667044905677998336276539936153249128803574506767693133830787071512651607015822565183865886290670864708847450990481454853729242233246234924455784921925500098292296437780958252848355735873612737469441043745780972353222628783116091609975762921841643184890510582386364574039059407398286922028830580885419970604575069086948817633280*x^32 - 2040243937716729479453939866775597438075811380398334664849490407039618202055026723006643446240624734585598322782946277866515789874208930259913187064608106043116895130095742765109006846069270867250934696014745557137276508841683755760843774234848419844833337631666027543778205184942023635847873024594557367861155105666028096485778463882203229742928927845585087179294986666104150486853176208995978802597849680405686005657719510771337091475678548839216658487334363641758145451267554688040339868586919417069886745907807899751137589719754204124319148469764444000764928902301192855799392995178535310902235528933222541994154929955307371191124519500832624118581018420575317069471838678878323201611919342506575913398368517656158085840896*x^30 + 1020052754080082969632235458861835945103912999029648567701086062131260842740453440334448442430954444653515825322520266995342601611701335196845487302398457023506474945712185678238127805872204385492788403041209949075836520678500149449846607448066502931018836819298155545065055007922301306146220364736952607559992037553933134015960143420388858999690150096121977834811470127562825614854452540344028684073358517006666234852356361143887419281671379568245770878383948492455946229419756027602688805609956313319015190630361958944003655193053803673520531745548829211437255649329025023533908576917022125689910605401217024029932588800640716846339652186992771671202170612342864433840034735604532620756896121932209694961152072876820529152*x^28 - 328542746994039528990683830538368748662822614424998874074480542339873661879752753767274804609732230837135071701389858106088787304640844540289249173244983027767402952843441813259510188608732052575493403174867799932354095522380896508909425920835484364022101340902163564348162403835548031631987407921247082402262239969681417023790485929579734361804006729180344780831371893836188883701250916777996743011627718434917800892329413735106793038201530013418232039440909130656728244988644719346177264130702958313297128898318084809758369503405059377062313572728941860493065614112585861258013731404233808000392144517324465782245598024216834205894390160959108994819542582314220468088480028960778173749733096605387973938171308004081664*x^26 + 61461325332565258941274939460796441514388230643882949141343422864599323133735085608853308558102105735597277975461583721448581105060010642245391889073832296819187207513866304330611872717887101099558687604009305780065196164873572653836350885305181041350153579697593899735993862233577362989148331609082396441480648309476757861766389129782395766147230027793561817798116072133893146454898934297001557991643202455274082855330573400684877225957381599670805368871754502112220158891338178950226119019155641191334973648165798390035879916194648308898650296712996311946709619162574858373126996241724581793174174450354005060569126710487808116392676743188986857526416263837045810748005915626469637592251073820868944927641456082944*x^24 - 3883324668856423612446092800667094150320259697151367320226422814495152338791133336877301068022001925013980560337485123317351271262815861959196520221284006653302789331259145290378430764735537849290861948858717815219822169071991253088266062471844292497150935376100568270612819903204041346582104295189187828002049752727073188767690513536835380714970240394050367058274878665426268406474621229783847244890466955475123457669618857838103478081719873257631606712223042304829240845135957063817601389057762099330915329545276327296389823137055060479088600984205450773261810290040287943375447007407561801850203550104551299284604828814780938712437668547090666687779610286822980928026444241790367419694027601081171160797806592*x^22 - 751535721689490635602726160758343740928826940673121338778302747609797410744715060289298071059289942912694073469602042157195159040645023416219148198990308955434330383762129537908570623448423649238094884469835715932763858841866906190150786482342054042342731140250272752591444502181163447348729408798021285148443833088516483233817616630213169669417701428496430042096983229714906048164441151780977111536642509516904668701606180313251232063095363820525086568769999715875585216849779150412006845439349103947854279557660478759928486358929520853026401648242002965746475781979082697376557938052223108305426560275321379681542136357969467395024769253074682371712000676608324171335903089428276627629775177410856049704960*x^20 + 135901623353313761757229850368703893196660572047067346516029092730489079060783421264594609820133572336072518801921313535152516537040517652303149156360902548376105565122098161025212249035632213470366306135040540427900037262154637463581460642807750908108717551472503069358218752817096744312686430601921320492637261543222562844289780854596340529155845588886212994871100235396349958542935568379229367083008774504804426543254888076302407193690076926665362835787349541609939803659127399095859507712450526415187870813189055235963671460519660610799239740025807008640197790341768222353705734429324430530837675812601867869272037336735309129419801429705939185609282276601371647865702193812112351258233643920944791552*x^18 - 50958306305261076752358194339545694928507225030977648408087258342013939142856432849435688263739731395545536680576652650614664539942150765613702037721485113551947052254944096341028078176408763257208616887571613527085791769294438990279685372266595708796958236334808107441480453944247454277990106070370209310487867543341839776224976660882151885115448375905140909308491612764101097483357455650795629993941539554136858936026910731687399963542017446590052917772745465122169873952141665708438415420812113553459654431408604060411703593440001667256744572894961800318472595793191253120569290991202076163616761133848506841893150781129033795641412956762867858036929543282950355101841180554507314361554629033984*x^16 - 650188828198774002608840858704113147631914846394013323855760348772792047346524954492186625027803588839315220838871634319050726521417767120188044210442093981652413029449454193656650975975894776142163898960873362301886103851593495066917817900263969777651081420250338544006366479876434720118406831137577459317141047860544522886036017588736646561174813636976484737265270943285246353700236811014018410144914516119477281253438253452458138457789066087735553584902114613337945164413501568205341912780924217797465395540143593317947955458044977117734754252914043829969697783422742369290142608093919671920290426399498353838549130305027219258730857042543675733877200926190057366962997563132098243424478560256*x^14 - 40861926570920959266184836493356487870101556498754365516581070114072518091189180068818820457863666698637605119857943187068983288250369863769940564758680953959887006279710923723611093816879531236700799224864997543482099048552660093498402873737977477878914142327203850612590518745668324625073167196655598853675048725291811822907221166746705050428592365581215053703960197023195029173397765610741357245733787930846305599947526603998608467466925663907160552791837303677050517769171384071139547902293479611126942596557163688337306547063596708855958776745722989329824824765024350932915546809460619689781927529121128775001574238746079556057069698886073721044771233933555075979271312038965197032914944*x^12 - 833124753794084640688037276215838669810167821426909298079819213895977644719819165599551266863818992602486166100521070732183379264504317517725873072933252108955469319806377299832404317039593724525658349695282228260134180345130070692615177601547359215253666584822098959395065183293676713007595596733366761959494919803119055875217130615334419699140906087798091373066854021813914501139753617893258163370781495356697852534020858303081733961286021174267574599891197148412999018401884051800916979269763700430554839848279393936903403968359843109042265627807071934454749450827071291058746685172656578386240531842073002002934511734839931947015408559751396076237632250338304856571567081700097785856*x^10 - 7658771618725884748391330938184669372433555954012241782723250710187787203760680649512963498992496408753376086439317515470971187550342509648135600256775055375747285598088997689403432718670035283922985695981614071033648198688170329541911963604718833139088728875684492770415778345349529336462034521272003610851542705422168047136991466169609285399351431104278602837041725333448163552986367470786589957095824606986581538902066418857879307622677635919790783044576891547878441671444126259908645368621950279065035661247809242239807623059271459188039846065519706144020111503573057674327408899865218627504506320806753588729362614715803746221825052026410921736413191705399088362911154772639744*x^8 - 16702567857203944352220222714963108829106565357395107454939865050669758612182200764101986747978197641921273414994875419667808215520877334939365038225290173446236643517881221669480017863871750927015963868760882719540147915762098906279786363273275742496569433501589826885468800735326031467965915990689273474830346752350933191146933485568965520419747935778054524883480013846734781978528383284809136014413009009144603902741385798034222138661411716892287230722920430565914506528132546014332668966111331666655206155742176355391236803719395898910941496600795040770285245449864139988840361464348390670081987574430726296881521856462573617660146588583291996940006882107441263477017018368*x^6 + 179782983655119035426809632822292010043322998080063145867493639194245739413644037741114955417763712148638757392745530307589858555969565820688419743815666086980304051170991581170290846672741818483159449120571441041279952770886645847890021249748579975059644805702156387722032257338446056276886076183359708839626702552458712083173844607335771164274124581313469178768494303465225020165590036620071686936758651254255162188831952375913152201628036706318886051165105008731971580811896481283049053883504571000628631550572045490366900528299775651342918932464482551071356622939013074872993124546958506098401663798133739760583386797810035714293101111354268849000352696905729310720*x^4 - 444197758052136116820947897695110521029794817251021934401181887740289358145846327491337544229683766554798883228243782871248641955973141102950804972276382531416874817011849504001105212340786679083467770811544278317948156695506340338722593025111105815768803766919105647251186565800487492140902716159763626654251136151953823895089730783501228795046526318604927487651461852337447878343654131635973382434640039782873335615115451925767611925478761250949473658982286038364626985823011552713897981212454750093123965724399560721568846778993595360108691913082816059008803044189452248953504408461730575921524060519694814257801237438618852560065556604495781368906796498944*x^2 - 76093196872372578373119402591542924336595309825576292045515391246379464763158228784639574310982195640136389028170516631428420420489719956379967145212728402543856172428301827720835720619511746291529555478771232044026977196487380606051408105650931853037339102824546133136096406879899656252503263781924026226251779704232683941753426157396355555386426406923634579674802667468556932278540083239541771095586953543174979462316844522007563225998088037858674707962626971083428228623682979720860644003550437215307280073434204980445128604856611045119274229393897316722277964178023092238372341675934924661369445149897548641019617913507175210877932947651340271616]] diff --git a/src/connectcurves/main.ipynb b/src/connectcurves/main.ipynb new file mode 100644 index 0000000..e74f544 --- /dev/null +++ b/src/connectcurves/main.ipynb @@ -0,0 +1,486 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading libraries and data..\n" + ] + }, + { + "data": { + "text/plain": [ + "subresultants_seq_biv (generic function with 1 method)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "println(\"Loading libraries and data..\")\n", + "using Oscar\n", + "include(\"tools.jl\")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "usolve (generic function with 1 method)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "include(\"data.jl\")\n", + "include(\"src/usolve/usolve.jl\")\n", + "#using Arblib" + ] + }, + { + "cell_type": "code", + "execution_count": 316, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "evaluate_Arb (generic function with 1 method)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "function order_permut2d(L)\n", + " # Create a list of tuples with elements and their corresponding indices\n", + " LL = [(L[i][j], (i, j)) for i in eachindex(L) for j in eachindex(L[i])]\n", + " # Sort the enumerated list based on the values\n", + " sorted_LL = sort(LL, by = x -> x[1])\n", + " # Extract the sorted values and their corresponding indices\n", + " sorted_L = [pair[1] for pair in sorted_LL]\n", + " sorted_ind = [pair[2] for pair in sorted_LL]\n", + " \n", + " return sorted_L, sorted_ind\n", + "end\n", + "\n", + "function isolate(f; prec = 32, software=\"usolve\")\n", + " @assert Nemo.is_univariate(f) \"Not univariate polynomial\"\n", + "\tif software == \"usolve\"\n", + "\t\treturn usolve(f, precision = prec, uspath=\"src/usolve/usolve\")\n", + " end\n", + "end\n", + "\n", + "function isolate_eval(f, ivar, val; prec=64)\n", + " sols = real_solutions(ideal(R, [f, gens(R)[ivar] - val]), precision=prec)[1]\n", + " return [ s[ivar%2+1] for s in sols ]\n", + "end\n", + "\n", + "function Arb_to_rat(x)\n", + "\tr = radius(x)\n", + "\treturn map(simplest_rational_inside, [x-2*r, x+2*r])\n", + "end\n", + "\n", + "function rat_to_Arb(x)\n", + " x1,x2 = x\n", + " xm, xd = RR((x1+x2)/2), RR(x2-x1)\n", + " return ball(xm,xd)\n", + "end\n", + "\n", + "function evaluate_Arb(f, x)\n", + "\tcf = coefficients_of_univariate(f)\n", + "\treturn evalpoly(RR(x), cf) \n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 283, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Isolating critical values..\n" + ] + } + ], + "source": [ + "println(\"Isolating critical values..\")\n", + "xcrit = [ isolate(first(p), prec=150) for p in params ]\n", + "xcrit_usolve = getindex.(xcrit, 1)\n", + "xcrit = getindex.(xcrit, 2)\n", + "xcritorder, xcritpermut = order_permut2d(xcrit);" + ] + }, + { + "cell_type": "code", + "execution_count": 284, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing isolating critical boxes using Arb..\n" + ] + } + ], + "source": [ + "println(\"Computing isolating critical boxes using Arb..\")\n", + "#RR(x) = Arb(x, prec=120)\n", + "RR = ArbField(150)\n", + "Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1])/evaluate_Arb(params[i][3],xc[1])] for xc in xcrit[i]] for i in eachindex(xcrit) ]\n", + "LBcrit = [ [ [ map(AbstractAlgebra.QQ, pc[1]), map(AbstractAlgebra.QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ];\n", + "Pcrit = [ [ [ rat_to_Arb(pc[1]), pc[2] ] for pc in pcrit] for pcrit in Pcrit ];" + ] + }, + { + "cell_type": "code", + "execution_count": 317, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "intersect_box (generic function with 1 method)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# To try/do : isolate with usolve, call msolve with only one variable\n", + "function intersect_box(f, B)\n", + " L = Array{Any}(undef, 4)\n", + " for i in 1:2\n", + " # Lxi\n", + " L[i] = Array{Any}(undef,2)\n", + " L[i][1] = isolate_eval(f, 2, B[2][i], prec=150)\n", + " L[i][2] = [ j for (j, l) in pairs(L[i][1]) if (l> B[1][1] && l B[1][1] && l 2\n", + " @assert false \"\\nRefine extreme boxes along x-axis\"\n", + " #refine_xboxes(QQ[\"x\"](params[1][1]), LBcrit[1])\n", + " #i = 0\n", + " #j = 1\n", + " #break\n", + " elseif i > 1 && sum(npcside[1:2]) != 0\n", + " @assert false \"\\nRefine singular boxes along x-axis\"\n", + " #refine_xboxes(QQ[\"x\"](params[2][1]), LBcrit[2])\n", + " #i -= 1\n", + " #break\n", + " end\n", + " LPCside[i][j] = pcside\n", + " push!(Ltm, time() - tm)\n", + " end\n", + " i += 1\n", + " println(\"\")\n", + "end\n", + "LnPCside = [ [[length(indI) for (L, indI) in PB] for PB in lpcside] for lpcside in LPCside ] \n", + "println(\"Average time for one point: $(mean(Ltm))s\")\n", + "println(\"Elapsed time to compute critical boxes: $(time()-ts)s\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 334, + "metadata": {}, + "outputs": [], + "source": [ + "for j in eachindex(LBcrit[1])\n", + " # If the curve does not intersect the box only on vertical sides or not at all\n", + " if !(LnPCside[1][j][1:2] == [0, 0]) || sum(LnPCside[1][j])==0\n", + " PCside, nPCside = LPCside[1][j], LnPCside[1][j]\n", + " I = [ l[1] for l in PCside[3:end] ]\n", + " nI = [ l[2] for l in PCside[3:end] ]\n", + " # Locate the orientation of the extreme point\n", + " # s is the index on the side where there are more branches\n", + " # s=1: left; s=2: right\n", + " s = argmax([length(I[1]), length(I[2])])\n", + " # Ordinate range of the extreme point\n", + " ycrit = Pcrit[1][j][2]\n", + " # If it intersects on the bottom side\n", + " if nPCside[1] == 1\n", + " # yinf: the intersection with the vertical side just below the extreme point\n", + " yinf = maximum([i for (i, yy) in pairs(I[s]) if yy < ycrit])\n", + " # We vertically enlarge the box until it intersects on the horizontal side\n", + " push!(LPCside[1][j][s + 2][2], yinf)\n", + " LPCside[1][j][1][2] = []\n", + " # We update the intersection numbers\n", + " LnPCside[1][j][s + 2] += 1\n", + " LnPCside[1][j][1] = 0\n", + " end\n", + " # If it intersects on the top side\n", + " if nPCside[2] == 1 \n", + " # ymax: the intersection with the vertical side just above the extreme point\n", + " ymax = minimum([i for (i, yy) in pairs(I[s]) if yy > ycrit])\n", + " # We vertically enlarge the box until it intersects on the horizontal side\n", + " push!(LPCside[1][j][s + 2][2], ymax)\n", + " LPCside[1][j][2][2] = []\n", + " # We update the intersection numbers\n", + " LnPCside[1][j][s + 2] += 1\n", + " LnPCside[1][j][2] = 0\n", + " end\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 340, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Graph computation" + ] + }, + { + "ename": "BoundsError", + "evalue": "BoundsError: attempt to access 0-element Vector{Int64} at index [1]", + "output_type": "error", + "traceback": [ + "BoundsError: attempt to access 0-element Vector{Int64} at index [1]\n", + "\n", + "Stacktrace:\n", + " [1] getindex(A::Vector{Int64}, i1::Int64)\n", + " @ Base ./essentials.jl:13\n", + " [2] top-level scope\n", + " @ ~/Documents/gittravail/curves/main.ipynb:23" + ] + } + ], + "source": [ + "print(\"Graph computation\")\n", + "# Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot\n", + "# And even remove this fiber for the graph\n", + "Vert = []\n", + "Edg = []\n", + "Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ]\n", + "Viso = []\n", + "ite = 1\n", + "\n", + "for ind in 1:length(xcritpermut)\n", + " i, j = xcritpermut[ind]\n", + " if ind > 1\n", + " i1, j1 = xcritpermut[ind - 1]\n", + " end\n", + " if ind < length(xcritpermut)\n", + " i2, j2 = xcritpermut[ind + 1]\n", + " I2L, nI2L = LPCside[i2][j2][2]\n", + " end\n", + "\n", + " PCside, nPCside = LPCside[i][j], LnPCside[i][j]\n", + " I = [ l[1] for l in PCside[3:end] ]\n", + " nI = [ l[2] for l in PCside[3:end] ]\n", + " ymincrit = min(nI[1][1] + nI[1][2] + [length(I[1][1])])\n", + "\n", + " # Construct vertices\n", + " ###########################\n", + " # On the vertical left side\n", + " if ind > 1\n", + " for k in 1:length(I[1][1])\n", + " push!(Corr[i][j][1][1], Corr[i1][j1][3][k])\n", + " end\n", + " else\n", + " for k in 1:length(I[1][1])\n", + " push!(Vert, (xcrit[i][j].lower() - exp, I[1][1][k]))\n", + " push!(Corr[i][j][1][1], ite)\n", + " ite += 1\n", + " end\n", + " end\n", + " ###########################\n", + " # On the vertical right side\n", + " if ind < length(xcritpermut)\n", + " for k in 1:length(I[1][2])\n", + " push!(Vert, ((xcrit[i][j] + xcrit[i2][j2]).lower() / 2 + exp, (I[1][2][k] + I2L[k]).lower() / 2))\n", + " push!(Corr[i][j][3], ite)\n", + " ite += 1\n", + " end\n", + " else\n", + " for k in 1:length(I[1][2])\n", + " push!(Vert, (xcrit[i][j].upper() + exp, I[1][2][k]))\n", + " push!(Corr[i][j][3], ite)\n", + " ite += 1\n", + " end\n", + " end\n", + " ###########################\n", + " # Below the critical point\n", + " for k in 1:ymincrit\n", + " push!(Vert, (xcrit[i][j], (I[1][1][k] + I[1][2][k]) / 2))\n", + " push!(Corr[i][j][2][1], ite)\n", + " push!(Edg, (Corr[i][j][1][1][k], ite)) # left\n", + " push!(Edg, (ite, Corr[i][j][3][k])) # right\n", + " ite += 1\n", + " end\n", + " ###########################\n", + " # The critical point\n", + " ##########################\n", + " # if it is an isolated point\n", + " if isempty(nI[1][1]) && isempty(nI[1][2])\n", + " #pass\n", + " # We can add the isolated vertex\n", + " # push!(Vert, Pcrit[i][j])\n", + " # push!(Corr[i][j][2][1], ite)\n", + " # We will subsequently add the vertex in the graph\n", + " # push!(Viso, ite)\n", + " # ite += 1\n", + " ############################################\n", + " ## TO BE REPLACED BY APPSING IDENTIFICATOR ##\n", + " ## works for space curves without nodes ##\n", + " ############################################\n", + " # If we are dealing with a node\n", + " elseif i == 1\n", + " # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2\n", + " push!(Edg, (Corr[i][j][1][1][nI[1][1][1]], Corr[i][j][3][nI[1][2][2]]))\n", + " push!(Edg, (Corr[i][j][1][1][nI[1][1][2]], Corr[i][j][3][nI[1][2][1]]))\n", + " else\n", + " # We can add the vertex\n", + " push!(Vert, Pcrit[i][j])\n", + " push!(Corr[i][j][2][1], ite)\n", + " # We connect to the vertical left side of the critical box\n", + " for k in nI[1][1]\n", + " push!(Edg, (Corr[i][j][1][1][k], ite))\n", + " end\n", + " # We connect to the vertical right side of the critical box\n", + " for k in nI[1][2]\n", + " push!(Edg, (ite, Corr[i][j][3][k]))\n", + " end\n", + " ite += 1\n", + " end\n", + " ###########################\n", + " # Above the critical point\n", + " for k in length(I[1][1]) - length(nI[1][1]) - ymincrit:-1:1\n", + " push!(Vert, (xcrit[i][j], (I[1][1][end - k + 1] + I[1][2][end - k + 1]) / 2))\n", + " push!(Corr[i][j][2][3], ite)\n", + " push!(Edg, (Corr[i][j][1][1][end - k + 1], ite)) # left\n", + " push!(Edg, (ite, Corr[i][j][3][end - k + 1])) # right\n", + " ite += 1\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 329, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sum(LnPCside[1][1])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.10.1", + "language": "julia", + "name": "julia-1.10" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.10.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/connectcurves/main.jl b/src/connectcurves/main.jl new file mode 100644 index 0000000..6aed3b6 --- /dev/null +++ b/src/connectcurves/main.jl @@ -0,0 +1,155 @@ +println("Loading libraries and data..") +using Oscar +include("data.jl") +include("src/usolve/usolve.jl") +#include("tools.jl") + +#using Arblib + +function order_permut2d(L) + # Create a list of tuples with elements and their corresponding indices + LL = [(L[i][j], (i, j)) for i in eachindex(L) for j in eachindex(L[i])] + # Sort the enumerated list based on the values + sorted_LL = sort(LL, by = x -> x[1]) + # Extract the sorted values and their corresponding indices + sorted_L = [pair[1] for pair in sorted_LL] + sorted_ind = [pair[2] for pair in sorted_LL] + + return sorted_L, sorted_ind +end + +function isolate(f; prec = 32, software="usolve") + if software == "usolve" + return usolve(f, precision = prec, uspath="src/usolve/usolve") + end +end + +function Arb_to_rat(x) + r = radius(x) + return map(simplest_rational_inside, [x-2*r, x+2*r]) +end + +function evaluate_Arb(f, x) + cf = coefficients_of_univariate(f) + return evalpoly(RR(x), cf) +end + +println("Isolating critical values..") +xcrit = [ isolate(first(p), prec=32) for p in params ] +xcrit_usolve = getindex.(xcrit, 1) +xcrit = getindex.(xcrit, 2) +xcritorder, xcritpermut = order_permut2d(xcrit) + +println("Computing isolating critical boxes using Arb..") +#RR(x) = Arb(x, prec=120) +RR = ArbField(120) +Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1])/evaluate_Arb(params[i][3],xc[1])] for xc in xcrit[i]] for i in eachindex(xcrit) ] + +LBcrit = [ [ [ pc[1], Arb_to_rat(pc[2]) ] for pc in pcrit] for pcrit in Pcrit ] + +printstep("Graph computation") +# Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot +# And even remove this fiber for the graph +Vert = [] +Edg = [] +Corr = [[[[], [[], [], []], []] for _ in xcrit[i] ] for _ in xcrit ] +Viso = [] +ite = 1 + +for ind in 1:length(xcritpermut) + i, j = xcritpermut[ind] + if ind > 1 + i1, j1 = xcritpermut[ind - 1] + end + if ind < length(xcritpermut) + i2, j2 = xcritpermut[ind + 1] + I2L, nI2L = LPCside[i2][j2][2] + end + + PCside, nPCside = LPCside[i][j], LnPCside[i][j] + I, nI = unzip(PCside[2:end]) + ymincrit = min(nI[1][1] + nI[1][2] + [length(I[1][1])]) + + # Construct vertices + ########################### + # On the vertical left side + if ind > 1 + for k in 1:length(I[1][1]) + push!(Corr[i][j][1][1], Corr[i1][j1][3][k]) + end + else + for k in 1:length(I[1][1]) + push!(Vert, (xcrit[i][j].lower() - exp, I[1][1][k])) + push!(Corr[i][j][1][1], ite) + ite += 1 + end + end + ########################### + # On the vertical right side + if ind < length(xcritpermut) + for k in 1:length(I[1][2]) + push!(Vert, ((xcrit[i][j] + xcrit[i2][j2]).lower() / 2 + exp, (I[1][2][k] + I2L[k]).lower() / 2)) + push!(Corr[i][j][3], ite) + ite += 1 + end + else + for k in 1:length(I[1][2]) + push!(Vert, (xcrit[i][j].upper() + exp, I[1][2][k])) + push!(Corr[i][j][3], ite) + ite += 1 + end + end + ########################### + # Below the critical point + for k in 1:ymincrit + push!(Vert, (xcrit[i][j], (I[1][1][k] + I[1][2][k]) / 2)) + push!(Corr[i][j][2][1], ite) + push!(Edg, (Corr[i][j][1][1][k], ite)) # left + push!(Edg, (ite, Corr[i][j][3][k])) # right + ite += 1 + end + ########################### + # The critical point + ########################## + # if it is an isolated point + if isempty(nI[1][1]) && isempty(nI[1][2]) + #pass + # We can add the isolated vertex + # push!(Vert, Pcrit[i][j]) + # push!(Corr[i][j][2][1], ite) + # We will subsequently add the vertex in the graph + # push!(Viso, ite) + # ite += 1 + ############################################ + ## TO BE REPLACED BY APPSING IDENTIFICATOR ## + ## works for space curves without nodes ## + ############################################ + # If we are dealing with a node + elseif i == 1 + # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 + push!(Edg, (Corr[i][j][1][1][nI[1][1][1]], Corr[i][j][3][nI[1][2][2]])) + push!(Edg, (Corr[i][j][1][1][nI[1][1][2]], Corr[i][j][3][nI[1][2][1]])) + else + # We can add the vertex + push!(Vert, Pcrit[i][j]) + push!(Corr[i][j][2][1], ite) + # We connect to the vertical left side of the critical box + for k in nI[1][1] + push!(Edg, (Corr[i][j][1][1][k], ite)) + end + # We connect to the vertical right side of the critical box + for k in nI[1][2] + push!(Edg, (ite, Corr[i][j][3][k])) + end + ite += 1 + end + ########################### + # Above the critical point + for k in length(I[1][1]) - length(nI[1][1]) - ymincrit:-1:1 + push!(Vert, (xcrit[i][j], (I[1][1][end - k + 1] + I[1][2][end - k + 1]) / 2)) + push!(Corr[i][j][2][3], ite) + push!(Edg, (Corr[i][j][1][1][end - k + 1], ite)) # left + push!(Edg, (ite, Corr[i][j][3][end - k + 1])) # right + ite += 1 + end +end \ No newline at end of file diff --git a/src/connectcurves/src/resultant/Makefile b/src/connectcurves/src/resultant/Makefile new file mode 100644 index 0000000..4711740 --- /dev/null +++ b/src/connectcurves/src/resultant/Makefile @@ -0,0 +1,18 @@ +CC = gcc + +CPP = g++ + +GMP_INC_DIR=. +GMP_LIB_DIR=. + +LIB_PATHS = -L/usr/local/lib/ -L/opt/OpenBLAS/lib +INC_PATHS = -I/usr/local/include -I/opt/OpenBLAS/include + +CFLAGS = -std=c99 -O3 -msse -mavx -Wall -pedantic -funroll-loops --param max-unroll-times=2 -fomit-frame-pointer -fexpensive-optimizations + +LDFLAGS = $(DEBUG) $(LIB_PATHS) -static-libgcc -fopenmp -lgmp -lmpfr -lflint -lm -lopenblas -lpthread +LDFLAGS0 = -Wall $(DEBUG) $(LIB_PATHS) -lgmp -lmpfr -lflint -lm + +flint: + $(CC) -O3 -static main.c -o bresultant $(LDFLAGS) /usr/lib/x86_64-linux-gnu/libmpfr.a /usr/lib/x86_64-linux-gnu/libgmp.a /usr/lib/x86_64-linux-gnu/libflint.a + diff --git a/src/connectcurves/src/resultant/__pycache__/bresultant.cpython-310.pyc b/src/connectcurves/src/resultant/__pycache__/bresultant.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3b81aa47e6fccbece66b48ab4c4875cb575ce32c GIT binary patch literal 3376 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 yK~=!2%&zRHcDkhC`CG;`HV1_mWyxduheAm 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%0DcZ8 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%0DKK2XUgYSsIrw`2@uX9kZIb)Fj)IeF{5B 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%0A( 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%0A~yP!SW0|&#*O)J(;QWpxAxn~>n2|ioN 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 z

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

*g5Qen7ESPw1@ylIQmDd6_uxANlY%owU;n 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 "", ":" => "", ";" => "") + L = eval(Meta.parse(s)) + close(ff) + return L +end + +function Bresultant(f, g; fname1="/tmp/in.bs", fname2="/tmp/out.bs", bspath="./bresultant", v=0) + ToBresultant(f, g, fname1) + out = run(pipeline(`$bspath -f $fname1 -o $fname2`, stderr="/tmp/err.log.bs")) + if v > 0 + ff = open("/tmp/err.log.bs", "r") + println(read(ff, String)) + close(ff) + end + #if v == 1 + # println(split(stderr(out), '\n')[end - 1] |> x -> split(x, ": ")[end] * "s") + #elseif v == 2 + # println(stderr(out)) + #end + return FromBresultant(fname2) +end + +#using Nemo +#R, (x,y) = Nemo.polynomial_ring(Nemo.ZZ, [:x,:y]) +#f = x^2+4*x+x*y-y^2+3*y-4 +#g = derivative(f,y) diff --git a/src/connectcurves/src/resultant/bresultant.sage b/src/connectcurves/src/resultant/bresultant.sage new file mode 100644 index 0000000..697a10d --- /dev/null +++ b/src/connectcurves/src/resultant/bresultant.sage @@ -0,0 +1,85 @@ +""" +25/02/2023 +""" + +import os +import subprocess + +def PolyToBRstring(f): + fc, fe = f.coefficients(), f.exponents() + s = "{} 2\n".format(len(fc)) + M = [ "{} {} {}".format(fc[i], fe[i][1], fe[i][0]) for i in range(len(fc)) ] + s += "\n".join(M) + return s + +def BRstringToPoly(s): + Ls = s.split("\n") + Ls = [ ls.split(" ") for ls in Ls] + Ls = [ [int(l) for l in ls] for ls in Ls ] + + A. = ZZ[] + F, i = [], 0 + while i = ZZ[] + f = open(foutput,'r') + s = f.read() + s = s.replace("\n","").replace(":","").replace(";","") + L = sage_eval(s, locals={'x': x, 'y': y}) + return L + +def Bresultant(f, g, fname1="/tmp/in.bs", fname2="/tmp/out.bs", bspath="./bresultant", v=0): + ToBresultant(f, g, fname1) + out = subprocess.run([bspath, "-f", fname1, "-o", fname2], capture_output=True,text=True) + if v==1: + print((out.stderr).split('\n')[-2].split(': ')[-1]+'s') + if v==2: + print(out.stderr) + return FromBresultant(fname2) + +#A. = ZZ[] +#f=A.random_element() +#g=diff(f,y) +#Bresultant(f,g,v=2) +#FromBresultant("p") diff --git a/src/connectcurves/src/resultant/data.c b/src/connectcurves/src/resultant/data.c new file mode 100644 index 0000000..2cd5744 --- /dev/null +++ b/src/connectcurves/src/resultant/data.c @@ -0,0 +1,387 @@ +#include "data.h" + +//alloue ce qu'il faut, connaissant le degree deg de la param. +static fmpz_param_t *allocate_degree_sepelem_fmpz_param(ulong deg, + mp_ptr sepelem, + int nvars){ + fmpz_param_t *param = malloc(sizeof(fmpz_param_t)); + + param->recons = 0; + param->nvars = nvars; + param->degree = deg; + param->sepelem = sepelem; + param->coords = malloc(sizeof(fmpz_poly_t) * param->nvars); + param->coords_num = malloc(sizeof(fmpz_poly_t) * param->nvars); + param->coords_den = malloc(sizeof(fmpz_poly_t) * param->nvars); + param->coords_lcm = malloc(sizeof(fmpz_t) * param->nvars); + for(ulong i = 0; i < param->nvars; i++){ + fmpz_poly_init2(param->coords[i], deg); + fmpz_poly_init2(param->coords_num[i], deg); + fmpz_poly_init2(param->coords_den[i], deg); + fmpz_init(param->coords_lcm[i]); + fmpz_one(param->coords_lcm[i]); + for(ulong j = 0; j < deg; j++){ + fmpz_poly_set_coeff_ui(param->coords[i], j, 1); + fmpz_poly_set_coeff_ui(param->coords_num[i], j, 1); + fmpz_poly_set_coeff_ui(param->coords_den[i], j, 1); + } + } + + fmpz_poly_init2(param->denom, deg + 1); + fmpz_poly_init2(param->elim, deg + 1); + + fmpz_poly_init2(param->elim_num, deg + 1); + fmpz_poly_init2(param->denom_num, deg + 1); + + fmpz_poly_init2(param->elim_den, deg + 1); + fmpz_poly_init2(param->denom_den, deg + 1); + + fmpz_init(param->elim_lcm); + fmpz_init(param->denom_lcm); + + fmpz_one(param->elim_lcm); + fmpz_one(param->denom_lcm); + + for(ulong j = 0; j <= deg; j++){ + fmpz_poly_set_coeff_ui(param->denom, j, 1); + fmpz_poly_set_coeff_ui(param->elim, j, 1); + + fmpz_poly_set_coeff_ui(param->denom_num, j, 1); + fmpz_poly_set_coeff_ui(param->elim_num, j, 1); + + fmpz_poly_set_coeff_ui(param->denom_den, j, 1); + fmpz_poly_set_coeff_ui(param->elim_den, j, 1); + } + param->rec_elim = 0; + param->rec_denom = 0; + param->rec_coords = malloc(sizeof(ulong)*nvars); + for(int i = 0; i < nvars; i++){ + param->rec_coords[i] = 0; + } + return param; +} + + +static void allocate_degrees_sepelem_fmpz_all_params(fmpz_all_params_t * fmpz_all_params, + data_heap_t *heap, + mp_ptr sepelem, + int nb_params, int nvars){ + + fmpz_all_params->nparams = nb_params; + fmpz_all_params->params = malloc(sizeof(fmpz_param_t *) * fmpz_all_params->nparams); + for(int i = 0; i < fmpz_all_params->nparams; i++){ + fmpz_all_params->params[i] = + allocate_degree_sepelem_fmpz_param((heap->sqf_part->p + i)->length - 1, sepelem, nvars); + } + +} + + +static nmod_param_t *allocate_nmod_param(int nvars, mp_limb_t prime){ + nmod_param_t *param = malloc(sizeof(nmod_param_t)); + param->nvars = nvars; + param->degree = 0; + param->sepelem = NULL; + param->coords = malloc(sizeof(nmod_poly_t) * param->nvars); + for(int i = 0; i < param->nvars; i++){ + nmod_poly_init(param->coords[i], prime); + } + nmod_poly_init(param->denom, prime); + nmod_poly_init(param->elim, prime); + + return param; +} + +static nmod_param_t *allocate_degree_sepelem_nmod_param(ulong deg, mp_ptr sepelem, + int nvars, mp_limb_t prime){ + nmod_param_t *param = malloc(sizeof(nmod_param_t)); + param->nvars = nvars; + param->degree = deg; + param->sepelem = sepelem; + param->coords = malloc(sizeof(nmod_poly_t) * param->nvars); + for(int i = 0; i < param->nvars; i++){ + nmod_poly_init2(param->coords[i], prime, deg); + } + nmod_poly_init2(param->denom, prime, deg); + nmod_poly_init2(param->elim, prime, deg + 1); + + return param; +} + + +static nmod_all_params_t *allocate_nmod_all_params(int nb_params, int nvars, + mp_limb_t prime){ + nmod_all_params_t *nmod_all_params = malloc(sizeof(nmod_all_params_t)); + nmod_all_params->nparams = nb_params; + nmod_all_params->params = malloc(sizeof(nmod_param_t *) * nmod_all_params->nparams); + for(int i = 0; i < nmod_all_params->nparams; i++){ + nmod_all_params->params[i] = allocate_nmod_param(nvars, prime); + } + return nmod_all_params; +} + +static nmod_all_params_t *allocate_degrees_sepelem_nmod_all_params(data_heap_t *heap, + mp_ptr sepelem, + int nb_params, int nvars, + mp_limb_t prime){ + nmod_all_params_t *nmod_all_params = malloc(sizeof(nmod_all_params_t)); + nmod_all_params->nparams = nb_params; + nmod_all_params->params = malloc(sizeof(nmod_param_t *) * nmod_all_params->nparams); + for(int i = 0; i < nmod_all_params->nparams; i++){ + nmod_all_params->params[i] = + allocate_degree_sepelem_nmod_param((heap->sqf_part->p+i)->length - 1, + sepelem, + nvars, prime); + } + return nmod_all_params; +} + +static void free_bsolve_fmpz_param(bsolve_fmpz_param_t *param){ + fmpz_poly_clear(param->elim); + fmpz_poly_clear(param->denom); + for(int i = 0; i < param->nvars; i++){ + fmpz_poly_clear(param->coords[i]); + fmpz_clear(param->cfs[i]); + } + free(param->sepelem); + free(param->coords); + free(param->cfs); + free(param); +} + +static void free_bsolve_fmpz_all_params(bsolve_fmpz_all_params_t *allpars){ + for(int i = 0; i < allpars->nparams; i++ ){ + free_bsolve_fmpz_param(allpars->params[i]); + } + free(allpars); +} + +static void free_nmod_param(nmod_param_t *param){ + for(int i = 0; i < param->nvars; i++){ + nmod_poly_clear(param->coords[i]); + } + nmod_poly_clear(param->denom); + nmod_poly_clear(param->elim); + + free(param); +} + +static void free_nmod_all_params(nmod_all_params_t *nmod_all_params){ + for(int i = 0; i < nmod_all_params->nparams; i++){ + free_nmod_param(nmod_all_params->params[i]); + } + free(nmod_all_params); +} + +static void free_fmpz_param(fmpz_param_t *param){ + for(int i = 0; i < param->nvars; i++){ + fmpz_poly_clear(param->coords[i]); + } + fmpz_poly_clear(param->denom); + fmpz_poly_clear(param->elim); + free(param->rec_coords); + free(param); +} + +static void free_fmpz_all_params(fmpz_all_params_t *fmpz_all_params){ + for(int i = 0; i < fmpz_all_params->nparams; i++){ + free_fmpz_param(fmpz_all_params->params[i]); + } + free(fmpz_all_params); +} + +/* + + tdeg = total degree + mdeg = main degree + sdeg = degree in the other variable + +*/ +static data_heap_t *allocate_data_heap(slong tdegA, slong tdegB, + slong mdegA, slong mdegB, + slong sdegA, slong sdegB, + int size_mod_array){ + if(mdegA < mdegB){ + fprintf(stderr, "Bad call to allocator (error in degrees)\n"); + exit(1); + } + + data_heap_t * heap_bsolve = (data_heap_t *)(malloc(sizeof(data_heap_t))); + heap_bsolve->size_mod_array = size_mod_array; + heap_bsolve->nmod_coeffs_array = _nmod_vec_init(3 * (mdegA + 1)); + + heap_bsolve->npts = MIN(tdegA * tdegB + 1, mdegB * sdegA + mdegA * sdegB + 1); + + heap_bsolve->primes_array = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_mod_array)); + + mp_limb_t prime = n_nextprime(1152921504606847009, 0); + heap_bsolve->a_mod_eval_all = malloc(sizeof(mp_ptr) * (mdegA + 1)); + for(ulong i = 0; i<=mdegA; i++){ + heap_bsolve->a_mod_eval_all[i] = malloc(sizeof(mp_limb_t) * heap_bsolve->npts); + } + + heap_bsolve->b_mod_eval_all = malloc(sizeof(mp_ptr) * (mdegB + 1)); + for(ulong i = 0; i<=mdegB; i++){ + heap_bsolve->b_mod_eval_all[i] = malloc(sizeof(mp_limb_t) * heap_bsolve->npts); + } + + + nmod_poly_init2(heap_bsolve->a_mod_eval, prime, mdegA + 1); + heap_bsolve->a_mod_eval->length = mdegA + 1; + nmod_poly_init2(heap_bsolve->b_mod_eval, prime, mdegB + 1); + heap_bsolve->b_mod_eval->length = mdegB + 1; + + heap_bsolve->res_mod_eval = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * 2 * heap_bsolve->npts)); + heap_bsolve->ev_pts = heap_bsolve->res_mod_eval + heap_bsolve->npts; + + heap_bsolve->par_h_mod_eval = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * 2 * heap_bsolve->npts)); + heap_bsolve->par_t_mod_eval = heap_bsolve->par_h_mod_eval + heap_bsolve->npts; + + heap_bsolve->tree = _nmod_poly_tree_alloc(heap_bsolve->npts); + + heap_bsolve->a_mod = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * (mdegA + 1 + mdegB + 1))); + heap_bsolve->b_mod = heap_bsolve->a_mod + mdegA + 1; + + for(ulong i = 0; i <= mdegA; i++){ + nmod_poly_init(heap_bsolve->a_mod[i], prime); + } + for(ulong i = 0; i <= mdegB; i++){ + nmod_poly_init(heap_bsolve->b_mod[i], prime); + } + heap_bsolve->res_mod_array = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * ( 1 + size_mod_array ))); + for(ulong i = 0; i <= size_mod_array; i++){ + nmod_poly_init(heap_bsolve->res_mod_array[i], prime); + } + heap_bsolve->res_mod = heap_bsolve->res_mod_array + size_mod_array; + + heap_bsolve->res_mod_prime_array = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * ( size_mod_array ))); + for(ulong i = 0; i < size_mod_array; i++){ + nmod_poly_init(heap_bsolve->res_mod_prime_array[i], prime); + } + + heap_bsolve->par_h_mod_array = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * ( size_mod_array ))); + for(ulong i = 0; i < size_mod_array; i++){ + nmod_poly_init(heap_bsolve->par_h_mod_array[i], prime); + } + + heap_bsolve->par_t_mod_array = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * ( size_mod_array ))); + for(ulong i = 0; i < size_mod_array; i++){ + nmod_poly_init(heap_bsolve->par_t_mod_array[i], prime); + } + + heap_bsolve->GCDINV = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * ( size_mod_array ))); + for(ulong i = 0; i < size_mod_array; i++){ + nmod_poly_init(heap_bsolve->GCDINV[i], prime); + } + + heap_bsolve->prod_primes = (fmpz_t *)(malloc(sizeof(fmpz_t)*(size_mod_array + 1))); + + for(int i = 0; i <= size_mod_array; i++){ + fmpz_init(heap_bsolve->prod_primes[i]); + fmpz_one(heap_bsolve->prod_primes[i]); + } + + nmod_poly_factor_init(heap_bsolve->sqf_part); + + heap_bsolve->nmod_lparams_array = malloc(sizeof(nmod_all_params_t *) * size_mod_array); + for(int i = 0; i < size_mod_array; i++){ + heap_bsolve->nmod_lparams_array[i] = allocate_nmod_all_params(1, 2, prime); + } + + heap_bsolve->coef = malloc(sizeof(mpz_rat_t)); + fmpz_init(heap_bsolve->coef->numer); + fmpz_init(heap_bsolve->coef->denom); + + fmpz_init(heap_bsolve->h_prod); + + fmpz_init(heap_bsolve->lcm); + fmpz_one(heap_bsolve->lcm); + + heap_bsolve->prod_mod = malloc(sizeof(fmpz_t)); + fmpz_init(heap_bsolve->prod_mod[0]); + //allocation si besoin dans la fonction de calcul de parametrisation + //square-free (quand le resultant ne l'est pas) + return heap_bsolve; +} + + +static void free_data_heap(slong mdegA, slong mdegB, + int size_mod_array, data_heap_t *heap_bsolve){ + + _nmod_vec_clear(heap_bsolve->nmod_coeffs_array); + nmod_poly_factor_clear(heap_bsolve->sqf_part); + _nmod_poly_tree_free(heap_bsolve->tree, heap_bsolve->npts); + + free(heap_bsolve->primes_array); + + for(ulong i = 0; i<=mdegA; i++){ + free(heap_bsolve->a_mod_eval_all[i]); + } + free(heap_bsolve->a_mod_eval_all); + + for(ulong i = 0; i<=mdegB; i++){ + free(heap_bsolve->b_mod_eval_all[i]); + } + free(heap_bsolve->b_mod_eval_all); + + nmod_poly_clear(heap_bsolve->a_mod_eval); + nmod_poly_clear(heap_bsolve->b_mod_eval); + + free(heap_bsolve->res_mod_eval); + free(heap_bsolve->par_h_mod_eval); + + for(ulong i = 0; i <= mdegA; i++){ + nmod_poly_clear(heap_bsolve->a_mod[i]); + } + for(ulong i = 0; i <= mdegB; i++){ + nmod_poly_clear(heap_bsolve->b_mod[i]); + } + free(heap_bsolve->a_mod); + + for(ulong i = 0; i <= size_mod_array; i++){ + nmod_poly_clear(heap_bsolve->res_mod_array[i]); + } + free(heap_bsolve->res_mod_array); + + for(ulong i = 0; i < size_mod_array; i++){ + nmod_poly_clear(heap_bsolve->res_mod_prime_array[i]); + } + free(heap_bsolve->res_mod_prime_array); + + for(ulong i = 0; i < size_mod_array; i++){ + nmod_poly_clear(heap_bsolve->par_h_mod_array[i]); + } + free(heap_bsolve->par_h_mod_array); + + for(ulong i = 0; i < size_mod_array; i++){ + nmod_poly_clear(heap_bsolve->par_t_mod_array[i]); + } + free(heap_bsolve->par_t_mod_array); + + for(ulong i = 0; i < size_mod_array; i++){ + nmod_poly_clear(heap_bsolve->GCDINV[i]); + } + free(heap_bsolve->GCDINV); + + for(int i = 0; i <= size_mod_array; i++){ + fmpz_clear(heap_bsolve->prod_primes[i]); + } + + fmpz_clear(heap_bsolve->coef->numer); + fmpz_clear(heap_bsolve->coef->denom); + free(heap_bsolve->coef); + + fmpz_clear(heap_bsolve->h_prod); + fmpz_clear(heap_bsolve->lcm); + fmpz_clear(heap_bsolve->prod_mod[0]); + free(heap_bsolve->prod_mod); + + //attention : ecrire une fonction speciale pour desallouer ces zones car elles + //ne sont allouees que quand c'est necessaire (resultant non square-free et + //calcul de parametrisation) + + /* for(int i = 0; i < size_mod_array; i++){ */ + /* free_nmod_all_params(heap_bsolve->nmod_lparams_array[i]); */ + /* } */ + free(heap_bsolve->nmod_lparams_array); +} diff --git a/src/connectcurves/src/resultant/data.h b/src/connectcurves/src/resultant/data.h new file mode 100644 index 0000000..70fba5a --- /dev/null +++ b/src/connectcurves/src/resultant/data.h @@ -0,0 +1,150 @@ +typedef struct{ + fmpz_t numer; + fmpz_t denom; +} mpz_rat_t; + + +typedef struct{ + int nvars; + mp_ptr sepelem; + fmpz_poly_t * coords; + fmpz_poly_t denom; + fmpz_poly_t elim; + fmpz_t *cfs; +} bsolve_fmpz_param_t; + + +typedef struct{ + int nparams; + bsolve_fmpz_param_t **params; +} bsolve_fmpz_all_params_t; + +typedef struct{ + int recons; + int nvars; + int degree; + mp_ptr sepelem; + fmpz_poly_t * coords; // numerateurs des parametrisations + fmpz_poly_t denom; //denominateur + fmpz_poly_t elim; //polynome eliminant + fmpz_poly_t * coords_num; // numerateurs des parametrisations + fmpz_poly_t denom_num; //denominateur + fmpz_poly_t elim_num; //polynome eliminant + fmpz_poly_t * coords_den; // numerateurs des parametrisations + fmpz_poly_t denom_den; //denominateur + fmpz_poly_t elim_den; //polynome eliminant + fmpz_t * coords_lcm; // numerateurs des parametrisations + fmpz_t denom_lcm; //denominateur + fmpz_t elim_lcm; //polynome eliminant + ulong *rec_coords; + ulong rec_denom; + ulong rec_elim; +} fmpz_param_t; + + +typedef struct{ + int nvars; //nvars est le nbre de variables initiales. + ulong degree; // degre de la parametrisation + mp_ptr sepelem; + nmod_poly_t * coords; // numerateurs des parametrisations + //on en a autant que de coordonnees initiales + nmod_poly_t denom; // polynome denomninateur + nmod_poly_t elim; // polynome eliminant +} nmod_param_t; +// donc au total on a exactement nvars + 1 polynomes + + +typedef struct{ + int nparams; // nombre de parametrisations + fmpz_param_t **params; // tableau de parametrisations +} fmpz_all_params_t; + + +typedef struct{ + int nparams; + nmod_param_t **params; +} nmod_all_params_t; + + +typedef struct{ + int verb ; + int task ; // 0 -> parametrisation + // 1 -> square-free resultant + // 2 -> resultant + int binary ; // 1 -> output file in binary format + char *input_file ; + char *output_file ; +} bsolve_flags; + +/* + + Zone memoire pour donnees intermediaires. + + Le but est de calculer le resultant de A et B qui sont des polynomes bivaries. + (ou bien de calculer une parametrisation rationnelle des solutions) + +*/ +typedef struct +{ + ulong size_mod_array; + mp_ptr nmod_coeffs_array; // tableau pour suite des restes euclidiens + ulong npts; // nbre de points pour l'evaluation interpolation + + mp_ptr primes_array; // tableau de premiers utilises pour les calculs + // multi-modulaires + mp_ptr ev_pts; // tableau contenant les points d'evaluation utilises pour + // l'interpolation + mp_ptr *tree; // arbre pour l'evaluation rapide multi-point + mp_ptr *a_mod_eval_all; // tableau qui recevra les coeffs de A mod prime + // dont on a specialise une variable aux entrees + // de ev_pts + mp_ptr *b_mod_eval_all; // tableau qui recevra les coeffs de B mod prime + // dont on a specialise une variable aux entrees + // de ev_pts + nmod_poly_t a_mod_eval; // evaluation de a_mod + nmod_poly_t b_mod_eval; // evaluation de b_mod + + nmod_poly_t * a_mod; // image modulare de A + nmod_poly_t * b_mod; // image modulaire de B + + + mp_ptr res_mod_eval; // tableau recevant les specialisations du resultant de + // A mod prime et B mod prime + + nmod_poly_t * res_mod_array; // tableau contenant les images modulaires du resultant + nmod_poly_t * res_mod_prime_array; // tableau contenant les images modulaires + // de la derivee du resultant + nmod_poly_t * res_mod; // tableau contenant une image modulaire du resultant ; + // sera utilise pour verifier qu'on a fini le calcul + + // la longueur de ces tableaux est la meme que celle de res_mod_eval + mp_ptr par_h_mod_eval; // tableau recevant les coeffs dominants de + // sous-resultants (univaries) de degre 1 + // ici on a evalue une variable + mp_ptr par_t_mod_eval; // tableau recevant les coeffs constants de + // sous-resultants (univaries) de degre 1 + // ici on a evalue une variable + + nmod_poly_t * par_h_mod_array; // tableau contenant les images modulaires du + // coeff dominant du sous-resultant de degre 1 + nmod_poly_t * par_t_mod_array; // tableau contenant les images modulaires du + // coeff constant du sous-resultant de degre 1 + + nmod_poly_t * GCDINV; // quand le GCD du coeff de dom. du + // sous-resultant de degre 1 avec le resultant est = 1 on inverse le coeff + // dominant modulo le resultant + + nmod_all_params_t **nmod_lparams_array; //tableau contenant des images + //modulaires des parametrisations + + fmpz_t *prod_primes; // contiendra des produits de nbre premiers + nmod_poly_factor_t sqf_part; // contiendra la partie square-free + + //data pour les reconstructions. + fmpz_t *prod_mod; + mpz_rat_t *coef; + fmpz_t h_prod; + fmpz_t lcm; + fmpz_t *coef_num_array; + fmpz_t *coef_den_array; +} data_heap_t; diff --git a/src/connectcurves/src/resultant/flint_euclide.c b/src/connectcurves/src/resultant/flint_euclide.c new file mode 100644 index 0000000..df86f74 --- /dev/null +++ b/src/connectcurves/src/resultant/flint_euclide.c @@ -0,0 +1,355 @@ +/* + Functions below are very slight modifications of FLINT file + resultant_euclidean.c which is part of FLINT. + + Copyright (C) 2007, 2008 William Hart + Copyright (C) 2011 Sebastian Pancratz + FLINT is free software: you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License (LGPL) as published + by the Free Software Foundation; either version 2.1 of the License, or + (at your option) any later version. See . +*/ + +//taken from FLINT +#define MYMPN_NORM(a, an) \ + do { \ + while ((an) != 0 && (a)[(an) - 1] == 0) \ + (an)--; \ + } while (0) + +static void _my_nmod_vec_scalar_mul_nmod_large(mp_ptr res, mp_srcptr vec, + slong len, mp_limb_t c, nmod_t mod){ + for (slong i = 0; i < len; i++) + { + mp_limb_t hi, lo; + umul_ppmm(hi, lo, vec[i], c); + NMOD_RED2(res[i], hi, lo, mod); /* hi already reduced mod n */ + } +} + + +static void _my_nmod_poly_rem_q1(mp_ptr R, + mp_srcptr A, slong lenA, mp_srcptr B, slong lenB, + nmod_t mod) +{ + const mp_limb_t invL = (B[lenB-1] == 1) ? 1 : n_invmod(B[lenB-1], mod.n); + + if (lenB > 1) + { + mp_limb_t t, q0, q1; + + q1 = n_mulmod2_preinv(A[lenA-1], invL, mod.n, mod.ninv); + t = n_mulmod2_preinv(q1, B[lenB-2], mod.n, mod.ninv); + t = n_submod(A[lenA-2], t, mod.n); + q0 = n_mulmod2_preinv(t, invL, mod.n, mod.ninv); + + if (FLINT_BITS + 2 <= 2 * mod.norm) + { + mpn_mul_1(R, B, lenB - 1, q0); + if (lenB > 2) + mpn_addmul_1(R + 1, B, lenB - 2, q1); + _nmod_vec_reduce(R, R, lenB - 1, mod); + } + else + { + _my_nmod_vec_scalar_mul_nmod_large(R, B, lenB - 1, q0, mod); + if (lenB > 2) + _nmod_vec_scalar_addmul_nmod(R + 1, B, lenB - 2, q1, mod); + } + + _nmod_vec_sub(R, A, R, lenB - 1, mod); + } +} + +static void _my_nmod_poly_rem(mp_ptr R, mp_srcptr A, slong lenA, + mp_srcptr B, slong lenB, nmod_t mod) +{ + TMP_INIT; + + if (lenA - lenB == 1) + { + _my_nmod_poly_rem_q1(R, A, lenA, B, lenB, mod); + } + else if (lenA < FMPZ_POLY_SQRTREM_DIVCONQUER_CUTOFF) + { + mp_ptr W; + + TMP_START; + W = TMP_ALLOC(NMOD_DIVREM_BC_ITCH(lenA, lenB, mod)*sizeof(mp_limb_t)); + + _nmod_poly_rem_basecase(R, W, A, lenA, B, lenB, mod); + TMP_END; + } + else + { + mp_ptr Q = _nmod_vec_init(lenA - lenB + 1); + + _nmod_poly_divrem(Q, R, A, lenA, B, lenB, mod); + _nmod_vec_clear(Q); + } +} + +//Les coefficients sont ranges dans le tableau par degres croissants. +//dans param on se retrouvera avec les coefficients de la parametrisation +//attention si il n'y a pas de polynome de degre 1 dans la suite des sous-resultants +//le contenu de param reste inchange (c'est pour ca qu'il faut l'initialiser a 0) +static mp_limb_t +_nmod_poly_param_euclidean_allocated(mp_srcptr poly1, slong len1, + mp_srcptr poly2, slong len2, + nmod_t mod, mp_ptr w, + mp_ptr head, + mp_ptr tail) +{ + if(DEBUG>3){ + fprintf(stderr, "lengths = [%ld, %ld], prime = %ld\n", len1, len2, mod.n); + } + if (poly1 == poly2) + { + return 0; + } + else if (len2 == 1) + { + if (len1 == 1) + { + return 1; + } + else if (len1 == 2) + { + head[0] = poly1[1]; + tail[0] = poly1[0]; + return poly2[0]; + } + else + { + return n_powmod2_ui_preinv(poly2[0], len1 - 1, mod.n, mod.ninv); + } + } + else{ /* len1 >= len2 >= 2 */ + if(len2 == 2){ + head[0] = poly2[1]; + tail[0] = poly2[0]; + } + mp_limb_t res = 1; + + mp_ptr u, v, r, t; + slong l0, l1, l2; + mp_limb_t lc; + + u = w; + v = w + len1; + r = v + len1; + //u == poly1 + _nmod_vec_set(u, poly1, len1); + //v == poly2 + _nmod_vec_set(v, poly2, len2); + l1 = len1; + l2 = len2; + + if(DEBUG>5){ + fprintf(stderr, "Affichage de u\n"); + nmod_vec_print(stderr, u, len1); + fprintf(stderr, "Affichage de v\n"); + nmod_vec_print(stderr, v, len2); + } + + do + { + l0 = l1; + l1 = l2; + //coefficient dominant de v + lc = v[l1 - 1]; + + if(DEBUG>5){ + fprintf(stderr, "u = "); + nmod_vec_print(stderr, u, l0); + fprintf(stderr, "v = "); + nmod_vec_print(stderr, v, l1); + } + //u est de longueur l0, v est de longueur l1 + //r = remainder(u, v) + _my_nmod_poly_rem(r, u, l0, v, l1, mod); + // _nmod_poly_rem(r, u, l0, v, l1, mod); + l2 = l1 - 1; + //determine la longueur de r (decremente l2 tant que le top coeff == 0) + //r est de degre l2 - 1 + MYMPN_NORM(r, l2); + if(DEBUG>5){ + fprintf(stderr, "r = "); + nmod_vec_print(stderr, r, l2); + fprintf(stderr, "l0 = %ld\n", l0); + fprintf(stderr, "l1 = %ld\n", l1); + fprintf(stderr, "l2 = %ld\n", l2); + fprintf(stderr, "lc = %ld\n", lc); + fprintf(stderr, "res = %ld\n", res); + } + //mise a jour + { + t = u; + u = v; + v = r; + r = t; + } + if (l2 >= 1){ + lc = n_powmod2_preinv(lc, l0 - l2, mod.n, mod.ninv); + res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); + + if (((l0 | l1) & 1) == 0) + { + if(DEBUG>5){ + fprintf(stderr, "[%ld, %ld] ", l0, l1); + } + res = nmod_neg(res, mod); + } + if(l2==2){ /* degree of the remainder -- which is now stored in v -- is 1 */ + mp_limb_t hi, lo; //, c; + umul_ppmm(hi, lo, v[0], res); + NMOD_RED2(tail[0], hi, lo, mod); /* hi already reduced mod n */ + hi = 0; lo = 0; + umul_ppmm(hi, lo, v[1], res); + NMOD_RED2(head[0], hi, lo, mod); /* hi already reduced mod n */ + } + if(l2==1){/* degree of the remainder -- which is now stored in v -- is 0 */ + /* head[0] = u[1]; */ + /* tail[0] = u[0]; */ + /* fprintf(stderr, "--> head = %ld\n", head[0]); */ + /* fprintf(stderr, "--> tail = %ld\n", tail[0]); */ + } + } + else /* l2 == 0 */ + { + if (l1 == 1) + { + lc = n_powmod2_preinv(lc, l0 - 1, mod.n, mod.ninv); + res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); + /* head[0] = u[1]; */ + /* tail[0] = u[0]; */ + } + else + { + if(l1==2){ + fprintf(stderr, "l1 == 2 et lc = %ld\n", lc); + lc = n_powmod2_preinv(lc, l0 - 1, mod.n, mod.ninv); + fprintf(stderr, "et maintenant lc = %ld\n", lc); + res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); + fprintf(stderr, "et res = %ld\n", res); + head[0] = u[1]; + tail[0] = u[0]; + /* mp_limb_t hi, lo; //, c; */ + /* umul_ppmm(hi, lo, u[0], res); */ + /* NMOD_RED2(tail[0], hi, lo, mod); /\* hi already reduced mod n *\/ */ + /* hi = 0; lo = 0; */ + /* umul_ppmm(hi, lo, u[1], res); */ + /* NMOD_RED2(head[0], hi, lo, mod); /\* hi already reduced mod n *\/ */ + } + else{ + head[0] = 0; + tail[0] = 0; + } + res = 0; + } + } + } + while (l2 > 0); + + return res; + } +} + + +//Les coefficients sont ranges dans le tableau par degre croissant. +static mp_limb_t +_nmod_poly_resultant_euclidean_allocated(mp_srcptr poly1, slong len1, + mp_srcptr poly2, slong len2, nmod_t mod, mp_ptr w) +{ + if (poly1 == poly2) + { + return 0; + } + else if (len2 == 1) + { + if (len1 == 1) + { + return 1; + } + else if (len1 == 2) + { + return poly2[0]; + } + else + { + return n_powmod2_ui_preinv(poly2[0], len1 - 1, mod.n, mod.ninv); + } + } + else /* len1 >= len2 >= 2 */ + { + mp_limb_t res = 1; + + mp_ptr u, v, r, t; + slong l0, l1, l2; + mp_limb_t lc; + + u = w; + v = w + len1; + r = v + len1; + //u == poly1 + _nmod_vec_set(u, poly1, len1); + //v == poly2 + _nmod_vec_set(v, poly2, len2); + l1 = len1; + l2 = len2; + + do + { + l0 = l1; + l1 = l2; + //coefficient dominant de v + lc = v[l1 - 1]; + + //u est de longueur l0, v est de longueur l1 + //r = remainder(u, v) + _my_nmod_poly_rem(r, u, l0, v, l1, mod); + l2 = l1 - 1; + //determine la longueur de r (decremente l2 tant que le top coeff == 0) + //r est de degre l2 - 1 + MYMPN_NORM(r, l2); + //mise a jour + { + t = u; + u = v; + v = r; + r = t; + } + + if (l2 >= 1) + { + lc = n_powmod2_preinv(lc, l0 - l2, mod.n, mod.ninv); + res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); + + if (((l0 | l1) & 1) == 0) + { + res = nmod_neg(res, mod); + } + } + else + { + if (l1 == 1) + { + lc = n_powmod2_preinv(lc, l0 - 1, mod.n, mod.ninv); + res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); + } + else + { + res = 0; + } + } + } + while (l2 > 0); + + return res; + } +} + + +/* + END OF FLINT modified resultant_euclidean.c + */ diff --git a/src/connectcurves/src/resultant/flint_resultant.c b/src/connectcurves/src/resultant/flint_resultant.c new file mode 100644 index 0000000..ba9535c --- /dev/null +++ b/src/connectcurves/src/resultant/flint_resultant.c @@ -0,0 +1,1285 @@ +/** +Author: Mohab Safey El Din + + + + **/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "flint/flint.h" +#include "flint/ulong_extras.h" +#include "flint/fmpz.h" +#include "flint/fmpz_poly.h" +#include "flint/nmod_poly.h" + +#define LOG2(X) ((unsigned) (8*sizeof (unsigned long long) - __builtin_clzll((X)) - 1)) + +#define MPN_NORM(a, an) \ + do { \ + while ((an) != 0 && (a)[(an) - 1] == 0) \ + (an)--; \ + } while (0) + + +void fmpz_poly_random_dense(fmpz_poly_t pol, slong deg, mp_bitcnt_t bits, flint_rand_t state){ + + fmpz_t coeff; + fmpz_init(coeff); + + // flint_randseed(state, (ulong) time(NULL), (ulong) clock()); + + long i; + flint_randseed(state, (ulong) clock(), (ulong)(10000*clock())); + + for(i=0;i<=deg;i++){ + fmpz_randbits(coeff, state, bits); + fmpz_poly_set_coeff_fmpz(pol, i, coeff); + flint_randseed(state, (ulong) (i), (ulong)(10000*clock()*(i+1))); + } + fmpz_clear(coeff); +} + +void fmpz_poly_random_dense_old(fmpz_poly_t pol, slong deg, mp_bitcnt_t bits){ + + fmpz_t coeff; + fmpz_init(coeff); + + flint_rand_t state; + flint_randinit(state); + // flint_randseed(state, (ulong) time(NULL), (ulong) clock()); + + long i; + + for(i=0;i<=deg;i++){ + fmpz_randbits(coeff, state, bits); + fmpz_poly_set_coeff_fmpz(pol, i, coeff); + // flint_randseed(state, (ulong) (i), (ulong)(10000*time(NULL)*(i+1))); + } + fmpz_clear(coeff); +} + +void make_mod_poly(nmod_poly_t a_mod, fmpz_poly_t A, mp_limb_t prime){ + for(unsigned long int i=0; ilength; i++){ + nmod_poly_set_coeff_ui(a_mod, i, fmpz_fdiv_ui(A->coeffs+i, prime)); + } +} + + +void run_res_flint(unsigned long int deg, flint_rand_t state){ + + unsigned long int newdeg = deg; + + puts("FLINT resultant functions (nbits = deg / 2)"); + + while(newdeg<=8090){ + unsigned long int deg1 = newdeg, deg2 = deg1; + unsigned int nbits = deg1 / 2; + + fmpz_poly_t A, B; + fmpz_poly_init2(A, deg1+1); + fmpz_poly_init2(B, deg2+1); + fmpz_poly_random_dense(A, deg1, nbits, state); + fmpz_poly_random_dense(B, deg2, nbits, state); + + fmpz_t res_normal; + fmpz_init(res_normal); + + double e_normal = 0, t; + t = omp_get_wtime(); + fmpz_poly_resultant(res_normal, A, B); + e_normal = omp_get_wtime() - t; + + fprintf(stdout, "Degree: %lu\n", newdeg); + fprintf(stdout, "Elapsed time (normal): %f\n\n", e_normal); + + if(fmpz_cmp_ui(res_normal, 0)==0){ + puts("Resultant was 0\n"); + } + newdeg = 2*newdeg; + + fmpz_poly_clear(A); + fmpz_poly_clear(B); + + } +} + +void myresultantold(fmpz_t res, fmpz_poly_t A, fmpz_poly_t B, int nthreads){ + + mp_limb_t myprime; + + unsigned long bound ; //= (deg1+deg2) * nbits + 2 * LOG2( (deg1 + deg2) ) ; + bound = (A->length + B->length - 1)*FLINT_BIT_COUNT((10*(A->length + B->length - 1) + 26)/27) + 3; + + mp_bitcnt_t bits1 = FLINT_ABS(_fmpz_vec_max_bits(A->coeffs, A->length)); + mp_bitcnt_t bits2 = FLINT_ABS(_fmpz_vec_max_bits(B->coeffs, B->length)); + + /* Upper bound Hadamard bound */ + bound += (A->length - 1)*bits1 + (B->length - 1)*bits2; + + unsigned int PRIMESIZE = 32; + + myprime = n_nextprime(1152921504606847009, 0); + // myprime = n_nextprime(4611686018427388039, 0); + fprintf(stdout,"LOG2(prime) = %d\n", LOG2(myprime)); + + unsigned int nbits_prime = 0; //LOG2(myprime); + long count = 1; + long count_primes = 0; + + double e_crt = 0, e_modular = 0, t = omp_get_wtime(); + long size_table = (bound / PRIMESIZE) + 2; + mp_limb_t * primes_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; + mp_limb_t * res_mod_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; + + while(nbits_prime < bound){ + myprime = n_nextprime(myprime, 0); + + if(fmpz_divisible_si(fmpz_poly_lead(A), myprime)==0 && + fmpz_divisible_si(fmpz_poly_lead(B), myprime)==0){ + nbits_prime += LOG2(myprime); + primes_table[count_primes] = myprime; + count_primes++; + } + else{ + fprintf(stdout, "! %ld\n", count); + } + count++; + } + fprintf(stdout, "count = %ld\n", count); + fflush(stdout); + + nmod_poly_t a, b; + nmod_poly_init2(a, myprime, A->length); + nmod_poly_init2(b, myprime, B->length); + + double t_in = 0, e_in = 0; + + omp_set_num_threads(nthreads); +#pragma omp parallel for num_threads(nthreads) + for(long i = 0; i < count_primes; i++){ + mp_limb_t res_mod; + mp_limb_t prime = primes_table[i]; + a->mod.n = prime; + a->mod.ninv = n_preinvert_limb(prime); + count_leading_zeros(a->mod.norm, prime); + + b->mod.n = myprime; + b->mod.ninv = n_preinvert_limb(prime); + count_leading_zeros(b->mod.norm, prime); + + make_mod_poly(a, A, prime); + make_mod_poly(b, B, prime); + t_in = omp_get_wtime(); + res_mod = _nmod_poly_resultant(a->coeffs, A->length, b->coeffs, B->length, a->mod); + e_in += omp_get_wtime() - t_in; + res_mod_table[i] = res_mod; + } + e_modular = omp_get_wtime() - t; + + //utilisation de fmpz_CRT pour recuperer le resultant + fmpz_t prod; + fmpz_init(prod); + fmpz_zero(res); + fmpz_one(prod); + + puts("CRT starts"); + t = omp_get_wtime() ; + for(long i = 0; i < count_primes; i++){ + fmpz_CRT_ui(res, res, prod, res_mod_table[i], primes_table[i], 1); + fmpz_mul_ui(prod, prod, primes_table[i]); + } + e_crt = omp_get_wtime() - t; + + + fprintf(stdout, "Elapsed time (multi-mod resultant): %f (%f + %f)\n", e_modular + e_crt, e_modular, e_crt); + fprintf(stdout, "Elapsed time MM in %f\n", e_in); + fprintf(stdout, "Elapsed time per mod comp. %f\n", e_in / count); + + if (fmpz_cmp_ui(res, 0)==0){ + puts("\nResultant was 0\n"); + } + fmpz_clear(prod); + + free(primes_table); + nmod_poly_clear(a); + nmod_poly_clear(b); + +} + + + +//ce resultant est parallelisable mais consomme trop de memoire (et ca nuit a ses performances) +void myresultant_mem_not_eff(fmpz_t res, fmpz_poly_t A, fmpz_poly_t B, int nthreads){ + + mp_limb_t myprime; + + unsigned long bound ; //= (deg1+deg2) * nbits + 2 * LOG2( (deg1 + deg2) ) ; + bound = (A->length + B->length - 1)*FLINT_BIT_COUNT((10*(A->length + B->length - 1) + 26)/27) + 3; + + mp_bitcnt_t bits1 = FLINT_ABS(_fmpz_vec_max_bits(A->coeffs, A->length)); + mp_bitcnt_t bits2 = FLINT_ABS(_fmpz_vec_max_bits(B->coeffs, B->length)); + + /* Upper bound Hadamard bound */ + bound += (A->length - 1)*bits1 + (B->length - 1)*bits2; + + unsigned int PRIMESIZE = 32; + + myprime = n_nextprime(1152921504606847009, 0); + // myprime = n_nextprime(4611686018427388039, 0); + fprintf(stdout,"LOG2(prime) = %d\n", LOG2(myprime)); + + unsigned int nbits_prime = 0; //LOG2(myprime); + long count = 1; + long count_primes = 0; + + double e_crt = 0, e_modular = 0, t = omp_get_wtime(); + long size_table = (bound / PRIMESIZE) + 2; + mp_limb_t * primes_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; + mp_limb_t * res_mod_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; + + fmpz * leadA = fmpz_poly_lead(A); + fmpz * leadB = fmpz_poly_lead(B); + while(nbits_prime < bound){ + myprime = n_nextprime(myprime, 0); + + if(fmpz_divisible_si(leadA, myprime)==0 && + fmpz_divisible_si(leadB, myprime)==0){ + nbits_prime += LOG2(myprime); + primes_table[count_primes] = myprime; + count_primes++; + } + else{ + fprintf(stdout, "! %ld\n", count); + } + count++; + } + fprintf(stdout, "count = %ld\n", count); + fflush(stdout); + + nmod_poly_t *amod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * count_primes)); + nmod_poly_t *bmod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * count_primes)); + + for(long i = 0 ; i < count_primes; i++){ + mp_limb_t prime = primes_table[i]; + nmod_poly_init2(amod_table[i], prime, A->length); + nmod_poly_init2(bmod_table[i], prime, A->length); + + make_mod_poly(amod_table[i], A, prime); + make_mod_poly(bmod_table[i], B, prime); + + } + double t_in = 0, e_in = 0; + + omp_set_num_threads(nthreads); +#pragma omp parallel for num_threads(nthreads) + for(long i =0 ; i < count_primes ; i++){ + + t_in = omp_get_wtime(); + mp_limb_t res_mod = _nmod_poly_resultant(amod_table[i]->coeffs, A->length, bmod_table[i]->coeffs, B->length, amod_table[i]->mod); + e_in += omp_get_wtime() - t_in; + res_mod_table[i] = res_mod; + + } + + e_modular = omp_get_wtime() - t; + + //utilisation de fmpz_CRT pour recuperer le resultant + fmpz_t prod; + fmpz_init(prod); + fmpz_zero(res); + fmpz_one(prod); + + t = omp_get_wtime() ; + for(long i = 0; i < count_primes; i++){ + fmpz_CRT_ui(res, res, prod, res_mod_table[i], primes_table[i], 1); + fmpz_mul_ui(prod, prod, primes_table[i]); + } + e_crt = omp_get_wtime() - t; + + + fprintf(stdout, "Elapsed time (multi-mod resultant): %f (%f + %f)\n", e_modular + e_crt, e_modular, e_crt); + fprintf(stdout, "Elapsed time MM in %f\n", e_in); + fprintf(stdout, "Elapsed time per mod comp. %f\n", e_in / count); + + if (fmpz_cmp_ui(res, 0)==0){ + puts("\nResultant was 0\n"); + } + fmpz_clear(prod); + + free(primes_table); + //nettoyage memoire a terminer + +} + +unsigned long int compute_bsize_norm(fmpz *l, unsigned long int s){ + fmpz_t sum, sq; + fmpz_init_set_ui(sum, 0); + fmpz_init(sq); + for(unsigned long int i = 0; i < s; i++){ + fmpz_pow_ui(sq, l+i, 2); + fmpz_add(sum, sum, sq); + } + return fmpz_bits(sum) / 2; +} + +//l1 et l2 sont 2 tableaux de coefficients de taille respectives l1 et l2 +unsigned long int compute_bsize_bound_resultant(fmpz *l1, fmpz *l2, unsigned long int s1, unsigned long int s2){ + unsigned long int b1 = compute_bsize_norm(l1, s1); + unsigned long int b2 = compute_bsize_norm(l2, s2); + return (unsigned long int) ( (s1-1) * b2 + (s2-1) * b1 ); +} + + + +static mp_limb_t +_nmod_poly_dth_resultant(mp_srcptr poly1, slong len1, + mp_srcptr poly2, slong len2, + nmod_t mod, + mp_ptr head, + slong sdeg + ) +{ + if (poly1 == poly2) + { + return 0; + } + else if (len2 == 1) + { + if (len1 == 1) + { + return 1; + } + else if (len1 == 2) + { + return poly2[0]; + } + else + { + return n_powmod2_ui_preinv(poly2[0], len1 - 1, mod.n, mod.ninv); + } + } + else /* len1 >= len2 >= 2 */ + { + mp_limb_t res = 1; + + mp_ptr u, v, r, t, w; + slong l0, l1, l2; + mp_limb_t lc; + w = _nmod_vec_init(3 * len1); + + u = w; + v = w + len1; + r = v + len1; + //u == poly1 + _nmod_vec_set(u, poly1, len1); + //v == poly2 + _nmod_vec_set(v, poly2, len2); + l1 = len1; + l2 = len2; + + do + { + l0 = l1; + l1 = l2; + //coefficient dominant de v + lc = v[l1 - 1]; + + /* if(DEBUG>3){ */ + /* fprintf(stderr, "Affichage de v\n"); */ + /* nmod_vec_print(stderr, v, l1); */ + /* } */ + + //u est de longueur l0, v est de longueur l1 + //r = remainder(u, v) + _nmod_poly_rem(r, u, l0, v, l1, mod); + l2 = l1 - 1; + //determine la longueur de r (decremente l2 tant que le top coeff == 0) + //r est de degre l2 - 1 + MPN_NORM(r, l2); + //mise a jour + { + t = u; + u = v; + v = r; + r = t; + } + + if (l2 >= 1) + { + lc = n_powmod2_preinv(lc, l0 - l2, mod.n, mod.ninv); + res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); + + if (((l0 | l1) & 1) == 0) + { + res = nmod_neg(res, mod); + } + if(l2==sdeg+1){ + mp_limb_t hi, lo; + // umul_ppmm(hi, lo, v[0], res); + // NMOD_RED2(tail[0], hi, lo, mod); /* hi already reduced mod n */ + umul_ppmm(hi, lo, v[sdeg], res); + NMOD_RED2(head[0], hi, lo, mod); /* hi already reduced mod n */ + _nmod_vec_clear(w); + return res; + } + } + else + { + if (l1 == 1) + { + lc = n_powmod2_preinv(lc, l0 - 1, mod.n, mod.ninv); + res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); + } + else + { + res = 0; + } + } + } + while (l2 > 0); + _nmod_vec_clear(w); + return res; + } +} + + + +//Calcul du resultant de A et B +//nthreads est le nombre de threads utilises +void my_dth_subresultant(fmpz_t res, fmpz_poly_t A, fmpz_poly_t B, + slong sdeg, int nthreads){ + if(A->lengthlength){ + fprintf(stderr, "Warning: polynomials have been given with increasing degree ; possible sign variation\n"); + my_dth_subresultant(res, B, A, sdeg, nthreads); + return; + } + + mp_limb_t myprime; + + unsigned long bound ; //= (deg1+deg2) * nbits + 2 * LOG2( (deg1 + deg2) ) ; + bound = (A->length + B->length - 1)*FLINT_BIT_COUNT((10*(A->length + B->length - 1) + 26)/27) + 3; + + mp_bitcnt_t bits1 = FLINT_ABS(_fmpz_vec_max_bits(A->coeffs, A->length)); + mp_bitcnt_t bits2 = FLINT_ABS(_fmpz_vec_max_bits(B->coeffs, B->length)); + + /* Upper bound Hadamard bound */ + bound += (A->length - 1)*bits1 + (B->length - 1)*bits2; + + // fprintf(stderr, "Old bound %lu\n", bound); + + bound = compute_bsize_bound_resultant(A->coeffs, B->coeffs, A->length, B->length); + + fprintf(stderr, "Output bit size bound %lu\n", bound); + + //4611686018427388039 + //1152921504606847009 + + myprime = n_nextprime(4611686018427388039, 0); + unsigned int PRIMESIZE = LOG2(myprime); + // myprime = n_nextprime(4611686018427388039, 0); + fprintf(stderr,"LOG2(prime) = %d\n", LOG2(myprime)); + + unsigned int nbits_prime = 0; //LOG2(myprime); + long count = 1; + long count_primes = 0; + + double e_end, e_start; + long size_table = (bound / PRIMESIZE) + 2; + mp_limb_t * primes_table_init = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; + mp_limb_t * primes_table = primes_table_init; + mp_limb_t * res_mod_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * nthreads)) ; + + fmpz * leadA = fmpz_poly_lead(A); + fmpz * leadB = fmpz_poly_lead(B); + e_start = omp_get_wtime(); + while(nbits_prime < bound){ + myprime = n_nextprime(myprime, 0); + if(fmpz_divisible_si(leadA, myprime)==0 && + fmpz_divisible_si(leadB, myprime)==0){ + nbits_prime += LOG2(myprime); + primes_table_init[count_primes] = myprime; + count_primes++; + } + else{ + fprintf(stderr, "! %ld\n", count); + } + count++; + } + fprintf(stderr, "count = %ld / count_primes = %ld\n", count, count_primes); + // fflush(stdout); + + nmod_poly_t *amod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * nthreads)); + nmod_poly_t *bmod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * nthreads)); + + //Il faut les initialiser + for(int i =0; i < nthreads; i++){ + mp_limb_t prime = primes_table[i]; + nmod_poly_init2(amod_table[i], prime, A->length); + nmod_poly_init2(bmod_table[i], prime, A->length); + } + mp_ptr head = malloc(sizeof(mp_limb_t)*size_table); + fprintf(stderr, "First initialization done\n\n"); + unsigned long int nblocks = count_primes / nthreads; + + // double t_in = 0, e_in = 0; + fmpz_t prod; + fmpz_init(prod); + fmpz_zero(res); + fmpz_one(prod); + int index = 0; + omp_set_num_threads(nthreads); + double e_in = 0; + + for(unsigned long int block = 0; block < nblocks; block++){ + // unsigned long int index = block*nthreads; +#pragma omp parallel for num_threads(nthreads) + for(int i =0; i < nthreads; i++){ + + mp_limb_t prime = primes_table[i]; + // fprintf(stderr, "prime = %lu\n", prime); + amod_table[i]->mod.n = prime; + amod_table[i]->mod.ninv = n_preinvert_limb(prime); + count_leading_zeros(amod_table[i]->mod.norm, prime); + + bmod_table[i]->mod.n = prime; + bmod_table[i]->mod.ninv = n_preinvert_limb(prime); + count_leading_zeros(bmod_table[i]->mod.norm, prime); + + make_mod_poly(amod_table[i], A, prime); + make_mod_poly(bmod_table[i], B, prime); + + double t_in = omp_get_wtime(); + _nmod_poly_dth_resultant(amod_table[i]->coeffs, + A->length, + bmod_table[i]->coeffs, + B->length, + amod_table[i]->mod, + head+i+index, + sdeg); + if(e_in==0){ + e_in = omp_get_wtime() - t_in; + fprintf(stderr, "\nRun time modp comp. = %f\n",e_in); + } + res_mod_table[i+index] = head[i+index]; + + } + + if(fmpz_fdiv_ui(res, primes_table[0])==res_mod_table[index]){ + // fprintf(stderr, "Probabilistic stop\n"); + break; + } + else{ + for(int i =0; i < nthreads; i++){ + // unsigned long int index = block*nthreads; + // fprintf(stderr, "Ici: %lu (%d)\n", primes_table[i+index], i); + fmpz_CRT_ui(res, res, prod, res_mod_table[i+index], primes_table[i+index], 1); + // fprintf(stderr, "La?\n"); + fmpz_mul_ui(prod, prod, primes_table[i+index]); + // fprintf(stderr, "On incremente\n"); + // fprintf(stderr, "%lu, %lu, %lu\n", primes_table_init[0], primes_table_init[1], primes_table_init[2]); + } + primes_table+=nthreads; + } + } + /* // fprintf(stderr, "after loops\n"); */ + /* // unsigned long int index = nblocks*nthreads; */ + /* for(unsigned long int i = 0; i < count_primes - index; i++){ */ + /* mp_limb_t prime = primes_table[0]; */ + + /* amod_table[i]->mod.n = prime; */ + /* amod_table[i]->mod.ninv = n_preinvert_limb(prime); */ + /* count_leading_zeros(amod_table[i]->mod.norm, prime); */ + + /* bmod_table[i]->mod.n = prime; */ + /* bmod_table[i]->mod.ninv = n_preinvert_limb(prime); */ + /* count_leading_zeros(bmod_table[i]->mod.norm, prime); */ + + /* make_mod_poly(amod_table[i], A, prime); */ + /* make_mod_poly(bmod_table[i], B, prime); */ + + + /* // t_in = omp_get_wtime(); */ + /* mp_limb_t res_mod = _nmod_poly_dth_resultant( */ + /* amod_table[i]->coeffs, */ + /* A->length, */ + /* bmod_table[i]->coeffs, */ + /* B->length, */ + /* amod_table[i]->mod, */ + /* head+i+index, */ + /* sdeg); */ + /* // e_in += omp_get_wtime() - t_in; */ + + /* res_mod_table[i+index] = head[i+index]; */ + + /* if(fmpz_fdiv_ui(res, primes_table[0])==res_mod_table[i+index]){ */ + /* break; */ + /* } */ + /* else{ */ + /* fmpz_CRT_ui(res, res, prod, res_mod_table[i+index], primes_table[i+index], 1); */ + /* fmpz_mul_ui(prod, prod, primes_table[i+index]); */ + /* primes_table++; */ + /* } */ + /* } */ + e_end = omp_get_wtime() - e_start; + + + //utilisation de fmpz_CRT pour recuperer le resultant + //Obsolete + + /* t = omp_get_wtime() ; */ + /* for(long i = 0; i < count_primes; i++){ */ + /* fmpz_CRT_ui(res, res, prod, res_mod_table[i], primes_table[i], 1); */ + /* fmpz_mul_ui(prod, prod, primes_table[i]); */ + /* } */ + /* e_crt = omp_get_wtime() - t; */ + fprintf(stderr, "Bit size of the result = %ld\n", fmpz_bits(res)); + fprintf(stderr, "Elapsed time (multi-mod resultant): %f\n", e_end); + // fprintf(stderr, "Elapsed time MM in %f\n", e_in); + // fprintf(stderr, "Elapsed time per mod comp. %f\n", e_in / count); + + if (fmpz_cmp_ui(res, 0)==0){ + fprintf(stderr,"\nResultant was 0\n"); + } + fmpz_clear(prod); + + free(primes_table_init); + + for(int i = 0; i < nthreads; i++){ + nmod_poly_clear(amod_table[i]); + nmod_poly_clear(bmod_table[i]); + } + + free(res_mod_table); + free(amod_table); + free(bmod_table); + + //nettoyage memoire a terminer + +} + + +//Calcul du resultant de A et B +//nthreads est le nombre de threads utilises +void myresultant(fmpz_t res, fmpz_poly_t A, fmpz_poly_t B, int nthreads){ + if(A->lengthlength){ + fprintf(stderr, "Warning: polynomials have been given with increasing degree ; possible sign variation\n"); + myresultant(res, B, A, nthreads); + return; + } + + mp_limb_t myprime; + + unsigned long bound ; //= (deg1+deg2) * nbits + 2 * LOG2( (deg1 + deg2) ) ; + bound = (A->length + B->length - 1)*FLINT_BIT_COUNT((10*(A->length + B->length - 1) + 26)/27) + 3; + + mp_bitcnt_t bits1 = FLINT_ABS(_fmpz_vec_max_bits(A->coeffs, A->length)); + mp_bitcnt_t bits2 = FLINT_ABS(_fmpz_vec_max_bits(B->coeffs, B->length)); + + /* Upper bound Hadamard bound */ + bound += (A->length - 1)*bits1 + (B->length - 1)*bits2; + + bound = compute_bsize_bound_resultant(A->coeffs, B->coeffs, A->length, B->length); + + fprintf(stderr, "Output bit size bound %lu\n", bound); + + //4611686018427388039 + myprime = n_nextprime(1152921504606847009, 0); + unsigned int PRIMESIZE = LOG2(myprime); + // myprime = n_nextprime(4611686018427388039, 0); + fprintf(stderr,"LOG2(prime) = %d\n", LOG2(myprime)); + + unsigned int nbits_prime = 0; //LOG2(myprime); + long count = 1; + long count_primes = 0; + + double e_end, e_start; //= omp_get_wtime(); + long size_table = (bound / PRIMESIZE) + 2; + mp_limb_t * primes_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; + mp_limb_t * res_mod_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; + + fmpz * leadA = fmpz_poly_lead(A); + fmpz * leadB = fmpz_poly_lead(B); + e_start = omp_get_wtime(); + while(nbits_prime < bound){ + myprime = n_nextprime(myprime, 0); + if(fmpz_divisible_si(leadA, myprime)==0 && + fmpz_divisible_si(leadB, myprime)==0){ + nbits_prime += LOG2(myprime); + primes_table[count_primes] = myprime; + count_primes++; + } + else{ + fprintf(stderr, "! %ld\n", count); + } + count++; + } + fprintf(stderr, "count = %ld / count_primes = %ld\n", count, count_primes); + // fflush(stdout); + + nmod_poly_t *amod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * nthreads)); + nmod_poly_t *bmod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * nthreads)); + + //Il faut les initialiser + for(int i =0; i < nthreads; i++){ + mp_limb_t prime = primes_table[i]; + nmod_poly_init2(amod_table[i], prime, A->length); + nmod_poly_init2(bmod_table[i], prime, A->length); + } + fprintf(stderr, "First initialization done\n\n"); + unsigned long int nblocks = count_primes / nthreads; + + // double t_in = 0, e_in = 0; + fmpz_t prod; + fmpz_init(prod); + fmpz_zero(res); + fmpz_one(prod); + + omp_set_num_threads(nthreads); + for(unsigned long int block = 0; block < nblocks; block++){ + unsigned long int index = block*nthreads; +#pragma omp parallel for num_threads(nthreads) + for(int i =0; i < nthreads; i++){ + + mp_limb_t prime = primes_table[i+index]; + + amod_table[i]->mod.n = prime; + amod_table[i]->mod.ninv = n_preinvert_limb(prime); + count_leading_zeros(amod_table[i]->mod.norm, prime); + + bmod_table[i]->mod.n = prime; + bmod_table[i]->mod.ninv = n_preinvert_limb(prime); + count_leading_zeros(bmod_table[i]->mod.norm, prime); + + make_mod_poly(amod_table[i], A, prime); + make_mod_poly(bmod_table[i], B, prime); + + + // t_in = omp_get_wtime(); + mp_limb_t res_mod = _nmod_poly_resultant( + amod_table[i]->coeffs, + A->length, + bmod_table[i]->coeffs, + B->length, + amod_table[i]->mod); + // e_in += omp_get_wtime() - t_in; + + res_mod_table[i+index] = res_mod; + + } + if(fmpz_fdiv_ui(res, primes_table[index])==res_mod_table[index]){ + // fprintf(stderr, "Probabilistic stop\n"); + break; + } + else{ + for(int i =0; i < nthreads; i++){ + unsigned long int index = block*nthreads; + + // mp_limb_t prime = primes_table[i+index]; + fmpz_CRT_ui(res, res, prod, res_mod_table[i+index], primes_table[i+index], 1); + fmpz_mul_ui(prod, prod, primes_table[i+index]); + } + } + } + // fprintf(stderr, "after loops\n"); + unsigned long int index = nblocks*nthreads; + for(unsigned long int i = 0; i < count_primes - index; i++){ + mp_limb_t prime = primes_table[i+index]; + + amod_table[i]->mod.n = prime; + amod_table[i]->mod.ninv = n_preinvert_limb(prime); + count_leading_zeros(amod_table[i]->mod.norm, prime); + + bmod_table[i]->mod.n = prime; + bmod_table[i]->mod.ninv = n_preinvert_limb(prime); + count_leading_zeros(bmod_table[i]->mod.norm, prime); + + make_mod_poly(amod_table[i], A, prime); + make_mod_poly(bmod_table[i], B, prime); + + + // t_in = omp_get_wtime(); + mp_limb_t res_mod = _nmod_poly_resultant( + amod_table[i]->coeffs, + A->length, + bmod_table[i]->coeffs, + B->length, + amod_table[i]->mod); + // e_in += omp_get_wtime() - t_in; + + res_mod_table[i+index] = res_mod; + + if(fmpz_fdiv_ui(res, primes_table[i+index])==res_mod_table[i+index]){ + break; + } + else{ + fmpz_CRT_ui(res, res, prod, res_mod_table[i+index], primes_table[i+index], 1); + fmpz_mul_ui(prod, prod, primes_table[i+index]); + } + } + e_end = omp_get_wtime() - e_start; + + + //utilisation de fmpz_CRT pour recuperer le resultant + //Obsolete + + /* t = omp_get_wtime() ; */ + /* for(long i = 0; i < count_primes; i++){ */ + /* fmpz_CRT_ui(res, res, prod, res_mod_table[i], primes_table[i], 1); */ + /* fmpz_mul_ui(prod, prod, primes_table[i]); */ + /* } */ + /* e_crt = omp_get_wtime() - t; */ + fprintf(stderr, "Bit size of the result = %ld\n", fmpz_bits(res)); + fprintf(stderr, "Elapsed time (multi-mod resultant): %f \n", e_end); + // fprintf(stderr, "Elapsed time MM in %f\n", e_in); + // fprintf(stderr, "Elapsed time per mod comp. %f\n", e_in / count); + + if (fmpz_cmp_ui(res, 0)==0){ + fprintf(stderr,"\nResultant was 0\n"); + } + fmpz_clear(prod); + + free(primes_table); + for(int i = 0; i < nthreads; i++){ + nmod_poly_clear(amod_table[i]); + nmod_poly_clear(bmod_table[i]); + } + + free(res_mod_table); + free(amod_table); + free(bmod_table); + + //nettoyage memoire a terminer + +} + +//Compares FLINT resultant with a hand-made multi-mod resultant +//(still using FLINT basics) +void run_compare(unsigned long int deg, flint_rand_t state){ + + unsigned long int deg1 = deg, deg2 = deg1; + unsigned int nbits = deg1 ; + + fmpz_poly_t A, B; + fmpz_poly_init2(A, deg1+1); + fmpz_poly_init2(B, deg2+1); + fmpz_poly_random_dense(A, deg1, nbits, state); + fmpz_poly_random_dense(B, deg2, nbits, state); + + /* fmpz_poly_random_dense_old(A, deg1, nbits); */ + /* fmpz_poly_random_dense_old(B, deg2, nbits); */ + + fmpz_t res_normal, res; + fmpz_init(res_normal); + fmpz_init(res); + + double e_normal = 0, t; + t = omp_get_wtime(); + fmpz_poly_resultant(res_normal, A, B); + e_normal = omp_get_wtime() - t; + fprintf(stderr, "Elapsed time (FLINT resultant): %f\n\n", e_normal); + + t = omp_get_wtime(); + myresultant(res, A, B, 1); + e_normal = omp_get_wtime() - t; + fprintf(stderr, "Elapsed time (my resultant): %f\n", e_normal); + + if(fmpz_cmp(res, res_normal)!=0){ + puts("\n\t BUG BUG BUG\n"); + } + + puts(""); + + /* if(fmpz_cmp_ui(res, 0)==1){ */ + /* puts("Positive"); */ + /* } */ + /* else{ */ + /* puts("Negative"); */ + /* } */ + fmpz_clear(res); + fmpz_clear(res_normal); + +} + +//runs modular FLINT resultant modulo 32 bits prime +void run_modular16(flint_rand_t state, int ntimes){ + + unsigned long int deg = 64; + mp_limb_t myprime = 65537; + + puts("\nFLINT resultant modulo 16 bits prime\n"); + while(deg<=2*8192){ + + fmpz_poly_t A, B; + fmpz_poly_init2(A, deg+1); + fmpz_poly_init2(B, deg+1); + fmpz_poly_random_dense(A, deg, deg / 2, state); + fmpz_poly_random_dense(B, deg, deg / 2, state); + + nmod_poly_t a_mod,b_mod; + nmod_poly_init2(a_mod,myprime, deg+1); + nmod_poly_init2(b_mod,myprime, deg+1); + //attention a la gestion des coefficients negatifs + // nmod_poly_set_coeff_ui(x,3,9002); + // nmod_poly_set_coeff_ui(x,0,6); + + make_mod_poly(a_mod, A, myprime); + make_mod_poly(b_mod, B, myprime); + + fprintf(stdout,"Degree = %lu\n", deg); + + // nmod_poly_print(x);flint_printf("\n"); + // nmod_poly_print(y);flint_printf("\n"); + double e = 0, t = omp_get_wtime(); + int j; + for(int i = 1; i<=ntimes; i++){ + // res = nmod_poly_resultant_hgcd(a_mod, b_mod); + nmod_poly_resultant(a_mod, b_mod); //combine gcd et euclide en fonction du degre + j = j+i; + } + e = omp_get_wtime() - t; + // fprintf(stdout,"%lu \n", res); + fprintf(stdout, "Elapsed time Half gcd resultant = %f\n", e); + + double e2 = 0, t2 = omp_get_wtime(); + for(int i =1 ; i <=ntimes; i++){ + nmod_poly_resultant_euclidean(a_mod, b_mod); + j = j+i; + } + e2 = omp_get_wtime() - t2; + fprintf(stdout, "Elapsed time Euclidean resultant = %f\n", e2); + puts(""); + + nmod_poly_clear(a_mod); + nmod_poly_clear(b_mod); + + fmpz_poly_clear(A); + fmpz_poly_clear(B); + + deg = 2*deg; + } +} + +//runs modular FLINT resultant modulo 32 bits prime +void run_modular32(flint_rand_t state, int ntimes){ + + unsigned long int deg = 30; + mp_limb_t myprime = 4294967311; + + puts("\nFLINT resultant modulo 32 bits prime\n"); + while(deg<=2*8192){ + + fmpz_poly_t A, B; + fmpz_poly_init2(A, deg+1); + fmpz_poly_init2(B, deg+1); + fmpz_poly_random_dense(A, deg, deg / 2, state); + fmpz_poly_random_dense(B, deg, deg / 2, state); + + nmod_poly_t a_mod,b_mod; + nmod_poly_init2(a_mod,myprime, deg+1); + nmod_poly_init2(b_mod,myprime, deg+1); + //attention a la gestion des coefficients negatifs + // nmod_poly_set_coeff_ui(x,3,9002); + // nmod_poly_set_coeff_ui(x,0,6); + + make_mod_poly(a_mod, A, myprime); + make_mod_poly(b_mod, B, myprime); + + fprintf(stdout,"Degree = %lu\n", deg); + + double e = 0, t = omp_get_wtime(); + int j; + for(int i = 1; i<=ntimes; i++){ + // res = nmod_poly_resultant_hgcd(a_mod, b_mod); + nmod_poly_resultant_hgcd(a_mod, b_mod); //combine gcd et euclide en fonction du degre + j = j+i; + } + e = omp_get_wtime() - t; + fprintf(stdout, "Elapsed time Half gcd resultant = %f\n", e); + + double e2 = 0, t2 = omp_get_wtime(); + for(int i =1 ; i <=ntimes; i++){ + nmod_poly_resultant_euclidean(a_mod, b_mod); + j = j+i; + } + e2 = omp_get_wtime() - t2; + fprintf(stdout, "Elapsed time Euclidean resultant = %f\n", e2); + puts(""); + + nmod_poly_clear(a_mod); + nmod_poly_clear(b_mod); + + fmpz_poly_clear(A); + fmpz_poly_clear(B); + + deg = 2*deg; + } +} + +//runs modular FLINT resultant modulo 60 bits fftprime +void run_modular60fftprime(flint_rand_t state, int ntimes){ + + unsigned long int deg = 64; + mp_limb_t myprime = 1945555039024054273; + + puts("\nFLINT resultant modulo 60 bits FFT prime\n"); + while(deg<=8192){ + + fmpz_poly_t A, B; + fmpz_poly_init2(A, deg+1); + fmpz_poly_init2(B, deg+1); + fmpz_poly_random_dense(A, deg, deg / 2, state); + fmpz_poly_random_dense(B, deg, deg / 2, state); + + nmod_poly_t a_mod,b_mod; + nmod_poly_init2(a_mod,myprime, deg+1); + nmod_poly_init2(b_mod,myprime, deg+1); + //attention a la gestion des coefficients negatifs + // nmod_poly_set_coeff_ui(x,3,9002); + // nmod_poly_set_coeff_ui(x,0,6); + + make_mod_poly(a_mod, A, myprime); + make_mod_poly(b_mod, B, myprime); + + fprintf(stdout,"Degree = %lu\n", deg); + + double e = 0, t = omp_get_wtime(); + int j; + for(int i = 1; i<=ntimes; i++){ + // res = nmod_poly_resultant_hgcd(a_mod, b_mod); + nmod_poly_resultant(a_mod, b_mod); //combine gcd et euclide en fonction du degre + j = j+i; + } + e = omp_get_wtime() - t; + + fprintf(stdout, "Elapsed time Half gcd resultant = %f\n", e); + + double e2 = 0, t2 = omp_get_wtime(); + for(int i =1 ; i <=ntimes; i++){ + nmod_poly_resultant_euclidean(a_mod, b_mod); + j = j+i; + } + e2 = omp_get_wtime() - t2; + fprintf(stdout, "Elapsed time Euclidean resultant = %f\n", e2); + puts(""); + + nmod_poly_clear(a_mod); + nmod_poly_clear(b_mod); + + fmpz_poly_clear(A); + fmpz_poly_clear(B); + + deg = 2*deg; + } +} + +//runs modular FLINT resultant modulo 60 bits prime +void run_modular60prime(flint_rand_t state, int ntimes){ + + unsigned long int deg = 256; + mp_limb_t myprime = 1152921504606847009; + + puts("\nFLINT resultant modulo 60 bits prime\n"); + while(deg<=8192){ + + fmpz_poly_t A, B; + fmpz_poly_init2(A, deg+1); + fmpz_poly_init2(B, deg+1); + fmpz_poly_random_dense(A, deg, deg / 2, state); + fmpz_poly_random_dense(B, deg, deg / 2, state); + + nmod_poly_t a_mod,b_mod; + nmod_poly_init2(a_mod,myprime, deg+1); + nmod_poly_init2(b_mod,myprime, deg+1); + //attention a la gestion des coefficients negatifs + // nmod_poly_set_coeff_ui(x,3,9002); + // nmod_poly_set_coeff_ui(x,0,6); + + make_mod_poly(a_mod, A, myprime); + make_mod_poly(b_mod, B, myprime); + + fprintf(stdout,"Degree = %lu\n", deg); + + double e = 0, t = omp_get_wtime(); + int j; + for(int i = 1; i<=ntimes; i++){ + // res = nmod_poly_resultant_hgcd(a_mod, b_mod); + nmod_poly_resultant_hgcd(a_mod, b_mod); //combine gcd et euclide en fonction du degre + j = j+i; + } + e = omp_get_wtime() - t; + + fprintf(stdout, "Elapsed time Half gcd resultant = %f\n", e/ntimes); + + double e2 = 0, t2 = omp_get_wtime(); + for(int i =1 ; i <=ntimes; i++){ + nmod_poly_resultant_euclidean(a_mod, b_mod); + j = j+i; + } + e2 = omp_get_wtime() - t2; + fprintf(stdout, "Elapsed time Euclidean resultant = %f\n", e2/ntimes); + puts(""); + + nmod_poly_clear(a_mod); + nmod_poly_clear(b_mod); + + fmpz_poly_clear(A); + fmpz_poly_clear(B); + + deg = deg * 2; + } +} + +void display_help(){ + fprintf(stdout, "Basic Flint based C program for computing resultant and subresultant in Z[x]\n"); + fprintf(stdout, "Implemented by M. Safey El Din (Sorbonne Univ./CNRS/Inria), mohab.safey@lip6.fr\n"); + fprintf(stdout, "Provided without any guarantee for ** academic use only ** by students, teachers and researchers hosted in high-schools, universities or academic (non-industtrial) research institutes\n"); + fprintf(stdout, "Any kind of other use requires formal agreement from the author\n\n"); + + fprintf(stdout, "-h \t diplays this help\n"); + fprintf(stdout, "-r \t generates random dense polynomials of degree d and runs the resultant computation\n"); + fprintf(stdout, "-f \t reads polynomials in filename and computes the resultant of those polynomials\n"); + fprintf(stdout, "\n Format file: \nFiles provide 2 polynomials encoded as follows \ndegree\ncoef_0\n...\ncoef_degree\n"); + + fprintf(stdout, "\n\nTODO:\n"); + fprintf(stdout, "Main difference with FLINT functions are in memory management+multi-threading\n"); + fprintf(stdout, "Lifting is not that efficient - can be improved\n"); + fprintf(stdout, "Use of fast reductions still needs to be implemented\n"); +} + + + +static char *getoptions(int argc, char **argv, char ** input_file, + ulong *deg, slong *sdeg, int *nthreads){ + int optch, errflag = 0, fflag = 1; + extern int opterr; + + char options[] = "hf:r:d:t:"; + char *filename = NULL; + opterr = 1; + + while ((optch = getopt(argc, argv, options)) != -1) + switch (optch) { + case 'f': + fflag = 0; + *input_file = optarg; + optind--; + break; + case 'h': + display_help(); + exit(1); + case 'r': + *deg = strtol(optarg, NULL, 10); + optind--; + break; + case 'd': + *sdeg = strtol(optarg, NULL, 10); + optind--; + break; + case 't': + *nthreads = strtol(optarg, NULL, 10); + optind--; + break; + default: + errflag++; + break; + } + if(fflag==1){ + fprintf(stderr, "No given file\n"); + *input_file = NULL; + } + if(errflag){ + fprintf(stderr,"Invalid usage\n"); + fprintf(stderr,"%s -f file_name\n", argv[0]); + exit(1); + } + return filename; +} + +void get_input_polynomials(FILE *file, ulong *degA, ulong *degB, + fmpz_poly_t A, fmpz_poly_t B){ + fmpz_t c; + fmpz_init(c); + if(fscanf(file, "%lu", degA)){ + fprintf(stderr, "Degree %lu\n", *degA); + for(ulong i=0; i <= *degA; i++){ + fmpz_fread(file, c); + fmpz_poly_set_coeff_fmpz(A, i, c); + } + } + if(fscanf(file, "%lu", degB)){ + fprintf(stderr, "Degree %lu\n", *degB); + for(ulong i=0; i <= *degB; i++){ + fmpz_fread(file, c); + fmpz_poly_set_coeff_fmpz(B, i, c); + } + } + fmpz_clear(c); +} + +int main(int argc, char *argv[]){ + char **input_file = malloc(sizeof(char**)); + ulong deg = 0; + slong sdeg = -1; + int nthreads = 1; + getoptions(argc, argv, input_file, °, &sdeg, &nthreads); + + if(*input_file!=NULL){ + fprintf(stderr, "Reading file...\n"); + FILE *file = fopen(*input_file,"r"); + ulong degA = 0, degB = 0; + fmpz_poly_t A; + fmpz_poly_t B; + fmpz_poly_init(A); + fmpz_poly_init(B); + get_input_polynomials(file, °A, °B, A, B); + fprintf(stderr, "Done.\n\n"); + fmpz_t res; + fmpz_init(res); + if(sdeg>0){ + my_dth_subresultant(res, A, B, sdeg, nthreads); + } + else{ + myresultant(res, A, B, nthreads); + } + // fmpz_zero(res); + fmpz_fprint(stdout, res); + fmpz_poly_clear(A); + fmpz_poly_clear(B); + fmpz_clear(res); + free(input_file); + return 0; + } + + fprintf(stdout, "\nRunning resultant computations for random dense polynomials in Z[x]\n\n"); + // run_modular(); + flint_rand_t state; + flint_randinit(state); + run_compare(deg, state); + + //FLINT resultant sur les entiers + // run_res_flint(64, state); + + //FLINT resultant modulo premier 16 bits + // run_modular16(state, 100); + + //FLINT resultant modulo premier 32 bits + // run_modular32(state, 10000); + + //FLINT resultant modulo premier 60 bits + run_modular60prime(state, 400); + + //FLINT resultant modulo premier fft 60 bits + // run_modular60fftprime(state, 100); + + flint_randclear(state); + return 0; +} diff --git a/src/connectcurves/src/resultant/io.c b/src/connectcurves/src/resultant/io.c new file mode 100644 index 0000000..c1ee6b3 --- /dev/null +++ b/src/connectcurves/src/resultant/io.c @@ -0,0 +1,562 @@ +static void print_nmod_param(FILE * file, nmod_param_t *param){ + char str[2]={"x"}; + fprintf(file, "%d\n", param->nvars); + fprintf(file, "["); + + for(int i = 0; i < param->nvars; i++){ + nmod_poly_fprint_pretty(file, param->coords[i], str); + } + fprintf(file, "]\n"); + nmod_poly_fprint_pretty(file, param->denom, str); + fprintf(file, "\n"); + nmod_poly_fprint_pretty(file, param->elim, str); + fprintf(stderr, "\n"); +} + + +static inline void print_nmod_all_params_pretty(FILE *file, nmod_all_params_t *all_params){ + fprintf(file, "\n"); + for(int i = 0; i < all_params->nparams; i++){ + print_nmod_param(file, (all_params->params)[i]); + } +} + +static inline void fmpz_poly_fprint_bin(FILE *file, const fmpz_poly_t poly){ + slong len = poly->length; + fprintf(file, "%ld\n", len); + fprintf(stderr, "LENGTH = %ld\n", len); + for(slong i = 0; i < len; i++){ + fmpz_out_raw(file, poly->coeffs + i); + } +} + +static inline void print_fmpz_param_bin(FILE *file, fmpz_param_t *param){ + fprintf(file, "%d\n", param->nvars); + for(int i = 0; i < param->nvars-1; i++){ + fmpz_poly_fprint_bin(file, param->coords[i]); + } + fmpz_poly_fprint_bin(file, param->denom); + fmpz_poly_fprint_bin(file, param->elim); +} + +static inline void print_fmpz_param_pretty(FILE *file, fmpz_param_t *param){ + char stra[2] = {"x"}; + fprintf(file, "%d\n", param->nvars); + fprintf(file, "["); + + for(int i = 0; i < param->nvars; i++){ + fmpz_poly_fprint_pretty(file, param->coords[i], stra); + fprintf(file, ",\n"); + } + fmpz_poly_fprint_pretty(file, param->coords[param->nvars-1], stra); + fprintf(file, "]\n"); + fmpz_poly_fprint_pretty(file, param->denom, stra); + fprintf(file, "\n"); + fmpz_poly_fprint_pretty(file, param->elim, stra); + fprintf(stderr, "\n"); +} + +static inline void print_bs_fmpz_param_bin(FILE *file, bsolve_fmpz_param_t *param){ + fprintf(stderr, "ELIM -> "); + fmpz_poly_fprint_bin(file, param->elim); + fprintf(stderr, "DENOM -> "); + fmpz_poly_fprint_bin(file, param->denom); + int nv = param->nvars + 1; + fprintf(stderr, "NVARS = %d\n", nv); + fprintf(file, "%d\n", nv); + for(int i = 0; i < param->nvars; i++){ + fprintf(stderr, "COORD -> "); + fmpz_poly_fprint_bin(file, param->coords[i]); + fmpz_out_raw(file, param->cfs[i]); + } +} + +static inline void print_bs_fmpz_param_pretty(FILE *file, bsolve_fmpz_param_t *param){ + char stra[2] = {"x"}; + fprintf(file, "["); + fmpz_poly_fprint_pretty(file, param->elim, stra); + fprintf(file, ",\n"); + fmpz_poly_fprint_pretty(file, param->denom, stra); + fprintf(file, ",\n"); + for(int i = 0; i < param->nvars-1; i++){ + fmpz_poly_fprint_pretty(file, param->coords[i], stra); + fprintf(file, ",\n"); + } + fmpz_poly_fprint_pretty(file, param->coords[param->nvars-1], stra); + fprintf(file, "]"); +} + +static inline void print_fmpz_all_params_bin(FILE *file, fmpz_all_params_t *all_params){ + fprintf(file, "%d\n", all_params->nparams); + + for(int i = 0; i < all_params->nparams; i++){ + print_fmpz_param_bin(file, all_params->params[i]); + } +} + + +static inline void print_fmpz_all_params_pretty(FILE *file, fmpz_all_params_t *all_params){ + fprintf(file, "\n"); + for(int i = 0; i < all_params->nparams; i++){ + print_fmpz_param_pretty(file, all_params->params[i]); + } +} + +static inline void print_bs_fmpz_all_params_bin(FILE *file, + bsolve_fmpz_all_params_t *all_params){ + fprintf(file, "%d\n", all_params->nparams); + + for(int i = 0; i < all_params->nparams-1; i++){ + fprintf(stderr, "Display PARAM %d\n", i); + print_bs_fmpz_param_bin(file, all_params->params[i]); + fprintf(file, "\n"); + } + fprintf(stderr, "Display PARAM %d\n", all_params->nparams-1); + print_bs_fmpz_param_bin(file, all_params->params[all_params->nparams-1]); + fprintf(file, "\n"); +} + +static inline void print_bs_fmpz_all_params_pretty(FILE *file, + bsolve_fmpz_all_params_t *all_params){ + fprintf(file, "[\n"); + for(int i = 0; i < all_params->nparams-1; i++){ + print_bs_fmpz_param_pretty(file, all_params->params[i]); + fprintf(file, ",\n"); + } + print_bs_fmpz_param_pretty(file, all_params->params[all_params->nparams-1]); + fprintf(file, "\n];\n"); +} + +static void nmod_vec_print(FILE *file, mp_srcptr vec, slong len){ + if(len==1) { + fprintf(file, "%lu ; \n", vec[0]); + return; + } + fprintf(file, "%lu + ", vec[0]); + for(slong i = 1; i < len - 1; i++){ + fprintf(file, "%lu * x^%ld + ", vec[i], i); + } + fprintf(file, "%lu * x^%ld; \n", vec[len-1], len-1); +} + +/* + Input: +*/ + +static void fmpz_bpoly_fprint_pretty(FILE *file, fmpz_poly_t *A, ulong deg){ + char strx[1]={"x"}; + for(slong i=deg; i >=1 ; i--){ + fprintf(file, "("); + fmpz_poly_fprint_pretty(file, A[i], strx); + fprintf(file, ")*y^%lu+", i); + } + fprintf(file, "("); + fmpz_poly_fprint_pretty(file, A[0], strx); + fprintf(file, ");"); + fprintf(file, "\n"); +} + +static ulong nbits_bound_fmpz_bvar_poly(fmpz_poly_t *A, ulong deg){ + ulong nbits = 0; + fmpz_t sum, sumtmp, tmp; + fmpz_init(sum); + fmpz_init(sumtmp); + fmpz_init(tmp); + fmpz_zero(sum); + for(ulong i = 0; i <= deg; i++){ + fmpz_zero(sumtmp); + for(ulong j = 0; j < A[i]->length; j++){ + fmpz_abs(tmp, A[i]->coeffs+j); + fmpz_add(sumtmp, sumtmp, tmp); + } + fmpz_mul(sumtmp, sumtmp, sumtmp); + fmpz_add(sum, sum, sumtmp); + } + nbits = fmpz_bits(sum) + 1; + fmpz_clear(sumtmp); + fmpz_clear(sum); + fmpz_clear(tmp); + return nbits / 2; +} + +static void crt_lift_resultant(fmpz_poly_t res, nmod_poly_t *res_mod_table, mp_limb_t *primes_table, ulong size, fmpz_t *prod_mod){ + slong maxdegree = -1; + ulong i; + for(i = 0; i < size; i++){ + if(res_mod_table[i]->length - 1 > maxdegree){ + maxdegree = res_mod_table[i]->length - 1; + } + } + if(res->length-1!=maxdegree){ + res->coeffs = malloc(sizeof(fmpz_t) * (maxdegree + 1)); + for(i = 0; i <= maxdegree; i++){ + fmpz_poly_set_coeff_ui(res, i, 1); + } + } + + fmpz_t prod_primes; + fmpz_init(prod_primes); + fmpz_one(prod_primes); + + for(i = 0; i < size; i++){ + for(ulong j = 0; j <= maxdegree; j++){ + myfmpz_CRT_ui((res->coeffs)+j, (res->coeffs)+j, + prod_primes, (res_mod_table[i]->coeffs)[j], + primes_table[i], 1, + prod_mod); + } + fmpz_mul_ui(prod_primes, prod_primes, primes_table[i]); + } + fmpz_clear(prod_primes); +} + + + +static slong get_total_degree(fmpz_poly_t *A, slong degA){ + slong total_degree = -1; + + for(slong i = 0; i <= degA; i++){ + if(A[i]->length - 1 + i > total_degree){ + total_degree = A[i]->length - 1 + i; + } + } + return total_degree; +} + +static slong get_partial_degree(fmpz_poly_t *A, slong degA){ + slong degAx = -1; + for(slong i = 0; i <= degA ; i++){ + if(A[i]->length - 1 > degAx){ + degAx = A[i]->length -1; + } + } + return degAx; +} + + +static void get_exponent(FILE *file, ulong *exp, ulong nvars){ + for(ulong i = 0; i < nvars-1; i++){ + if(fscanf(file, "%lu ", exp+i)){ + } + } + if(fscanf(file, "%lu\n", exp+nvars-1)){ + } +} + +static void get_mpoly_from_file(FILE *file, fmpz_mpoly_t A, fmpz_mpoly_ctx_t ctx){ + ulong nterms, nvars; + if(fscanf(file, "%lu", &nterms)){ + } + else{ + fprintf(stderr, "Error when reading file\n"); + } + if(fscanf(file, "%lu", &nvars)){ + } + else{ + fprintf(stderr, "Error when reading file\n"); + } + if(nvars!=2){ + fprintf(stderr, "Bad number of variables\n"); + exit(1); + } + fmpz_mpoly_fit_length(A, nterms, ctx); + fmpz_t coeff; + fmpz_init(coeff); + ulong * exp = malloc(sizeof(ulong)*nvars); + for(ulong i=0; i < nterms; i++){ + fmpz_fread(file, coeff); + get_exponent(file, exp, nvars); + // _fmpz_mpoly_emplacebackterm_fmpz_ui(A, coeff, exp, ctx); + fmpz_mpoly_push_term_fmpz_ui(A, coeff, exp, ctx); + } + fmpz_mpoly_sort_terms(A, ctx); + fmpz_mpoly_combine_like_terms(A, ctx); + free(exp); + fmpz_clear(coeff); +} + + +/* + +Input: A et B dependent de deux variables (x1,x2) +L'ordre utilise est l'ordre lex x1 > x2 + +On renvoie un pointeur sur les coefficients de A suivis de +ceux de B vus comme un polynome de Z[x2][x1] + +main_degree_A et main_degree_B sont les degres en x1 de A et B + +*/ +static fmpz_poly_t *make_bpoly_from_mpoly2(fmpz_mpoly_t A, fmpz_mpoly_t B, fmpz_mpoly_ctx_t ctx, + slong *main_degree_A, slong *main_degree_B){ + + *main_degree_A = fmpz_mpoly_degree_si(A, 0, ctx); + *main_degree_B = fmpz_mpoly_degree_si(B, 0, ctx); + + fmpz_poly_t *A_univ = (fmpz_poly_t *)(malloc(sizeof(fmpz_poly_t) * + (*main_degree_A + 1 + *main_degree_B + 1))); + for(ulong i = 0; i <= (*main_degree_A) + (*main_degree_B) + 1; i++){ + fmpz_poly_init(A_univ[i]); + fmpz_poly_zero(A_univ[i]); + } + fmpz_mpoly_t Term; + fmpz_mpoly_init(Term, ctx); + slong deg_mainvar_term = 0, old_deg_mainvar_term = -1; + slong deg_var2; + fmpz_t c; + fmpz_init(c); + for(ulong i = 0; i < A->length; i++){ + fmpz_mpoly_get_term(Term, A, i, ctx); + fmpz_mpoly_get_term_coeff_fmpz(c, Term, 0, ctx); + + deg_mainvar_term = fmpz_mpoly_degree_si(Term, 0, ctx); + deg_var2 = fmpz_mpoly_degree_si(Term, 1, ctx); + if(old_deg_mainvar_term != deg_mainvar_term){ + fmpz_poly_fit_length(A_univ[deg_mainvar_term], deg_var2 + 1); + } + fmpz_poly_set_coeff_fmpz(A_univ[deg_mainvar_term], deg_var2, c); + old_deg_mainvar_term = deg_mainvar_term; + } + for(ulong i = 0; i < B->length; i++){ + fmpz_mpoly_get_term(Term, B, i, ctx); + fmpz_mpoly_get_term_coeff_fmpz(c, Term, 0, ctx); + + deg_mainvar_term = fmpz_mpoly_degree_si(Term, 0, ctx); + deg_var2 = fmpz_mpoly_degree_si(Term, 1, ctx); + if(old_deg_mainvar_term!=deg_mainvar_term){ + fmpz_poly_fit_length(A_univ[*main_degree_A + 1 + deg_mainvar_term], deg_var2 + 1); + } + fmpz_poly_set_coeff_fmpz(A_univ[*main_degree_A + 1 + deg_mainvar_term], deg_var2, c); + old_deg_mainvar_term = deg_mainvar_term; + } + + fmpz_mpoly_clear(Term, ctx); + fmpz_clear(c); + return A_univ; +} + +#ifdef TESTDENSE +static void test_dense(slong deg, ulong nbits, flint_rand_t state){ + fmpz_poly_t *A = (fmpz_poly_t *)(malloc(sizeof(fmpz_poly_t) * (deg + 1))); + fmpz_poly_t *B = (fmpz_poly_t *)(malloc(sizeof(fmpz_poly_t) * (deg + 1))); + for(ulong i = 0; i <= deg; i++){ + fmpz_poly_init(A[i]); + fmpz_poly_init(B[i]); + } + + fmpz_bpoly_random_dense(A, deg, nbits, state); + fmpz_bpoly_random_dense(B, deg, nbits, state); + + fmpz_poly_t res; + fmpz_poly_init(res); + fmpz_poly_t res2; + fmpz_poly_init(res2); + fmpz_poly_t res3; + fmpz_poly_init(res3); + + fmpz_bpoly_resultant_deterministic(res, A, deg, B, deg); + fprintf(stderr, "\n\nStarts probabilistic implem.\n\n"); + fmpz_bpoly_resultant_probabilistic(res2, A, deg, B, deg, 0); + // fmpz_bpoly_sqfree_resultant_probabilistic(res2, A, deg, B, deg, 0); + fprintf(stderr, "\n\nStarts SQRFREE probabilistic implem.\n\n"); + fmpz_bpoly_sqfree_resultant_probabilistic(res2, A, deg, B, deg); + + + /* fprintf(stdout,"R:=PolynomialRing(Rationals());\n"); */ + /* fprintf(stdout,"P:=PolynomialRing(R);\n"); */ + /* fprintf(stdout, "A := "); */ + /* fmpz_bpoly_fprint_pretty(A, deg); */ + /* fprintf(stdout, "\nB := "); */ + /* fmpz_bpoly_fprint_pretty(B, deg); */ + /* char str[1]={"x"}; */ + /* fprintf(stdout, "\nmyres := "); */ + /* fmpz_poly_fprint_pretty(stdout, res2, str); */ + /* fprintf(stdout, ";\n"); */ + /* fprintf(stdout, "\ntime res := Resultant(A, B);\n"); */ + /* fprintf(stdout, "res-myres;"); */ + /* fprintf(stdout, "\n"); */ + + for(ulong i = 0; i <= deg; i++){ + fmpz_poly_clear(A[i]); + fmpz_poly_clear(B[i]); + } + fmpz_poly_clear(res); + fmpz_poly_clear(res2); + fmpz_poly_clear(res3); + free(A); + free(B); +} +#endif + +static void display_help(char **argv){ + fprintf(stdout, "Basic usage\n\n%s -f file_in\n\n", argv[0]); + fprintf(stdout, "Whenever it is possible, by default, it returns\n"); + fprintf(stdout, "a finite sequence of zero-dimensional parametrizations\n"); + fprintf(stdout, "of the set of common complex solutions to the input polynomials\n\n"); + + fprintf(stdout, "Each parametrization corresponds to distinct multiplicities \n"); + fprintf(stdout, "of the resultant of the input polynomials w.r.t. the first variable\n\n"); + + fprintf(stdout, "Additional options: \n"); + fprintf(stdout, "-r \t Computes the resultant\n"); + fprintf(stdout, "-q \t Computes the square-free part of the resultant\n"); + fprintf(stdout, "-b \t Output file will be in binary format\n"); + fprintf(stdout, "-o \t output file \n"); + fprintf(stdout, "-h \t displays this help\n\n"); + + fprintf(stdout, "\n\n file_in must have the following format: \n"); + fprintf(stdout, "First line looks like\nnt n\nwhere nt is the number of terms and n the number of variables\n"); + fprintf(stdout, "Next lines look like \ncoeff e1 e2\n where coeff is an integer coefficient to the monomial x1^e1...xn^en\n"); + fprintf(stdout, "And a next polynomial should be given with the same format\n"); + fprintf(stdout, "\nThe variable which is eliminated is the first one (the one whose exponent comes at first)\n"); +} + + +static fmpz_poly_t *get_input_polynomials(FILE *file, slong *degA, slong *degB){ + fmpz_mpoly_ctx_t ctx; + ordering_t ord = ORD_LEX; + fmpz_mpoly_t A, B; + fmpz_mpoly_ctx_init(ctx, 2, ord); + fmpz_mpoly_init(A, ctx); + fmpz_mpoly_init(B, ctx); + + get_mpoly_from_file(file, A, ctx); + get_mpoly_from_file(file, B, ctx); + + fmpz_poly_t *bA = make_bpoly_from_mpoly2(A, B, ctx, degA, degB); + + fmpz_mpoly_clear(A, ctx); + fmpz_mpoly_clear(B, ctx); + fmpz_mpoly_ctx_clear(ctx); + return bA; +} + +static void display_fmpz_poly_to_usolve(FILE *file, fmpz_poly_t res){ + fprintf(file, "%ld\n", res->length-1); + fmpz_t c; + fmpz_init(c); + if(res->length==0){ + fprintf(file,"%d\n", 0); + return; + } + for(ulong i=0; i < res->length; i++){ + fmpz_poly_get_coeff_fmpz(c, res, i); + fmpz_fprint(file, c); + fprintf(file, "\n"); + } + fmpz_clear(c); +} + +static void display_fmpz_poly_binary_to_usolve(FILE *file, fmpz_poly_t res){ + return; + /* const long length = res->length; */ + /* if(res->length==0){ */ + /* mpz_t * tab = (mpz_t *)(malloc(sizeof(mpz_t) )); */ + /* mpz_init(tab[0]); */ + /* mpz_set_ui(tab[0], 0); */ + /* mpz_t p; */ + /* binary_write_INT(file, p);//cette fonction fait un mpz_clear(p) */ + /* binary_write(file, tab, length); */ + /* mpz_clear(tab[0]); */ + /* free(tab); */ + /* return; */ + /* } */ + /* mpz_t * tab = (mpz_t *)(malloc(sizeof(mpz_t) * length)); */ + /* for(long i=0; i < length; i++){ */ + /* mpz_init(tab[i]); */ + /* fmpz_get_mpz(tab[i], res->coeffs+i); */ + /* } */ + /* mpz_t p; */ + /* binary_write_INT(file, p);//cette fonction fait un mpz_clear(p) */ + /* binary_write(file, tab, length); */ + /* for(long i=0; i < length; i++){ */ + /* mpz_clear(tab[i]); */ + /* } */ + /* free(tab); */ +} + + +static char *getoptions(int argc, char **argv, bsolve_flags * flags){ + int optch, errflag = 0, fflag = 1; + extern int opterr; + + char options[] = "rqhbf:o:v:"; + char *filename = NULL; + opterr = 1; + + while ((optch = getopt(argc, argv, options)) != -1) + switch (optch) { + case 'b': + flags->binary = 1; + break; + case 'f': + fflag = 0; + flags->input_file = optarg; + optind--; + break; + case 'h': + display_help(argv); + exit(1); + case 'o': + flags->output_file = optarg; + optind--; + break; + case 'q': + flags->task = 2; + break; + case 'r': + flags->task = 1; + break; + case 'v': + flags->verb = strtol(optarg, NULL, 10); + optind--; + break; + default: + errflag++; + break; + } + if(fflag){ + fprintf(stderr,"No given file\n"); + fprintf(stderr,"%s -f file_name\n", argv[0]); + exit(1); + } + if(errflag){ + fprintf(stderr,"Invalid usage\n"); + fprintf(stderr,"%s -f file_name\n", argv[0]); + exit(1); + } + return filename; +} + +static bsolve_flags *allocate_initialize_flags(){ + bsolve_flags *flags = malloc(sizeof(bsolve_flags)); + flags->verb=0; + flags->task = 0; + flags->binary = 0; + flags->input_file = NULL; + flags->output_file = NULL; + + return flags; +} + +static void free_flags(bsolve_flags * flags){ + free(flags); +} + +static inline void display_resutant(fmpz_poly_t res, bsolve_flags *flags, + int binary_format){ + if(flags->output_file!=NULL){ + FILE *outputfile = fopen(flags->output_file,"w"); + if(binary_format==0){ + display_fmpz_poly_to_usolve(outputfile, res); + } + else{ + display_fmpz_poly_binary_to_usolve(outputfile, res); + } + fclose(outputfile); + } + else{ + display_fmpz_poly_to_usolve(stdout, res); + } +} + diff --git a/src/connectcurves/src/resultant/main.c b/src/connectcurves/src/resultant/main.c new file mode 100644 index 0000000..4f39f54 --- /dev/null +++ b/src/connectcurves/src/resultant/main.c @@ -0,0 +1,1550 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "flint/flint.h" +#include "flint/ulong_extras.h" +#include "flint/mpn_extras.h" +#include "flint/fmpz.h" +#include "flint/fmpz_poly.h" +#include "flint/nmod_vec.h" +#include "flint/nmod_poly.h" +#include "flint/fmpz_mpoly.h" + +#define nthreads 1 + +#define LOG2(X) ((unsigned) (8*sizeof (unsigned long long) - __builtin_clzll((X)) - 1)) +#define MIN(a,b) (((a)<(b))?(a):(b)) + +#define DEBUG 2 + +#include "data.c" +#include "ratreconstruct.c" +#include "io.c" +#include "flint_euclide.c" + +//taken from FLINT +typedef unsigned int UDItype __attribute__ ((mode(DI))); +#define umul_ppmm2(w1, w0, u, v) \ + __asm__ ("mul{q} %3" \ + : "=a" ((UDItype) (w0)), \ + "=d" ((UDItype) (w1)) \ + : "%0" ((UDItype) (u)), \ + "rm" ((UDItype) (v))) + +#define NMOD_DIVREM_DIVCONQUER_CUTOFF 300 + + +/* +Input: Les coeffs des polynomes sont stockes du plus petit au plus grand degre + +pol devient un polynome de degre deg, coeffs de taille bits aleatoires + +*/ +static void fmpz_poly_random_dense(fmpz_poly_t pol, slong deg, mp_bitcnt_t bits, flint_rand_t state){ + + fmpz_t coeff; + fmpz_init(coeff); + + // flint_randseed(state, (ulong) time(NULL), (ulong) clock()); + + long i; + flint_randseed(state, (ulong) clock(), (ulong)(10000*clock())); + + for(i=0;i<=deg;i++){ + fmpz_randbits(coeff, state, bits); + fmpz_poly_set_coeff_fmpz(pol, i, coeff); + flint_randseed(state, (ulong) (i), (ulong)(10000*clock()*(i+1))); + } + fmpz_clear(coeff); +} + +/* +bivarpol est un tableau de taille degmain + 1 et dont les elements sont +des pointeurs sur tableau de taille degvar + 1 + +Les coefficients sont donnes du plus petit au plus grand degre +*/ +static void fmpz_bpoly_random_dense(fmpz_poly_t *bivarpol, + slong degmain, + mp_bitcnt_t bits, flint_rand_t state){ + for(slong i = 0; i <= degmain; i++){ + fmpz_poly_random_dense(bivarpol[i], degmain - i, bits, state); + } +} + +/* + +A est un polynome a coefficients dans Z et prime est un nbre premier (qui tient sur un mot-machine) + +a_mod contiendra A mod prime + +*/ +static void make_nmod_poly(nmod_poly_t a_mod, fmpz_poly_t A, mp_limb_t prime){ + a_mod->mod.n = prime; + a_mod->mod.ninv = n_preinvert_limb(prime); + flint_clz(a_mod->mod.norm); + a_mod->length = 0; + for(unsigned long int i=0; ilength; i++){ + nmod_poly_set_coeff_ui(a_mod, i, fmpz_fdiv_ui(A->coeffs+i, prime)); + } +} + +//On calcule A mod prime qu'on met dans a (a est suppose deja alloue) +static void make_nmod_bpoly(nmod_poly_t *a, fmpz_poly_t *A, unsigned long int deg, mp_limb_t prime){ + for(unsigned long int i = 0; i <= deg; i++){ + make_nmod_poly(a[i], A[i], prime); + } +} + + +static void nmod_bpoly_fast_eval_nmod_2_pols(mp_ptr *a_s_ptr, mp_ptr *b_s_ptr, + nmod_poly_t *a, const slong degA, + nmod_poly_t *b, const slong degB, + const mp_ptr eval_points, const ulong n, + mp_ptr * tree){ + nmod_t mod = a[0]->mod; + _nmod_poly_tree_build(tree, eval_points, n, mod); + + for(ulong i = 0; i <= degA; i++){ + _nmod_poly_evaluate_nmod_vec_fast_precomp(a_s_ptr[i], a[i]->coeffs, a[i]->length, tree, n, mod); + } + for(ulong i = 0; i <= degB; i++){ + _nmod_poly_evaluate_nmod_vec_fast_precomp(b_s_ptr[i], b[i]->coeffs, b[i]->length, tree, n, mod); + } + +} + + +static void nmod_bpoly_eval_nmod(nmod_poly_t a_s, + nmod_poly_t *a, const slong degmain, + const mp_limb_t eval_point){ + for(ulong i = 0; i <=degmain; i++){ + a_s->coeffs[i] = nmod_poly_evaluate_nmod(a[i], eval_point); + } + a_s->length = degmain + 1; +} + + +/* +res contiendra le resultat +a et b sont des pointeurs sur tableaux de nmod_poly_t de longueur degmain+1 +(degmain = degre de la variable principale) + +Chaque nmod_poly_t est de degre degvar + +numpoints est le nombre de points d'interpolation dont on a besoin ; il doit etre precalcule + */ +static void nmod_bpoly_resultant(nmod_poly_t res, nmod_poly_t *a, const slong degA, nmod_poly_t *b, + const slong degB, const ulong numpoints, + nmod_poly_t *a_s_ptr, nmod_poly_t *b_s_ptr, + mp_ptr restable, mp_ptr eval_points){ + + ulong count_points = 0, i = 0; + while(count_points < numpoints){ + if(nmod_poly_evaluate_nmod(a[degA], i) != 0){ + eval_points[count_points] = i; + count_points++; + i++; + } + else{ + i++; + } + } + mp_limb_t prime = a[0]->mod.n; + + mp_limb_t ninv = n_preinvert_limb(prime); + + a_s_ptr[0]->mod.n = prime; + a_s_ptr[0]->mod.ninv = ninv; + flint_clz(a_s_ptr[0]->mod.norm); + a_s_ptr[0]->length = 0; + + b_s_ptr[0]->mod.n = prime; + b_s_ptr[0]->mod.ninv = ninv; + flint_clz(b_s_ptr[0]->mod.norm); + b_s_ptr[0]->length = 0; + + // nmod_poly_init2(a_s, prime, degA+1); + // nmod_poly_init2(b_s, prime, degB+1); + // mp_limb_t * restable = (mp_limb_t *)(malloc(sizeof(mp_limb_t)*numpoints)); + // nmod_poly_evaluate_nmod_vec(); + + for(i = 0; i < numpoints; i++){ + nmod_bpoly_eval_nmod(a_s_ptr[0], a, degA, eval_points[i]); + nmod_bpoly_eval_nmod(b_s_ptr[0], b, degB, eval_points[i]); + restable[i] = nmod_poly_resultant(a_s_ptr[0], b_s_ptr[0]); + } + + nmod_poly_interpolate_nmod_vec(res, eval_points, restable, numpoints); +#ifdef DEBUG + char str[1]= {"x"}; + nmod_poly_fprint_pretty(stderr, res, str);fprintf(stderr, "\n"); +#endif + return; +} + + +static inline void get_coeffs_from_eval(nmod_poly_t a_s, mp_ptr *a_s_ptr, ulong deg, slong n){ + for(ulong i=0; i <= deg; i++){ + a_s->coeffs[i] = a_s_ptr[i][n]; + } +} + + + +//calcul du resultant par evaluation interpolation. +//on suppose que le tableau des points d'evaluation ne contient pas que des 0 et est deja alloue +//les donnees necessaires au calcul sont deja allouees egalement. +static void nmod_bpoly_resultant_allocated_feval(data_heap_t *heap, + slong mdegA, slong mdegB, + int pos){ + //a ameliorer + ulong count_points = 0, i = 0; + while(count_points < heap->npts){ + if(nmod_poly_evaluate_nmod(heap->a_mod[mdegA], i) != 0 && nmod_poly_evaluate_nmod(heap->b_mod[mdegB], i) != 0){ + heap->ev_pts[count_points] = i; + count_points++; + i++; + } + else{ + i++; + } + } + + nmod_bpoly_fast_eval_nmod_2_pols(heap->a_mod_eval_all, heap->b_mod_eval_all, + heap->a_mod, mdegA, heap->b_mod, mdegB, + heap->ev_pts, heap->npts, heap->tree); + + for(ulong i = 0; i < heap->npts; i++){ + //On ne peut pas paralleliser a cause de w qui est partage. Il faudra modifier ca. + + get_coeffs_from_eval(heap->a_mod_eval, heap->a_mod_eval_all, mdegA, i); + get_coeffs_from_eval(heap->b_mod_eval, heap->b_mod_eval_all, mdegB, i); + heap->res_mod_eval[i] = _nmod_poly_resultant_euclidean_allocated(heap->a_mod_eval->coeffs, + heap->a_mod_eval->length, + heap->b_mod_eval->coeffs, + heap->b_mod_eval->length, + heap->a_mod_eval->mod, + heap->nmod_coeffs_array); + } + + nmod_poly_interpolate_nmod_vec(heap->res_mod_array[pos], heap->ev_pts, heap->res_mod_eval, heap->npts); + + return; +} + +//Fonction qui renvoie la partie square-free d'un polynome pol + +static void square_free_part_nmod_poly(nmod_poly_t pol, nmod_poly_factor_t sqf){ + + sqf->num = 0; + mp_limb_t lc = pol->coeffs[pol->length-1]; + + nmod_poly_factor_squarefree(sqf, pol); + nmod_poly_set(pol, sqf->p); + + for(ulong count = 1; count < sqf->num; count++){ + nmod_poly_mul(pol, pol, sqf->p+count); + } + + nmod_poly_scalar_mul_nmod(pol, pol, lc); + sqf->num = 0; +} + +static inline void nmod_poly_init_copy(nmod_poly_t *poly1, nmod_poly_t *poly2){ + (*poly1)->length = (*poly2)->length; + (*poly1)->alloc = (*poly2)->alloc; + (*poly1)->coeffs = (*poly2)->coeffs; +} + +static inline void nmod_poly_copy(nmod_poly_t poly1, nmod_poly_t poly2){ + (poly1)->length = (poly2)->length; + for(ulong i = 0; i < (poly1)->length; i++){ + (poly1)->coeffs[i] = (poly2)->coeffs[i]; + } +} + +//calcul d'une param rationnelle par evaluation interpolation. +//on suppose que le tableau des points d'evaluation ne contient pas que des 0 et est deja alloue +//les donnees necessaires au calcul sont deja allouees egalement. +//On renvoie 0 si il y a un probleme +//Notamment, on suppose que le resultant est square-free. +//Du coup, une seule parametrisation est construite dans nmod_all_params_table+pos +static int nmod_bpoly_param_allocated_feval_sqfree(data_heap_t *heap, + slong mdegA, slong mdegB, + int pos){ + + ulong count_points = 0, i = 0; + while(count_points < heap->npts){ + if(nmod_poly_evaluate_nmod(heap->a_mod[mdegA], i) != 0 && + nmod_poly_evaluate_nmod(heap->b_mod[mdegB], i) != 0){ + heap->ev_pts[count_points] = i; + count_points++; + i++; + } + else{ + i++; + } + } + + nmod_bpoly_fast_eval_nmod_2_pols(heap->a_mod_eval_all, + heap->b_mod_eval_all, + heap->a_mod, mdegA, + heap->b_mod, mdegB, + heap->ev_pts, + heap->npts, heap->tree); + for(ulong i = 0; i < heap->npts; i++){ + //On ne peut pas paralleliser a cause de w qui est partage. Il faudra modifier ca. + + get_coeffs_from_eval(heap->a_mod_eval, heap->a_mod_eval_all, mdegA, i); + get_coeffs_from_eval(heap->b_mod_eval, heap->b_mod_eval_all, mdegB, i); + + if(DEBUG > 3){ + fprintf(stderr, "ev_pt = %ld\n", heap->ev_pts[i]); + char str[1] = {"x"}; + nmod_poly_fprint_pretty(stderr, heap->a_mod_eval, str); + fprintf(stderr, "\n"); + nmod_poly_fprint_pretty(stderr, heap->b_mod_eval, str); + fprintf(stderr, "\n"); + } + heap->res_mod_eval[i] = + _nmod_poly_param_euclidean_allocated(heap->a_mod_eval->coeffs, + heap->a_mod_eval->length, + heap->b_mod_eval->coeffs, + heap->b_mod_eval->length, + heap->a_mod_eval->mod, + heap->nmod_coeffs_array, + heap->par_h_mod_eval + i, + heap->par_t_mod_eval + i); + if(DEBUG > 3){ + fprintf(stderr, "Computed resultant = %ld\n", + heap->res_mod_eval[i]); + fprintf(stderr, "head -> %ld\n", + heap->par_h_mod_eval[i]); + fprintf(stderr, "tail -> %ld\n", + heap->par_t_mod_eval[i]); + } + } + + nmod_poly_interpolate_nmod_vec(heap->nmod_lparams_array[pos]->params[0]->elim, + heap->ev_pts, heap->res_mod_eval, heap->npts); + + nmod_poly_interpolate_nmod_vec(heap->nmod_lparams_array[pos]->params[0]->denom, + heap->ev_pts, heap->par_h_mod_eval, heap->npts); + + nmod_poly_interpolate_nmod_vec(heap->nmod_lparams_array[pos]->params[0]->coords[0], + heap->ev_pts, heap->par_t_mod_eval, heap->npts); + //On suppose que le resultant est square-free. + + if(DEBUG > 3){ + for(ulong k = 0; k < heap->npts; k++){ + fprintf(stderr, "%lu ", heap->par_t_mod_eval[k]); + } + fprintf(stderr, "\n"); + for(ulong k = 0; k < heap->npts; k++){ + fprintf(stderr, "%lu ", heap->ev_pts[k]); + } + fprintf(stderr, "\n"); + char str[1] = {"x"}; + fprintf(stderr, "degree = %ld\n", heap->par_t_mod_array[pos]->length - 1); + nmod_poly_fprint_pretty(stderr, heap->par_t_mod_array[pos], str); + fprintf(stderr,"\n"); + fprintf(stderr, "degree = %ld\n", heap->par_h_mod_array[pos]->length - 1); + nmod_poly_fprint_pretty(stderr, heap->par_h_mod_array[pos], str); + fprintf(stderr,"\n\n"); + nmod_poly_fprint_pretty(stderr, heap->nmod_lparams_array[pos]->params[0]->coords[0], str); + fprintf(stderr,"\n"); + } + + if(DEBUG > 4){ + fprintf(stderr, "\nParametrization mod %ld\n", heap->primes_array[pos]); + print_nmod_param(stderr, heap->nmod_lparams_array[pos]->params[0]); + fprintf(stderr, "prime in param struct = \n%ld, \n%ld\n", + heap->nmod_lparams_array[pos]->params[0]->denom->mod.n, + heap->nmod_lparams_array[pos]->params[0]->coords[0]->mod.n); + } + + return 1; +} + + +//calcul d'une param rationnelle par evaluation interpolation. +//on suppose que le tableau des points d'evaluation ne contient pas que des 0 et est deja alloue +//les donnees necessaires au calcul sont deja allouees egalement. +//On renvoie 0 si il y a un probleme +//Ici, on suppose que le resultant n'est pas square-free. + +static int nmod_bpoly_param_allocated_feval_nonsqfree(data_heap_t *heap, + slong mdegA, slong mdegB, + int pos){ + + ulong count_points = 0, i = 0; + while(count_points < heap->npts){ + if(nmod_poly_evaluate_nmod(heap->a_mod[mdegA], i) != 0 && + nmod_poly_evaluate_nmod(heap->b_mod[mdegB], i) != 0){ + heap->ev_pts[count_points] = i; + count_points++; + i++; + } + else{ + i++; + } + } + + nmod_bpoly_fast_eval_nmod_2_pols(heap->a_mod_eval_all, heap->b_mod_eval_all, + heap->a_mod, mdegA, heap->b_mod, mdegB, + heap->ev_pts, heap->npts, heap->tree); + for(ulong i = 0; i < heap->npts; i++){ + //On ne peut pas paralleliser a cause de w qui est partage. Il faudra modifier ca. + + get_coeffs_from_eval(heap->a_mod_eval, heap->a_mod_eval_all, mdegA, i); + get_coeffs_from_eval(heap->b_mod_eval, heap->b_mod_eval_all, mdegB, i); + + heap->res_mod_eval[i] = + _nmod_poly_param_euclidean_allocated(heap->a_mod_eval->coeffs, + heap->a_mod_eval->length, + heap->b_mod_eval->coeffs, + heap->b_mod_eval->length, + heap->a_mod_eval->mod, + heap->nmod_coeffs_array, + heap->par_h_mod_eval + i, + heap->par_t_mod_eval + i); + + } + + nmod_poly_interpolate_nmod_vec(heap->res_mod_array[pos], heap->ev_pts, heap->res_mod_eval, heap->npts); + nmod_poly_interpolate_nmod_vec(heap->par_h_mod_array[pos], + heap->ev_pts, heap->par_h_mod_eval, heap->npts); + nmod_poly_interpolate_nmod_vec(heap->par_t_mod_array[pos], + heap->ev_pts, heap->par_t_mod_eval, heap->npts); + + heap->sqf_part->num = 0; + nmod_poly_factor_squarefree(heap->sqf_part, heap->res_mod_array[pos]); + + for(ulong i = 0; i < heap->sqf_part->num; i++){ + nmod_poly_copy(heap->nmod_lparams_array[pos]->params[i]->elim, + heap->sqf_part->p+i); + + if(nmod_poly_invmod(heap->GCDINV[pos], + heap->par_h_mod_array[pos], + heap->nmod_lparams_array[pos]->params[i]->elim)){ + + nmod_poly_derivative(heap->nmod_lparams_array[pos]->params[i]->denom, + heap->nmod_lparams_array[pos]->params[i]->elim); + + nmod_poly_mul(heap->nmod_lparams_array[pos]->params[i]->coords[0], + heap->par_t_mod_array[pos], + heap->GCDINV[pos]); + + nmod_poly_rem(heap->nmod_lparams_array[pos]->params[i]->coords[0], + heap->nmod_lparams_array[pos]->params[i]->coords[0], + heap->nmod_lparams_array[pos]->params[i]->elim); + nmod_poly_mul(heap->nmod_lparams_array[pos]->params[i]->coords[0], + heap->nmod_lparams_array[pos]->params[i]->coords[0], + heap->nmod_lparams_array[pos]->params[i]->denom + ); + + nmod_poly_rem(heap->nmod_lparams_array[pos]->params[i]->coords[0], + heap->nmod_lparams_array[pos]->params[i]->coords[0], + heap->nmod_lparams_array[pos]->params[i]->elim); + } + else{ + fprintf(stderr, "Pas d'inversion possible\n"); + return 0; + } + } + + if(DEBUG>2){ + fprintf(stderr, "Prime = %ld\n", heap->primes_array[pos]); + print_nmod_all_params_pretty(stderr, heap->nmod_lparams_array[pos]); + } + + return 1; +} + +static void fmpz_bpoly_resultant_deterministic(fmpz_poly_t res, + fmpz_poly_t *A, slong degA, + fmpz_poly_t *B, slong degB){ + slong totaldegA = get_total_degree(A, degA); + slong totaldegB = get_total_degree(B, degB); + + fprintf(stderr, "Total degrees : %ld %ld\n", totaldegA, totaldegB); + //maximum degree in the variable that is not eliminated + slong degAx = get_partial_degree(A, degA); + slong degBx = get_partial_degree(B, degB); + + ulong numpoints = MIN(totaldegA * totaldegB + 1, degB * degAx + degA * degBx + 1); + ulong nbitsA = nbits_bound_fmpz_bvar_poly(A, degA); + ulong nbitsB = nbits_bound_fmpz_bvar_poly(B, degB); + fprintf(stderr, "Max nbits : %lu %lu\n", nbitsA, nbitsB); + ulong i; + + //Hadamard-type bound (Goldstein-Graham) + ulong bound_nbits = nbitsA*(degB) + nbitsB*(degA); + fprintf(stderr, "Bound (nbits) = %lu\n", bound_nbits); + + mp_limb_t prime = 1073741827; + prime = n_nextprime(1152921504606847009, 0); + // prime = n_nextprime(prime, 0); + ulong nbits_prime = LOG2(prime); + + nmod_poly_t *a = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * (degA + 1))); + nmod_poly_t *b = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * (degB + 1))); + + for(i = 0; i <= degA; i++){ + nmod_poly_init(a[i], prime); + make_nmod_poly(a[i], A[i], prime); + } + for(i = 0; i <= degB; i++){ + nmod_poly_init(b[i], prime); + make_nmod_poly(b[i], B[i], prime); + } + + //data for calling nmod_bpoly_resultant + //a_s_ptr contiendra la specialisation des coefficients de a en un point. + nmod_poly_t *a_s_ptr = malloc(sizeof(nmod_poly_t)); + nmod_poly_init2(a_s_ptr[0], prime, degA+1); + + nmod_poly_t *b_s_ptr = malloc(sizeof(nmod_poly_t)); + nmod_poly_init2(b_s_ptr[0], prime, degB+1); + + //contiendra les valeurs des resultants modulo des premiers + mp_limb_t * restable = (mp_limb_t *)(malloc(sizeof(mp_limb_t)*numpoints)); + //contiendra les points d'evaluation + mp_limb_t * eval_points = (mp_limb_t *)(malloc(sizeof(mp_limb_t)*numpoints)); + ////////////////////////////////// + + ulong count_nprimes = 1; + + nmod_poly_t *res_mod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * (bound_nbits / nbits_prime + 1) )); + mp_limb_t *primes_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * (bound_nbits / nbits_prime + 1))); + double e = omp_get_wtime(); + nbits_prime = 0; + + fmpz_t *prod_mod = malloc(sizeof(fmpz_t)); + fmpz_init(prod_mod[0]); + while(nbits_prime < bound_nbits){ + for(i = 0; i <= degA; i++){ + make_nmod_poly(a[i], A[i], prime); + } + for(i = 0; i <= degB; i++){ + make_nmod_poly(b[i], B[i], prime); + } + if(a[degA]->length>0 && b[degB]->length>0){ + nmod_poly_init(res_mod_table[count_nprimes-1], prime); + primes_table[count_nprimes-1] = prime; + nmod_bpoly_resultant(res_mod_table[count_nprimes-1], a, degA, b, degB, numpoints, + a_s_ptr, b_s_ptr, restable, eval_points); + prime = n_nextprime(prime, 0); + nbits_prime += LOG2(prime); + count_nprimes++; + } + else{ + prime = n_nextprime(prime, 0); + } + } + count_nprimes--; + fprintf(stderr, "Number of used primes = %lu\n", count_nprimes); + fprintf(stderr, "Elapsed time (mod comp.): %f\n", omp_get_wtime() - e); + + e=omp_get_wtime(); + crt_lift_resultant(res, res_mod_table, primes_table, count_nprimes, prod_mod); + fprintf(stderr, "Elapsed time (CRT comp.): %f\n", omp_get_wtime() - e); + fprintf(stderr, "Final size coeffs: %ld\n", FLINT_ABS(_fmpz_vec_max_bits(res->coeffs, res->length))); + fprintf(stderr, "Degree of the output: %ld\n", res->length-1); + + fmpz_clear(prod_mod[0]); + free(prod_mod); + nmod_poly_clear(a_s_ptr[0]); + nmod_poly_clear(b_s_ptr[0]); + free(a_s_ptr); + free(b_s_ptr); + free(eval_points); + + for(i = 0; i< count_nprimes; i++){ + nmod_poly_clear(res_mod_table[i]); + } + for(i = 0; i <= degA; i++){ + nmod_poly_clear(a[i]); + } + for(i = 0; i <= degB; i++){ + nmod_poly_clear(b[i]); + } + free(res_mod_table); + free(restable); + free(primes_table); + free(a); + free(b); + return; +} + +/* + Input: dans res_mod_table on a N = size_table images modulaires de resultant + (modulo les premiers de primes_table). + + On vĂ©rifie que res modulo ces premiers correspond aux elements de res_mod_table +*/ +/* static int check_modular_images_old(fmpz_poly_t res, nmod_poly_t res_mod, nmod_poly_t *res_mod_table, */ +/* mp_limb_t *primes_table, int size_table, slong *max_degree){ */ +/* for(int i = 0; i < size_table; i++){ */ +/* if(*max_degree < res_mod_table[i]->length - 1){ */ +/* *max_degree = res_mod_table[i]->length - 1; */ +/* } */ +/* } */ +/* for(int i = 0; i < size_table; i++){ */ +/* make_nmod_poly(res_mod, res, primes_table[i]); */ +/* if(!nmod_poly_equal(res_mod, res_mod_table[i])){ */ +/* return 0; */ +/* } */ +/* } */ +/* return 1; */ +/* } */ + +/* + Input: dans res_mod_table on a N = size_table images modulaires de resultant + (modulo les premiers de primes_table). + + On vĂ©rifie que res modulo ces premiers correspond aux elements de res_mod_table +*/ +static int check_modular_images(fmpz_poly_t res, + data_heap_t *heap, + int size_table, slong *max_degree){ + for(int i = 0; i < size_table; i++){ + if(*max_degree < heap->res_mod_array[i]->length - 1){ + *max_degree = heap->res_mod_array[i]->length - 1; + } + } + for(int i = 0; i < size_table; i++){ + make_nmod_poly(heap->res_mod[0], res, heap->primes_array[i]); + if(!nmod_poly_equal(heap->res_mod[0], heap->res_mod_array[i])){ + return 0; + } + } + return 1; +} + + +static void update_poly_tables_with_prime(data_heap_t *heap, + int pos, mp_limb_t prime){ + mp_limb_t p = n_preinvert_limb(prime); + heap->primes_array[pos] = prime; + + heap->GCDINV[pos]->mod.n = prime; + heap->GCDINV[pos]->mod.ninv = p; + flint_clz(heap->GCDINV[pos]->mod.norm); + + heap->res_mod_array[pos]->mod.n = prime; + heap->res_mod_array[pos]->mod.ninv = p; + flint_clz(heap->res_mod_array[pos]->mod.norm); + + heap->par_t_mod_array[pos]->mod.n = prime; + heap->par_t_mod_array[pos]->mod.ninv = p; + flint_clz(heap->par_t_mod_array[pos]->mod.norm); + + heap->par_h_mod_array[pos]->mod.n = prime; + heap->par_h_mod_array[pos]->mod.ninv = p; + flint_clz(heap->par_h_mod_array[pos]->mod.norm); + + heap->a_mod_eval->mod.n = prime; + heap->a_mod_eval->mod.ninv = p; + flint_clz(heap->a_mod_eval->mod.norm); + + heap->b_mod_eval->mod.n = prime; + heap->b_mod_eval->mod.ninv = p; + flint_clz(heap->b_mod_eval->mod.norm); + +} + +static void update_nmod_param_with_prime(nmod_all_params_t *lparams, + mp_limb_t prime){ + mp_limb_t p = n_preinvert_limb(prime); + + for(int i = 0; i nparams; i++){ + nmod_param_t *param = lparams->params[i]; + param->denom->mod.n = prime; + param->denom->mod.ninv = p; + flint_clz(param->denom->mod.norm); + + param->elim->mod.n = prime; + param->elim->mod.ninv = p; + flint_clz(param->elim->mod.norm); + + for(int j = 0; j < param->nvars; j++){ + param->coords[j]->mod.n = prime; + param->coords[j]->mod.ninv = p; + flint_clz(param->coords[j]->mod.norm); + } + } +} + + +//Fonction qui teste si pol est square-free +//renvoie 0 si pol est square-free, un entier >= 1 sinon +static slong is_non_square_free(nmod_poly_t pol, nmod_poly_factor_t sqf){ + nmod_poly_factor_squarefree(sqf, pol); + int nf = sqf->num ; + sqf->num = 0; + return nf - 1; +} + + +static void get_degrees_and_nbits(fmpz_poly_t *A, slong mdegA, + fmpz_poly_t *B, slong mdegB, + slong *tdegA, slong *tdegB, + slong *sdegA, slong *sdegB, + ulong *nbitsA, ulong *nbitsB){ + //total degrees + *tdegA = get_total_degree(A, mdegA); + *tdegB = get_total_degree(B, mdegB); + + //maximum degree in the variable that is not eliminated + *sdegA = get_partial_degree(A, mdegA); + *sdegB = get_partial_degree(B, mdegB); + + *nbitsA = nbits_bound_fmpz_bvar_poly(A, mdegA); + *nbitsB = nbits_bound_fmpz_bvar_poly(B, mdegB); +} + +//renvoie 0 si on a encore besoin de lifter les coefficients +static inline int check_param_modular_images(fmpz_param_t *param, + data_heap_t *heap, int size){ + for(ulong i = 0; i < size; i++){ + //on verifie le polynome eliminant + make_nmod_poly(heap->res_mod[0], param->elim, heap->primes_array[i]); + if(!nmod_poly_equal(heap->res_mod[0], + heap->nmod_lparams_array[i]->params[0]->elim)){ + return 0; + } + make_nmod_poly(heap->res_mod[0], param->denom, heap->primes_array[i]); + //on verifie le polynome denominateur + if(!nmod_poly_equal(heap->res_mod[0], + heap->nmod_lparams_array[i]->params[0]->denom)){ + return 0; + } + //on verifie les coordonnees + make_nmod_poly(heap->res_mod[0], param->coords[0], heap->primes_array[i]); + if(!nmod_poly_equal(heap->res_mod[0], + heap->nmod_lparams_array[i]->params[0]->coords[0])){ + return 0; + } + } + return 1; +} + + +//renvoie 0 si on a encore besoin de lifter les coefficients +static inline int check_all_params_modular_image(fmpz_all_params_t *all_params, + data_heap_t *heap, int size){ + int nparams = all_params->nparams; + for(int i = 0; i < nparams; i++){ + if(!check_param_modular_images(all_params->params[i], heap, size)){ + return 0; + } + } + return 1; +} + +static inline void integer_param_crt_lifting_all_params(fmpz_all_params_t *all_params, + data_heap_t *heap, int size){ + slong maxdegree = -1; + fmpz_param_t *param = all_params->params[0]; + for(ulong i = 0; i < size; i++){ + if(heap->nmod_lparams_array[0]->params[0]->elim->length - 1 > maxdegree){ + maxdegree = heap->nmod_lparams_array[0]->params[0]->elim->length - 1; + } + } + if((param)->elim->length-1!=maxdegree){ + fprintf(stderr, "Error with degree estimates in integer_param_crt_lifting\n"); + fprintf(stderr, "maxdegree = %ld\n", maxdegree); + fprintf(stderr, "First param of degree = %ld\n", (param)->elim->length-1); + exit(1); + } + + if(DEBUG>=5){ + for(int i = 0; i < size; i++){ + fprintf(stderr, "prime = %ld\n", heap->primes_array[i]); + print_nmod_param(stderr, (heap->nmod_lparams_array[i]->params[0])); + fprintf(stderr, "\n"); + } + } + + for(ulong j = 0; j <= maxdegree; j++){ + for(ulong i = 0; i < size; i++){ + + fmpz_CRT_ui(((param)->elim->coeffs)+j, ((param)->elim->coeffs)+j, + heap->prod_primes[i], + (heap->nmod_lparams_array[i]->params[0]->elim->coeffs)[j], + heap->primes_array[i], 1); + + fmpz_CRT_ui(((param)->denom->coeffs)+j, ((param)->denom->coeffs)+j, + heap->prod_primes[i], + (heap->nmod_lparams_array[i]->params[0]->denom->coeffs)[j], + heap->primes_array[i], 1); + + fmpz_CRT_ui(((param)->coords[0]->coeffs)+j, ((param)->coords[0]->coeffs)+j, + heap->prod_primes[i], + (heap->nmod_lparams_array[i]->params[0]->coords[0]->coeffs)[j], + heap->primes_array[i], 1); + + } + } + +} + +static inline int rational_param_lifting(fmpz_param_t *param, + data_heap_t *heap, + int size, int mul){ + int b = 1; + + ulong deg = heap->nmod_lparams_array[0]->params[mul]->elim->length - 1; + if(param->rec_elim < deg){ + for(ulong j = 0; j <= deg; j++){ + for(ulong i = 0; i < size; i++){ + fmpz_CRT_ui(((param)->elim->coeffs)+j, ((param)->elim->coeffs)+j, + heap->prod_primes[i], + (heap->nmod_lparams_array[i]->params[mul]->elim->coeffs)[j], + heap->primes_array[i], 1); + } + } + fprintf(stderr, "Lifting the elimination polynomial\n"); + if(rat_recon(param->elim, param->elim_num, param->elim_den, param->elim_lcm, + heap, deg, &(param->rec_elim)) == 0){ + b = 0; + } + } + + deg = (heap->nmod_lparams_array[0]->params[mul]->coords[0]->length) - 1; + if(param->rec_coords[0] < deg){ + for(ulong j = 0; j <= deg; j++){ + for(ulong i = 0; i < size; i++){ + fmpz_CRT_ui(((param)->coords[0]->coeffs)+j, ((param)->coords[0]->coeffs)+j, + heap->prod_primes[i], + (heap->nmod_lparams_array[i]->params[mul]->coords[0]->coeffs)[j], + heap->primes_array[i], 1); + } + } + if(b==0){ + return b; + } + fprintf(stderr, "Lifting of the parametrization\n"); + if(rat_recon(param->coords[0], param->coords_num[0], param->coords_den[0], + param->coords_lcm[0], + heap, deg, param->rec_coords) == 0){ + b = 0; + } + } + fprintf(stderr, "LCM = "); + fmpz_fprint(stderr, param->coords_lcm[0]); + fprintf(stderr, "\n"); + + return b; +} + +//attention : ici le denominateur sera de tout de maniere la derivee du polynome +//eliminant +static inline int rational_param_lifting_all_params(fmpz_all_params_t *all_params, + data_heap_t *heap, int size){ + int b = 1; + for(ulong i = 0; i < all_params->nparams; i++){ + fmpz_param_t *param = all_params->params[i]; + if(param->recons == 0){ + if(rational_param_lifting(param, heap, size, i)==0){ + b = 0; + } + else{ + param->recons = 1; + } + } + } + return b; +} + + +static inline void copy_coeffs_poly(fmpz_poly_t poly1, fmpz_poly_t poly2){ + + for(ulong i = 0; i < poly2->length; i++){ + fmpz_poly_set_coeff_fmpz(poly1, i, poly2->coeffs + i); + } +} + +static inline bsolve_fmpz_param_t *copy_to_final_parametrization(fmpz_param_t *param){ + bsolve_fmpz_param_t *bs_param = malloc(sizeof(bsolve_fmpz_param_t)); + bs_param->nvars = param->nvars; + bs_param->sepelem = malloc(sizeof(mp_limb_t) * 2); + bs_param->cfs = malloc(sizeof(fmpz_t) * param->nvars); + + for(int i = 0; i < 2; i++){ + bs_param->sepelem[i] = param->sepelem[i]; + } + fmpz_poly_init2(bs_param->elim, param->elim_num->length); + + copy_coeffs_poly(bs_param->elim, param->elim_num); + + bs_param->coords = malloc(sizeof(fmpz_poly_t) * param->nvars); + + for(int i = 0; i < param->nvars; i++){ + fmpz_poly_init2(bs_param->coords[i], param->coords_num[i]->length); + copy_coeffs_poly(bs_param->coords[i], param->coords_num[i]); + fmpz_init(bs_param->cfs[i]); + fmpz_set(bs_param->cfs[i], param->coords_lcm[i]); + fprintf(stderr, "Warning: changing cfs\n"); + fmpz_set_ui(bs_param->cfs[i], 1); + } + fmpz_poly_init2(bs_param->denom, param->elim_num->length - 1); + + for(ulong i = 0; i < param->elim_num->length - 1; i++){ + fmpz_poly_set_coeff_ui(bs_param->denom, i, 1); + fmpz_mul_ui(bs_param->denom->coeffs + i, bs_param->elim->coeffs + (i+1), i+1); + } + return bs_param; +} + +static inline void copy_to_final_all_params(bsolve_fmpz_all_params_t *bs_params, + fmpz_all_params_t *params){ + bs_params->nparams = params->nparams; + fprintf(stderr, "Number of parametrizations = %d\n", params->nparams); + bs_params->params = malloc(sizeof(bsolve_fmpz_param_t *) * params->nparams); + for(int i = 0; i < params->nparams; i++){ + bs_params->params[i] = copy_to_final_parametrization(params->params[i]); + } +} + +//retourne 1 si il y a une param. rat. des solutions +//sinon retourne 0 + +/* output parametrization will be stored in bs_param */ +static int _fmpz_bpoly_param_probabilistic(bsolve_fmpz_all_params_t *bs_param, + fmpz_poly_t *A, slong mdegA, + fmpz_poly_t *B, slong mdegB){ + slong tdegA, tdegB, sdegA, sdegB; + ulong nbitsA, nbitsB; + int size_table = 8; + /* + tdegA and degB will be the total degrees of A and B + + sdegA and sdegB will be the partial degrees of A and B + in the variable that is kept. + + nbitsA and nbitsB are the max bit size coeffs of A and B + */ + get_degrees_and_nbits(A, mdegA, + B, mdegB, + &tdegA, &tdegB, + &sdegA, &sdegB, + &nbitsA, &nbitsB); + + data_heap_t *heap = allocate_data_heap(tdegA, tdegB, + mdegA, mdegB, + sdegA, sdegB, + size_table); + + fprintf(stderr, "Total degrees : %ld %ld\n", tdegA, tdegB); + fprintf(stderr, "Main degrees : %ld %ld\n", mdegA, mdegB); + fprintf(stderr, "Bit sizes : %lu %lu\n", nbitsA, nbitsB); + fprintf(stderr, "numpoints = %lu\n", heap->npts); + + /*Hadamard-type (Goldstein-Graham) to obtain a bound on the + bit size of the resultant + */ + ulong bound_nbits = nbitsA*(mdegB) + nbitsB*(mdegA); + + fprintf(stderr, "Bound (nbits) = %lu\n", bound_nbits); + + mp_limb_t prime = 1073741827; + prime = n_nextprime(1152921504606847009, 0); + ulong nbits_prime = LOG2(prime); + + ulong count_nprimes = 1; + + double e = omp_get_wtime(); + nbits_prime = 0; + + + double e_mod = 0; + + //On teste si le resultant est square-free + make_nmod_bpoly(heap->a_mod, A, mdegA, prime); + make_nmod_bpoly(heap->b_mod, B, mdegB, prime); + + update_poly_tables_with_prime(heap, 0, prime); + nmod_bpoly_param_allocated_feval_sqfree(heap, + mdegA, mdegB, 0); + + fprintf(stderr, "Degree of the resultant is %ld\n", heap->nmod_lparams_array[0]->params[0]->elim->length - 1); + + /* resultant is a non-zero constant -> no solution */ + if(heap->nmod_lparams_array[0]->params[0]->elim->length == 1){ +#if(DEBUG > 3) + char str[1] = {"x"}; + fprintf(stderr, "elim = "); + nmod_poly_fprint_pretty(stderr, + heap->nmod_lparams_array[0]->params[0]->elim, + str); + fprintf(stderr, "\n"); + fprintf(stderr, "denom = "); + nmod_poly_fprint_pretty(stderr, + heap->nmod_lparams_array[0]->params[0]->denom, + str); + fprintf(stderr, "\n"); +#endif + bs_param->nparams = 1; + bs_param->params = malloc(sizeof(bsolve_fmpz_param_t *)); + bs_param->params[0] = malloc(sizeof(bsolve_fmpz_param_t)); + bs_param->params[0]->nvars = 1; + + bs_param->params[0]->sepelem = malloc(sizeof(mp_limb_t) * 2); + bs_param->params[0]->sepelem[0] = 0; + bs_param->params[0]->sepelem[1] = 1; + + bs_param->params[0]->coords = malloc(sizeof(fmpz_poly_t) ); + + fmpz_poly_init2(bs_param->params[0]->elim, 1); + fmpz_poly_set_ui(bs_param->params[0]->elim, 1); + fmpz_poly_init2(bs_param->params[0]->coords[0], 1); + fmpz_poly_set_ui(bs_param->params[0]->coords[0], 0); + return 1; + } + if(DEBUG>3){ + char str[1] = {"x"}; + nmod_poly_fprint_pretty(stderr, *heap->res_mod_array, str); + fprintf(stderr, "\n"); + fprintf(stderr, "RESULTANT = "); + nmod_poly_fprint_pretty(stderr, heap->nmod_lparams_array[0]->params[0]->elim, str); + fprintf(stderr, "\n"); + } + + heap->sqf_part->num = 0; + nmod_poly_factor_squarefree(heap->sqf_part, heap->nmod_lparams_array[0]->params[0]->elim); + + int nb_sqfree = heap->sqf_part->num; + int is_sqf = 0; + if(nb_sqfree==1 && (heap->sqf_part->p)->length == heap->nmod_lparams_array[0]->params[0]->elim->length) + { + fprintf(stderr, "Resultant is square-free\n"); + is_sqf = 1; + } + else{ + fprintf(stderr, "Resultant is not square-free\n"); + fprintf(stderr, "Array of degree/multiplicity is ["); + for(int i = 0; i < nb_sqfree-1; i++){ + fprintf(stderr, "[%lu, %lu], ", (heap->sqf_part->p+i)->length - 1, (heap->sqf_part->exp[i])); + } + fprintf(stderr, "[%lu, %lu]]\n", (heap->sqf_part->p+(nb_sqfree-1))->length - 1, (heap->sqf_part->exp[nb_sqfree-1])); + } + + if(nmod_poly_invmod(heap->GCDINV[0], + heap->nmod_lparams_array[0]->params[0]->denom, + heap->nmod_lparams_array[0]->params[0]->elim) + == 0){ + + fprintf(stderr, "The input system is not in generic position\n"); + + return 0; + } + mp_ptr sepelem = malloc(sizeof(mp_limb_t) * 2); + sepelem[0]=0; + sepelem[1]=1; + + for(int i = 0; i < size_table; i++){ + heap->nmod_lparams_array[i] = allocate_degrees_sepelem_nmod_all_params(heap, sepelem, + nb_sqfree, 1, + prime); + } + + fmpz_all_params_t *param = malloc(sizeof(fmpz_all_params_t)); + allocate_degrees_sepelem_fmpz_all_params(param, heap, sepelem, + nb_sqfree, 1); + fprintf(stderr, "Allocation done\n"); + fprintf(stderr, "First param of degree = %ld\n", param->params[0]->elim->length-1); + + prime = n_nextprime(prime, 0); + int boo = 1; + while(boo){ + int pos = 0; + + while(pos < size_table){ + + make_nmod_bpoly(heap->a_mod, A, mdegA, prime); + make_nmod_bpoly(heap->b_mod, B, mdegB, prime); + + if(heap->a_mod[mdegA]->length>0 && heap->b_mod[mdegB]->length>0){ + + double start_mod = omp_get_wtime(); + update_poly_tables_with_prime(heap, pos, prime); + //Ici on met a jour nmod_all_primes_table avec prime + update_nmod_param_with_prime(heap->nmod_lparams_array[pos], prime); + + if(is_sqf==1){ + nmod_bpoly_param_allocated_feval_sqfree(heap, + mdegA, mdegB, pos); + } + else{ + if(nmod_bpoly_param_allocated_feval_nonsqfree(heap, + mdegA, mdegB, pos)==0){ + return 0; + } + } + +#if(DEBUG>2) + char str[1] = {"x"}; + fprintf(stderr, "prime = %ld\n", prime); + fprintf(stderr, "RESULTANT = "); + nmod_poly_fprint_pretty(stderr, heap->nmod_lparams_array[pos]->params[0]->elim, str); + fprintf(stderr, "\n"); +#endif + e_mod += (omp_get_wtime() - start_mod); + pos++; + fmpz_mul_ui(heap->prod_primes[pos], heap->prod_primes[pos - 1], prime); + + nbits_prime += LOG2(prime); + prime = n_nextprime(prime, 0); + count_nprimes++; + } + else{ + prime = n_nextprime(prime, 0); + } + } + + if(nb_sqfree==1){ + if(check_all_params_modular_image(param, heap, size_table) == 0){ + //Il faut continuer la construction + integer_param_crt_lifting_all_params(param, heap, + size_table); + fmpz_set(heap->prod_primes[0], heap->prod_primes[size_table]); + if(DEBUG>1){ + if(check_all_params_modular_image(param, heap, size_table)==0){ + fprintf(stderr, "Error in lifting\n"); + exit(1); + } + } + } + else{ + boo = 0; + } + } + else{ + if(rational_param_lifting_all_params(param, heap, size_table) == 0){ + fmpz_set(heap->prod_primes[0], heap->prod_primes[size_table]); + } + else{ + boo = 0; + } + } + } + copy_to_final_all_params(bs_param, param); + count_nprimes--; + fprintf(stderr, "Number of used primes = %lu\n", count_nprimes); + fprintf(stderr, "Elapsed time (modp): %f\n", e_mod); + fprintf(stderr, "Elapsed time (total): %f\n", omp_get_wtime() - e); + + free(sepelem); +// free_fmpz_all_params(all_params); + free_data_heap(mdegA, mdegB, size_table, heap); + + return 1; +} + +static int fmpz_bpoly_param(bsolve_fmpz_all_params_t *bs_param, + fmpz_poly_t *A, slong mdegA, + fmpz_poly_t *B, slong mdegB){ + if(mdegA < mdegB){ + return _fmpz_bpoly_param_probabilistic(bs_param, + B, mdegB, + A, mdegA); + } + else{ + return _fmpz_bpoly_param_probabilistic(bs_param, + A, mdegA, + B, mdegB); + } +} + + + +static void _fmpz_bpoly_resultant_probabilistic(fmpz_poly_t res, + fmpz_poly_t *A, slong mdegA, + fmpz_poly_t *B, slong mdegB){ + slong tdegA, tdegB, sdegA, sdegB; + ulong nbitsA, nbitsB; + int size_table = 4; + fprintf(stderr, "ici on est la\n"); + get_degrees_and_nbits(A, mdegA, + B, mdegB, + &tdegA, &tdegB, + &sdegA, &sdegB, + &nbitsA, &nbitsB); + fprintf(stderr, "allocation starts\n"); + data_heap_t *heap = allocate_data_heap(tdegA, tdegB, + mdegA, mdegB, + sdegA, sdegB, + size_table); + fprintf(stderr, "allocation done\n"); + + fprintf(stderr, "Total degrees : %ld %ld\n", tdegA, tdegB); + fprintf(stderr, "numpoints = %lu\n", heap->npts); + + //Hadamard-type (Goldstein-Graham) + ulong bound_nbits = nbitsA*(mdegB) + nbitsB*(mdegA); + + fprintf(stderr, "Bound (nbits) = %lu\n", bound_nbits); + + mp_limb_t prime = 1073741827; + prime = n_nextprime(1152921504606847009, 0); + // prime = 4611686018427388039; // prime = n_nextprime(prime, 0); + ulong nbits_prime = LOG2(prime); + + ulong count_nprimes = 1; + + //max degree reached during multi-mod computation + slong maxdegree = -1; + + + double e = omp_get_wtime(); + nbits_prime = 0; + + fmpz_t coeff; + fmpz_init(coeff); + + double e_mod = 0; + + //On teste si le resultant est square-free + make_nmod_bpoly(heap->a_mod, A, mdegA, prime); + make_nmod_bpoly(heap->b_mod, B, mdegB, prime); + + update_poly_tables_with_prime(heap, 0, prime); + nmod_bpoly_resultant_allocated_feval(heap, mdegA, mdegB, 0); + + fprintf(stderr, "prime = %lu\n", prime); + fprintf(stderr, "Degree of the resultant is %ld\n", heap->res_mod_array[0]->length - 1); + prime = n_nextprime(prime, 0); + double e_res = 0; + int boo = 1; + while(nbits_prime < bound_nbits && boo){ + int pos = 0; + + while(pos < size_table){ + make_nmod_bpoly(heap->a_mod, A, mdegA, prime); + make_nmod_bpoly(heap->b_mod, B, mdegB, prime); + + if(heap->a_mod[mdegA]->length>0 && heap->b_mod[mdegB]->length>0){ + + double start_mod = omp_get_wtime(); + update_poly_tables_with_prime(heap, pos, prime); + double t = omp_get_wtime(); + nmod_bpoly_resultant_allocated_feval(heap, mdegA, mdegB, pos); + e_res += (omp_get_wtime() - t); + e_mod += (omp_get_wtime() - start_mod); + pos++; + fmpz_mul_ui(heap->prod_primes[pos], heap->prod_primes[pos - 1], prime); + + nbits_prime += LOG2(prime); + prime = n_nextprime(prime, 0); + count_nprimes++; + } + else{ + prime = n_nextprime(prime, 0); + } + } + + //on verifie si les images modulaires collent au resultant qu'on a calcule + if(check_modular_images(res, heap, size_table, &maxdegree)){ + fprintf(stderr, "\n\nfinal prime = %lu\n\n", prime); + boo = 0; + } + else{//ca colle pas, on continue la reconstruction. + fmpz_poly_fit_length(res, maxdegree+1); + fmpz_one(coeff); + for(ulong j = 0; j <= maxdegree; j++){ + fmpz_set(coeff, res->coeffs + j); + for(int i = 0; i < size_table; i++){ + myfmpz_CRT_ui(coeff, coeff, + heap->prod_primes[i], (heap->res_mod_array[i]->coeffs)[j], heap->primes_array[i], 1, heap->prod_mod); + } + fmpz_poly_set_coeff_fmpz(res, j, coeff); + } + fmpz_set(heap->prod_primes[0], heap->prod_primes[size_table]); + } + } + + fprintf(stderr, "Wall time spent in modular resultant = %f\n", e_res); + count_nprimes--; + fprintf(stderr, "Number of used primes = %lu\n", count_nprimes); + fprintf(stderr, "Elapsed time (modp): %f\n", e_mod); + fprintf(stderr, "Elapsed time (total): %f\n", omp_get_wtime() - e); + + fprintf(stderr, "Final size coeffs: %ld\n", FLINT_ABS(_fmpz_vec_max_bits(res->coeffs, res->length))); + fprintf(stderr, "Degree of the output: %ld\n", res->length-1); + + fmpz_clear(coeff); + free_data_heap(mdegA, mdegB, size_table, heap); + return; +} + + +static void _fmpz_bpoly_sqfree_resultant_probabilistic(fmpz_poly_t res, + fmpz_poly_t *A, slong mdegA, + fmpz_poly_t *B, slong mdegB){ + + slong tdegA, tdegB, sdegA, sdegB; + ulong nbitsA, nbitsB; + get_degrees_and_nbits(A, mdegA, + B, mdegB, + &tdegA, &tdegB, + &sdegA, &sdegB, + &nbitsA, &nbitsB); + int size_table = 4; + data_heap_t *heap = allocate_data_heap(tdegA, tdegB, + mdegA, mdegB, + sdegA, sdegB, + size_table); + + fprintf(stderr, "Total degrees : %ld %ld\n", tdegA, tdegB); + fprintf(stderr, "numpoints = %lu\n", heap->npts); + + //Hadamard-type (Goldstein-Graham) + ulong bound_nbits = nbitsA*(mdegB) + nbitsB*(mdegA); + + fprintf(stderr, "Bound (nbits) = %lu\n", bound_nbits); + + mp_limb_t prime = 1073741827; + //On devrait mettre un peu d'alea + prime = n_nextprime(1152921504606847009, 0); + ulong nbits_prime = LOG2(prime); + + ulong count_nprimes = 1; + + //max degree reached during multi-mod computation + slong maxdegree = -1; + + double e = omp_get_wtime(); + nbits_prime = 0; + + fmpz_t coeff; + fmpz_init(coeff); + + double e_mod = 0; + + //On teste si le resultant est square-free + make_nmod_bpoly(heap->a_mod, A, mdegA, prime); + make_nmod_bpoly(heap->b_mod, B, mdegB, prime); + + update_poly_tables_with_prime(heap, 0, prime); + nmod_bpoly_resultant_allocated_feval(heap, mdegA, mdegB, 0); + + fprintf(stderr, "prime = %lu\n", prime); + fprintf(stderr, "Degree of the resultant is %ld\n", heap->res_mod_array[0]->length - 1); + if(!is_non_square_free(heap->res_mod_array[0], heap->sqf_part)){ + fprintf(stderr, "The resultant is square-free\n"); + + free_data_heap(mdegA, mdegB, size_table, heap); + fprintf(stderr, "free heap done\n"); + _fmpz_bpoly_resultant_probabilistic(res, + A, mdegA, + B, mdegB); + return; + } + fprintf(stderr, "The resultant is not square-free\n"); + prime = n_nextprime(prime, 0); + + while(nbits_prime < bound_nbits || 0 == 0){ + int pos = 0; + + while(pos < size_table){ + make_nmod_bpoly(heap->a_mod, A, mdegA, prime); + make_nmod_bpoly(heap->b_mod, B, mdegB, prime); + + if(heap->a_mod[mdegA]->length>0 && heap->b_mod[mdegB]->length>0){ + + double start_mod = omp_get_wtime(); + update_poly_tables_with_prime(heap, pos, prime); + nmod_bpoly_resultant_allocated_feval(heap, mdegA, mdegB, pos); + + square_free_part_nmod_poly(heap->res_mod_array[pos], heap->sqf_part); + + e_mod += (omp_get_wtime() - start_mod); + pos++; + fmpz_mul_ui(heap->prod_primes[pos], heap->prod_primes[pos - 1], prime); + nbits_prime += LOG2(prime); + prime = n_nextprime(prime, 0); + count_nprimes++; + } + else{ + prime = n_nextprime(prime, 0); + } + } + + //on verifie si les images modulaires collent au resultant qu'on a calcule + if(check_modular_images(res, heap, size_table, &maxdegree)){ + fprintf(stderr, "\n\nfinal prime = %lu\n\n", prime); + break; + } + else{//ca colle pas, on continue la reconstruction. + fmpz_poly_fit_length(res, maxdegree+1); + fmpz_one(coeff); + for(ulong j = 0; j <= maxdegree; j++){ + fmpz_set(coeff, res->coeffs + j); + for(int i = 0; i < size_table; i++){ + myfmpz_CRT_ui(coeff, coeff, + heap->prod_primes[i], (heap->res_mod_array[i]->coeffs)[j], heap->primes_array[i], 1, heap->prod_mod); + } + fmpz_poly_set_coeff_fmpz(res, j, coeff); + // fmpz_print(coeff);fprintf(stdout, "\n"); + } + fmpz_set(heap->prod_primes[0], heap->prod_primes[size_table]); + } + } + + count_nprimes--; + fprintf(stderr, "Number of used primes = %lu\n", count_nprimes); + fprintf(stderr, "Elapsed time (modp): %f\n", e_mod); + fprintf(stderr, "Elapsed time (total): %f\n", omp_get_wtime() - e); + + fprintf(stderr, "Final size coeffs: %ld\n", FLINT_ABS(_fmpz_vec_max_bits(res->coeffs, res->length))); + fprintf(stderr, "Degree of the output: %ld\n", res->length-1); + + fmpz_clear(coeff); + free_data_heap(mdegA, mdegB, size_table, heap); + return; +} + +/* /\* */ +/* Input: A et B sont des pointeurs sur tableaux de fmpz_poly_t de */ +/* tailles respectives degA + 1 et degB + 1 */ + +/* *\/ */ + + +static void fmpz_bpoly_sqfree_resultant_probabilistic(fmpz_poly_t res, + fmpz_poly_t *A, slong degA, + fmpz_poly_t *B, slong degB){ + if(degA < degB){ + _fmpz_bpoly_sqfree_resultant_probabilistic(res, B, degB, A, degA); + } + else{ + _fmpz_bpoly_sqfree_resultant_probabilistic(res, + A, degA, + B, degB); + } +} + + +static void fmpz_bpoly_resultant_probabilistic(fmpz_poly_t res, + fmpz_poly_t *A, slong degA, + fmpz_poly_t *B, slong degB){ + if(degA < degB){ + _fmpz_bpoly_resultant_probabilistic(res, B, degB, A, degA); + } + else{ + _fmpz_bpoly_resultant_probabilistic(res, + A, degA, + B, degB); + } +} + + +int main(int argc, char **argv){ + + bsolve_flags * flags = allocate_initialize_flags(); + + int binary_format = 0; + getoptions(argc, argv, flags); + + FILE *file = fopen(flags->input_file,"r"); + + if(file==NULL){ + fprintf(stderr, "No such file\n"); + return 1; + } + slong degA = 0, degB = 0; + //Array est un tableau de fmpz_poly_t de lgr degA + degB + 1 + fmpz_poly_t *Array = get_input_polynomials(file, °A, °B); + fmpz_poly_t *bA = Array; + fmpz_poly_t *bB = Array + (degA + 1); + fclose(file); + + if(DEBUG >= 2){ + + fprintf(stderr, "\nA := "); + fmpz_bpoly_fprint_pretty(stderr, bA, degA); + fprintf(stderr, "\n"); + fflush(stderr); + fprintf(stderr, "B := "); + fmpz_bpoly_fprint_pretty(stderr, bB, degB); + fprintf(stderr, "\n"); + fflush(stderr); + } + + + + if(0==1){ + flint_rand_t state; + flint_randinit(state); + fmpz_bpoly_random_dense(bA, degA, degA, state); + fmpz_bpoly_random_dense(bB, degB, degB, state); + flint_randclear(state); + } + + fprintf(stderr, "flags->task = %d\n", flags->task); + if(flags->task == 1){ + fmpz_poly_t res; + fmpz_poly_init(res); + fmpz_bpoly_resultant_probabilistic(res, bA, degA, bB, degB); + display_resutant(res, flags, binary_format); + fmpz_poly_clear(res); + } + if(flags->task == 2){ + fmpz_poly_t res; + fmpz_poly_init(res); + fmpz_bpoly_sqfree_resultant_probabilistic(res, bA, degA, bB, degB); + display_resutant(res, flags, binary_format); + fmpz_poly_clear(res); + } + if(DEBUG>10){ + fmpz_poly_t res; + fmpz_poly_init(res); + fmpz_bpoly_resultant_deterministic(res, bA, degA, bB, degB); + fmpz_poly_clear(res); + } + if(flags->task==0){ + bsolve_fmpz_all_params_t *bs_param = malloc(sizeof(bsolve_fmpz_all_params_t)); + if(fmpz_bpoly_param(bs_param, bA, degA, bB, degB)){ + if(flags->output_file != NULL){ + FILE *ofile = fopen(flags->output_file, "w"); + if(flags->binary){ + print_bs_fmpz_all_params_bin(ofile, bs_param); + } + else{ + print_bs_fmpz_all_params_pretty(ofile, bs_param); + } + fclose(ofile); + } + else{ + if(flags->binary){ + print_bs_fmpz_all_params_bin(stdout, bs_param); + } + else{ + print_bs_fmpz_all_params_pretty(stdout, bs_param); + } + } + + free_bsolve_fmpz_all_params(bs_param); + return 0; + } + free(bs_param); + return 0; + } + + for(ulong i = 0; i <= degA + degB + 1; i++){ + fmpz_poly_clear(Array[i]); + } + free(Array); + free_flags(flags); + return 0; +} diff --git a/src/connectcurves/src/resultant/out.txt b/src/connectcurves/src/resultant/out.txt new file mode 100644 index 0000000..ce01362 --- /dev/null +++ b/src/connectcurves/src/resultant/out.txt @@ -0,0 +1 @@ +hello diff --git a/src/connectcurves/src/resultant/ratreconstruct.c b/src/connectcurves/src/resultant/ratreconstruct.c new file mode 100644 index 0000000..bb0fb6f --- /dev/null +++ b/src/connectcurves/src/resultant/ratreconstruct.c @@ -0,0 +1,176 @@ +#define ROT(u,v,t) \ + do { fmpz _t = *u; *u = *v; *v = *t; *t = _t; } while (0); + +void myfmpz_CRT_ui(fmpz_t out, const fmpz_t r1, const fmpz_t m1, + ulong r2, ulong m2, int sign, fmpz_t *m1m2) +{ + mp_limb_t c; + // fmpz_t m1m2; + + c = fmpz_fdiv_ui(m1, m2); + c = n_invmod(c, m2); + + if (c == 0) + { + flint_printf("Exception (fmpz_CRT_ui). m1 not invertible modulo m2.\n"); + flint_abort(); + } + + // fmpz_init(m1m2); + fmpz_mul_ui(m1m2[0], m1, m2); + + _fmpz_CRT_ui_precomp(out, r1, m1, r2, m2, n_preinvert_limb(m2), + m1m2[0], c, sign); + + // fmpz_clear(m1m2); +} + +int +_myfmpq_reconstruct_fmpz_2(fmpz_t n, fmpz_t d, + const fmpz_t a, const fmpz_t m, const fmpz_t N, const fmpz_t D) +{ + fmpz_t q, r, s, t; + int success = 0; + + /* Quickly identify small integers */ + if (fmpz_cmp(a, N) <= 0) + { + fmpz_set(n, a); + fmpz_one(d); + return 1; + } + fmpz_sub(n, a, m); + if(fmpz_cmp_ui(n, 0)>=0){ + if(fmpz_cmp(n, N) <= 0){ + fmpz_one(d); + return 1; + } + } + else{ + fmpz_neg(n, n); + if(fmpz_cmp(n, N) <= 0){ + fmpz_one(d); + fmpz_neg(n, n); + return 1; + } + } + /* if (fmpz_cmpabs(n, N) <= 0) */ + /* { */ + /* fmpz_one(d); */ + /* fprintf(stderr, "ici?\n"); */ + /* return 1; */ + /* } */ + + fmpz_init(q); + fmpz_init(r); + fmpz_init(s); + fmpz_init(t); + + fmpz_set(r, m); fmpz_zero(s); + fmpz_set(n, a); fmpz_one(d); + + while (fmpz_cmpabs(n, N) > 0) + { + fmpz_fdiv_q(q, r, n); + fmpz_mul(t, q, n); fmpz_sub(t, r, t); ROT(r, n, t); + fmpz_mul(t, q, d); fmpz_sub(t, s, t); ROT(s, d, t); + } + + if (fmpz_sgn(d) < 0) + { + fmpz_neg(n, n); + fmpz_neg(d, d); + } + + if (fmpz_cmp(d, D) <= 0) + { + fmpz_gcd(t, n, d); + success = fmpz_is_one(t); + } + + fmpz_clear(q); + fmpz_clear(r); + fmpz_clear(s); + fmpz_clear(t); + return success; +} + +int +myfmpq_reconstruct_fmpz_2(fmpq_t res, const fmpz_t a, const fmpz_t m, + const fmpz_t N, const fmpz_t D) +{ + return _myfmpq_reconstruct_fmpz_2(fmpq_numref(res), + fmpq_denref(res), a, m, N, D); +} + +int +_myfmpq_reconstruct_fmpz(fmpz_t n, fmpz_t d, + const fmpz_t a, const fmpz_t m) +{ + fmpz_t N; + int result; + + fmpz_init(N); + fmpz_fdiv_q_2exp(N, m, 1); + fmpz_sqrt(N, N); + result = _myfmpq_reconstruct_fmpz_2(n, d, a, m, N, N); + fmpz_clear(N); + + return result; +} + +int +myfmpq_reconstruct_fmpz(mpz_rat_t *res, fmpz_t a, const fmpz_t m) +{ + if(fmpz_cmp_ui(a, 0)>=0){ + return _myfmpq_reconstruct_fmpz(res->numer, + res->denom, a, m); + } + else{ + while(fmpz_cmp_ui(a, 0) < 0){ + // fmpz_fprint(stderr, a); fprintf(stderr, "\n"); + fmpz_add(a, a, m); + } + int b = _myfmpq_reconstruct_fmpz(res->numer, + res->denom, a, m); + return b; + } +} + +/* returns 0 if the rational reconstruction failed */ +int rat_recon(fmpz_poly_t poly, fmpz_poly_t poly_num, fmpz_poly_t poly_den, fmpz_t lcm, + data_heap_t *heap, ulong deg, ulong *rec_poly){ + fprintf(stderr, "[%lu, %lu] ", (*rec_poly), deg); + ulong size = heap->size_mod_array; + fmpz_mul_ui(heap->h_prod, heap->prod_primes[size-1], heap->primes_array[size-1]); + int b = myfmpq_reconstruct_fmpz(heap->coef, poly->coeffs+(*rec_poly), heap->h_prod); + fmpz_lcm(lcm, lcm, heap->coef->denom); + fmpz_set(poly_num->coeffs + (*rec_poly), heap->coef->numer); + fmpz_set(poly_den->coeffs + (*rec_poly), heap->coef->denom); + if(b==0){ + (*rec_poly) = 0; + fmpz_one(lcm); + fprintf(stderr, "--> [%lu, %lu]\n", (*rec_poly), deg); + return b; + } + for(ulong i = (*rec_poly) + 1; i <= deg; i++){ + b = myfmpq_reconstruct_fmpz(heap->coef, poly->coeffs+i, heap->h_prod); + if(b == 0){ + (*rec_poly) = i-1; + fprintf(stderr, "--> [%lu, %lu]\n", (*rec_poly), deg); + return b; + } + fmpz_lcm(lcm, lcm, heap->coef->denom); + fmpz_set(poly_num->coeffs + i, heap->coef->numer); + fmpz_set(poly_den->coeffs + i, heap->coef->denom); + } + (*rec_poly) = deg; + for(ulong i = 0; i <= deg; i++){ + fmpz_divexact(heap->coef->numer, lcm, poly_den->coeffs + i); + fmpz_mul(poly_num->coeffs + i, poly_num->coeffs + i, heap->coef->numer); + } + fprintf(stderr, "--> [%lu, %lu]\n", (*rec_poly), deg); + return b; +} + + diff --git a/src/connectcurves/src/usolve/usolve b/src/connectcurves/src/usolve/usolve new file mode 100755 index 0000000000000000000000000000000000000000..e72d6fca0e5a16eb2d97642ed6871a346a615803 GIT binary patch literal 2969640 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%0DnDP%Qu)!U{D{u=VoP<5mwzM^f8Fu` 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%0A>GmTh>an?HdMB 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 z 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

}f|S`~&ZP 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�FUTjP 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ξvTgtvg|AJAuy5C^H{F0>LiTP*3 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

CTAC+|}GOvBAyKTMtfs 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‎Q=27oUq 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:N7wRfn<<5QNQwRfn<iKVH?D}L@E5*|3mu~>6EVj^5Miy`h`ug2{ zIvv@9+YHKFz^^}v21jNcNwL_Hxr${_gU-r;y;*xFGv|8{Vu;0-%v`3REVg9kkyaL4 zGN;qvg|gU^DYDp-S-_xTu_d$cU9c;QEty3>g0r&Nl3Dz7(8^*wAhjzaR5*(wq!?fv8gP!WScFv zWG7W&b0ij9vW=rbDvK@IXj z^i!H!6S(*hi!Isd%#IOb9+$yi@{M#vdnY@O!UeI|k}a~>l0AcKBxSKBdx*uB?BZt` zfZ99RB8x5Av*@fXw!8+i*4S4wj8J-eB%YAKxbbfyCBoorWgAlyWI zC)-Pmj417$Y%7Z`+2yqmAar7S%3@1)>tL?ZLKVEel)Z(T0MCX*dnbE4fwtI^Ew>(Cgvh^l2qP2Ijea)dn%3@1)fXQXG*51h; zCP-`VWDgglwRf_^1ZnM^>>(CgvWHk~$sS^{B|FLFZbEDCWREtdB6Y33lRd;@OZEhl z*K4%)PWBLsE!mUJxd^AVce00AY{{Nxa&4!zcd~OO1+Bf4oo{mSq_ualhgfXM9%8X2 zdx*uB>>(Cgvgep*B6Y33lU;6dl+xNe*_Gx}_)&X@U4?ZkeHhw1lR@*p#@HEw!Lr$V z#9|9e6l}m|fVOOQcUgN~0H``?m#x^0n_bNZ;L`Q;I@0U}T`%UIzAMLzZgTmkJL|Q( zva2FAHVqf1=;wocY=Cq!}8t|tLcZBBDULxmd!`-7fMMd70 zk=Gofcl{i!`Ky%+NR<)=QmSL77iyl)iUo-^A+h=m@Y)TbNBt%cnPc$5`X4jK^_rWn z2!G-|0p1ee0ubL|k$_;0y^6=ph`W!`mjV;N?&knerq-7N6Tkk!W=w%edM}O6M!8<- zOMyvxAF*+;EeD3FyD*-Z_Z*4E_k!b)ZV1dr z6dx0i?~#`%TeX(5OdDMlX}bvC_OuCLY)=v)*Wkhb5;DnZZJaB-mzX{q@iI2WT)a4kR@7gh*n*q zmG99-*}Vm)!1Z77%8eyNc=5nvWobdt4s)+jWw+?Jf`e z?cU~>h~Qzvqvn&(Xl867!v2;rE@ZUL}u11(mSpiD=CO+X~ zJKq|{6sZj0OjYg2x8C{o`$#)tgs2SQoWLL@Wq{ap22I&i28bQU zRxPus3=lh>bd^nIfY=G+5oI@<$^fyMe?pY?HkAQlCx#KvAe+hnv6DK1F4#2%(6bq5 zgH2_C*r}u^+LX`5P9xoDQyCyOhxAmN$^fy`Ngr#^N6fJ^*hVL!82oykBgz1=MbhL{ z28b<@Plel52KZm>y$6^SRrWSsRoz{6yLx6i%`i1R(@YP;Bp6`G10pne$e@5IibO$W z6^RNG6mxcU6%`dTMsUp;*X*i`Yd~CF(Ot8yBIY&x-}l_=89;Z}b-!Qup8q$`(>3Qk z_uO-1-MV$_+;iPUq?MvEfO`y8#1xGI+~uST6^#Mh<4Ajo#sKbWIo?&}4+nh$o1_-W zup%Ss30xDr;UkJlBTCbcfn(7az#aLXus_B%_7^l8ORn35l7>ZN0C!9QxDi!|t27*| zM1%~B#sKcvjuPGt*JQuuutFLGL=+hj#S{Ay>_K3#9p6U%$K2Co_2L57)fta5Jw>|! z_e^#QrR(i1io}cntL+kyMNO1*vXQp;11Wy?k5o?vX^4EJhJrDpARDQm$C9WBR8k;H zyMRb7l^7Q70wQ%((W)ooUJw?$0JWC)yrNxzx|AeNL4iJX8Sj4F_vBwGO@e}agxF|L z@QTGQ;0KCt#Ah_a6T1LU>;k;w`y)M1+XaNhENy@-)SxyD1ihL3Mn$^-^+(o1 zR?#j%y+C@Ek>scn=LOkkb|Ye-6Ke;u0x=~h&Q28MHTiSypkmo9*aN5>`!j^YtT zsfeOPM12fRqHY>vNphm@NAde2Tm&!LU640&TrLuDIYZ^bcU~mGpor25lOIvDah1-= zvgZnSYmUjv*(Dz>>K}tT#O9`^5^WctwmgJkQa_2dQn#U>M6Z%o`bqRB(lPxc+D6*b zPomdIXY`Zk&!lVhljwEQ4f;v6opht3U4VL%bXLiO=r5$3lst#tB0W~oEvd19c;cw}90@i#bunW|DN>me=M@l62jcSNR!9 zx^ByB%X1g4?@*My>D@`vbz9z3d^B2r#2t|LH18YCbY?P;A4u{WIQCeyz0L0|a+g9; zepkv_{6Lc5^LUc{K$5?dWLS2~7BoGA94qdYEf~%mBH&$&;hE@z1}5cd? z?O5x%NIopPeB*8IgQVgv-*{V+7(Fb|Rl-J2F96S?o3nT|Nhg-5d>#MG4u!!e3A8b@ z`Y}jJ9~RvF(vqltMoV`njX;{8B@>;b3KVyJCmP6Bn9^BKpn1}=>pRhIFqq=@E>X`L zO5ENhI)B4tEV{i*bZG;L)|;$E_tHG5<*x5UPf=S&6^UMCE5)~!L~rtAY6@B|u^02` zDen4C$hqfbio3oOdtZ*4$S7K&B>IxBRWtg7?nk;oao2YuTLGPoio3oOgQ%xTao2ZZ z2=)TB6y^DaPf z4Nn}!dEzL}I}!yAcv!c?K2~uQ=ZT{@PaMU0zt18$FV1P9CywGgaTMphi=Ln7iK94A z4dtg4aTMq6gQh6(w4*qSj^YY8JdT_=Ug3+&kqb2tgF)fT%&wv4qk9x?Vdj+LKIy_& zr1=dCcac%Jbu0obI*Kc5b3DYY?13O_grv{7qD~}r5sSKg2w_ir#(Cm1&N~PNwLI|| z=Y51s1wHW@=Z!;AY;V*6=IL0}6h0l&XIxR=>zN#V#uW{-3V6dST$3IyaVn3K0=G5( zg=Nch(a6c56}LnmE5$9-MPp9^9aG#gT{MogXIS@42AIqSj;OiN zPs; zKt$b7{4g(q~fESby4~hptPdSwp9@&W*zLfY%V(t)#sGEs@OUxYt5%mD^ z?})iWAflcn{v$Cz#YEI=#BUOFhXCeu#Gm34Q2~@IAr<QO$+Wy zEEU>8@IYdz(7grkODq*LO7IL~DbGQI7Z6K%ekFJ{v6N@I;PZ&3JZB2Nidf2Xso>j) zr93waeuP-c^8hG|&hx$2tl_Zi5b(-b^>Xy9SMe-J$Z&^%w`2um3S!<%)o1|mB^r>IaY!6@o;f9I_F`t3^+8CF4rL#dH@} zQ9X=mMxg|8M$!uRQ0=IaV-ACu;zsI{rMzL_coRcL$+BtC8#J88l9QgG05?*XoIDXs zEQ1UKeG1u@;zsI{Q@2n=aU*rfX_P5c+(=z=I_Xx58>vgqcn30`8bkhBoGvurIgfvg zDh+^9gJq^z4)b>UvIQ43mYmQkiB|!7k}Elpq#f{V@3#n$6*@hdbOBV6zCZ6Ql+=S7-WU>WTov=hhb0hf>pEn@f`2dq>_kg*IBYmg zsR5S&DsH4s4e9`;hT=x*)L`Z#i^o=K)RPq8q%Sr0BanvTCf?Kp&Rvz_M(WfgsbeE7 z8>v%SN-1unP7O&EF#2#b`yFu^%Z1NO$?K^PmSR0NIc1<_GfmC0Q1-e;gWBR zB=RXHb=baODQ-ee&E?bEP~1qJ`W2EwR=ANmb%cJZhh-ymYQfQrz)vx$Ma&}}D_Cbp zEhZaBVX%o#2C3im+itQ_%dZ0zPjac_IF%Ala;bIX8Zy7Si!nK^DK@IU?v9?7sxe;& zubN)8QuQY1g*fF2?V9Q&%Vo+a(VpZ|%U&+VnmN-mQc{MiA4ah^S(W@0lUhFlF*jS4 z+(@0ek>Euubv$}=Y6FY(ik0F<>eNQo%62OyZSW1-;43S|jnt{{q;UeZ^dy%uWz|gu zYUxQXRVgShP)kp8sRol7i3MuuNiNmZe48j#y92jEs)xyWcg(KkM(R{AL2X!rXV=n`TxyuC`jy$W(V0M_%+rzSj9uHA z#hGY+i_~jv@zqbIr4T$59(d3J566T;?6ymRbYdXh^WB`cb1 z>{@z~ODzzz&aO=oEfTceuA?Wp)X`=!Qr~FT(M&tF%;YF_H?&};ky>G<5r$7O0d^JE zt#p@iBk%=i{(Kx!6o@GHo*0{$CCa@8TA;CJf*^TAt_ReeG@{tqBZ}{D?JnY6t}VM< zU@!r9oxwc&jpHMoYJtDP}Q>u>~Eo@ zk-T2}0+k;GaijOQzRnk+CW&^Sx%6^e$D5svZaGD}r?J;t%-5{Vek!PS`7_rZ$99~} zvdv;c4@3%m*x}7tY^h@byZzaZ^t#S9jL79hmkRbi1f9w}a=R~)6{X;;Z422x(uhZP zLB{WZo`&g6p-)~-zUhJZl-1#qj%}~x&q&a`c{%1n26^( zCrrcxJ7I9%HRDTt4hduLB~12&91mrbKXdJ`nzMKUvpA1=k}RIYEM5=TwS%vSm1Oj# zd2;D`uCw+nAbCB>0N0Jrf~tN-Uw+9e>vR!7Vl^&(=VgH#u5ZTtlIOj34>6~kefcHN zdz(1h8JXm-=-lkflMREvbWt{E<=lEowh)2*70vH|;=%A0f?s*SGLA#WEaUc9@qjY# zt1yiQKgaL+|Nr%A?lYzxF=N);xziRNdgKwm@bGkjLG;(8c`#-1oQUrsvh73Y0u!69|cnUOdgk$a&Yu% zSJZT*&9z|pekMt3uTGIF(lp0q4ByWr$(*0b&p`WrCVv2#^E1iPsh{vO8N$RBekLiJ zqzn{OgRSnuHRort0Yd-8&m;}b3n`QHGs(}#zMn~wDB_v8&{2U@gb9xq!_YMs?*&fI z&*a}g{|{KI`+g>mMC$Z2S&iqR?`Kl{D)@dTnYo;wN!C*HK^tEq;Gg@MJPjIup{2U- zXL2Ys_=GUsQKY#2mxtfZZ}G%79Cg8yXHrNm zk0!Q0NUruX`5a@phvGt}Kg7DrfEgm#_cO`16x`xxl3m63GkF3?C|Zb%gZaB3G3RHp z3t0ccQr-76$;iH+$tIAt8jWj;@fYKll*@6XzC=pNUz6gqULd581;b&dwbjWWZFMFY z7M?#i1Pa%nK4{}A3A-LwQT;rKBwIAeNLt|@s_AF)Qv~{cCV9i;{7ep_UVPF`o;1b< zlgp#YlY4<___cKY-_cO^d=t1X}oOrXPdU6geum6RgN!sPBpYSuusJ@>`+5!*q z{Y=s>I_GEdP0%?%lT_nds_$~p#xL|U`6(1P`j4>n667?$cBxS6nESgNxVSy=WHto=+@0{VU?50PmEmq!Z+v+=SR7Yj#; z+ej{t7LL_!Be^tJIDzwtpY}6JDc{fJ#UPD5?PqcsXj-aMAN@=+%=a_NIh^ljlG!m_ z=J5vnB%c`FeLs_b0?YR^`7XqapYStDe$2@EnKbet#O2Y#MJy1`mdEmF;bO9VKa(^U zE`Nhz86LFJ3DEa5$tj}mXOdh!yX*%_GL^Gb$3Yvj!OQuX<9N%TwnOmYvWZ>f%hHcmk5Eq*3h)P`n1lL^$1Z>ipV z&_?cT(TfnT#m^+;wfLFj+|IXDho4EN(Bfy3lPBL&9eySm@0{kdMKQ?*8V=`OHTUjdpwAKQuo@X3N}iuquPax?SOK--GlU2fsq0d*(E z#x_(+^_h56H(Pf=tUce=&9&FWd~cJj$DpR)!~#+6vzW7(ty#QMc&4qrdITYr&IYWb zFUkyK-A2SEU$c^`KLl)-y%Gzd2y0LOBWC3g@EfPXZ^fZm!ft>^5KeD~_Y#WxNC{m$ zE$2Q`V9tG{2EO}94JH^JPWBfbzCeN-Ul51z<|+Qkj!CxqI3+~1l{PN07l3mFwRkZf812(+w! z1X|WV0xjzwftK};04>k_LqkiU#_q#B_&zKHG`4bD|D*K}W^tGG580rus^_B9{>$|b zOPfvQ4$IhO{ewNyKP*GmKLRwHQeA%O`Umsq`G;kYF7pq|;5h&9tbZ_WlYdwS>5=|n z8UJYggZJOj{$Uyac>RNQ{U5J?$cA+_?jNjwFtg|#di{gx{jBwmK+F1vxK{AjKUk_? zw*Dc$4kFe6=K2RSAM?-I_;=Soq~QKJ8>D&A=)b@IAv^W|SFC@?PW^%n|MvPvz{ui` z+RF70*{L6G*{L7(cj|M{igx=C)<0yYezY&wKV+wVbl89C`bU7~Vfvua+<nZ~X%g zq+Jdg{eSBpcu(NY`+s-+Lw4%xgGO`bZ2V~bBk+Ig`iJb)Pd0J=Lw4#XhyUF5500Qe zcl|?l>LmSVS zC#HYS2Ek{hf6m5#@A?Om&i>r>52<4#ch1It`}zl`RmwkSgKv^Qx&FaC{{LwGgT-w* zXM?EaoQ?mA^$(`da?S>kXSdz$pwYH84=Wrc&J2FZ`UiEkoU`#?vHrn#r!{t4|DaK# zb#_~thvA@6qLyRoos$b#CM=9%K&$o1Q?OAxCmvc5sx$|7gQI??u24)3ZoH zpgF#StbS-Pp`#p~p}{x+9G&5d0pREiUyKut^N|&Y%R9EZoMiKw2M-c$Uh}w@K|E*F zU-Njn8S6EVSBZC7^B^`joeLU&d>!|MUg~IvHBp*+Z1$Hr=0S*mH`o48n0nxF%?t5< z5mGr5jrGWi^KKSvO~HO!K&un*Y7p!%#Zpv3)sa)A6^mu zcpuPmctv=JPM_ai!=Jin5q)??c;^oEN_}`m_={7(=hl=W>S0`cct!a88$rjpH6?7A zqA1R-DPhwTO>u5b30vlwtdTgkri25gyp6`WH6EE!rnjctNlXKknBJQ5 zIPvd^_12V^iT^~bx2C*J`~k7vn(_tl---3s6dQ$!MsSI!GTv=cp{)eh6HA3w3+_WK z6-rZ%h~jCXwp8d4!94fVmI|FHcrLM248Nsd8xgUTXR+Wjh^0Iy30_Mq<+(ucO~g{3 zYX#p=EakaV@H50xp2r1mBerpgzKn}}dkwc{4eP@z!sV=bIlLlV@irtN!*`GHl4T$h zvG7ac>w$+?gtrLEZ?EC4W7x#}_8NZmV34$0LjMQl_x~`XGeodsgqbAUQZT%>%hr_e z3+yU#ctvzd=B$&EmhX$bLHEuBfkO7!CN>v7(<_#raE&v zWC|Oh#!P<=Tqx`0X-XIBHF63RJ(h()=2swFU4&t0H3;e`F1maa0y;4RZ0kAT+e{&% zSi^bI|Yv*8iE-6J&{tVkF;pdCrkf61Oi!c2tns%%NQOXsP zvUykH0R|$)t>Dfq+em-mkK(sLPiu2LJrEn^nKh_G{FTZT=BrGEy7xvD(Y=@ilidI! zv!{G1QU>rALIo^7Tlw&DKe=O(sJK1Wg5m-^pQ?00Bn}8l1ucFhO?S6 zA6MbGE+b~wspJxU_-*30Q;`aPdE3plY2<>xyuX-LJJGWI8P^q}CmSccfi9t+XOH;L zv#g)B&C=ZrV??`ud+FX^eeajWbEEaIkXUZbo-6Nx@|EQHYxZ1#4`e2TBMa~WS%Akf z`&&poxAxEF_`sga@sEmH@#gZs-f6C^;@jFeZOp0U$d2*AsgfaH+u&WyUVjIx!H`va zr<#Y!;na~1k5ihPpB?RHR;(DE2C}hNbk|jUryWh% zj&?IER*X*e8R*njjE;6QE35d<5bDvZ_)gO{$Y?7@N4uF7D@I4VnUz(1XY_}V(N>Jk zSPMh(Dq1nJ$l_*}8l(nc#dtq7Q`)alm$l0nf}I?fQv5)wxrVIbJLCQiS#8CrntC8q ztQggBW)`)$dLXK;yg&G2oH4E?x;900+bm|B_nE7nqj2)&vgdBlT^XB1Mjh&6${QG>0R6>ZI!*K;5^V$JCL-Idk+ z7Qef#5!{M0+L|$c!EDMGAesC{BvA?UySoIWR5JFZ)0#1V@n~>#(ep2%@7JX422aXv z@TBYpPs(oar0fPy;?ZLSld>B;DZ9awvKu`4`z$Io8OIYUoRr<*N!bmal-=M-*$tkQ z-QY>t4W8VmKW>Vo-VN^i-8~*TQSiIlivuKggXh1@>>6Utn7@UY)7Ff8_}!&f+n@Hk ztIJi;?NXLYwty#P3wTntfG1@Oc=99UB$ynCyEK#>hy2?~*#e$C7S#jeWNra3=u79i zzTe&3K-%gaTnp(wwus7$#E~oxI|r?;84E_{*~mJ#fESD&1GctiEEuyMw6Qs?&{V2*hPJ)hcoKfB~+=c8Dne7hSAKU;EV(*jY@0AVt`iU_Nyuo$ zZ85$z<80!&#GFyvY6gHDmk>H_U3o0pirdxZ0XA{(T1r1>}qxes@Jt&hM^h`bodLJD~SRes^D|Vk-0f z?$SL@tG$V}HDeR;C}M5RIEnZmV$P^>5Hj(vh_yB2(ZtJ%wKd}@#Ao7StIKe8q(avS zzJ*vSbiLpQiKRmC7W^EsROpj}|4b|u`ikJc5lh9qEBJe2DbH7e3s7FC5o9X`3Ql8* zn}|KZ9f>Cq*9z`SJcpPENWpZE_-NuL!BdD&A)W+k7r(oDH9ua?suydSB;^a8Je?62`0VclS;SyB}9k{Z|l0 zY|$b{(hB!bt>AYzwmn+L|$O>U_}J zn$h>WE7pv@-(9h0Oq_8%WVAKoZhm(eRq7R^2Fpyb9Omux>lRGEySD=Res@WVHDlsD zmO&3X+zuV`Alv0KPS2&hM_Q<|mG0 z4f?D3yZhZ`HF99)ZO+{1s`x>$Spvbn-(4mw7}ku^iE^0MjL88#0L7XyIf&CALr%@k z`Q24sa?}h8(3&wh_7sqKQN|P|If3&DZOxeTyQ^38lUYiMHDhwf%@RTT-8~C5tr@A0 zes>w>``zVSPOKS|`!hR+TZHQa_({Go8u)&9{|1&=Gx~ma#hTIgyDO{tIlsHwnlZT` znU4sxX7v5;iZx?$G1}YcEy@8c^s#TV$GObN3Nb_?gL6Pm9u7q-`%C) z{T#o$M@8|@#`Lr`WAbXQb^J5GyJF3l^Sdk7jLD6xmF?P^G5HPKz_(^hekYCdv;6Kd zBQ1V+k0WaKyUX{Cm_9Wdes_sl{O%I9_}wM?C4P5luH>)g!|(2eNc|uA-Q~IEzBS{I z{O;a_c>l=nF6VY*^{LtLyUP?>{O)q{G*6$J{U7+f~p!xH$ttfzVe{mJRyDU*|W=>x$wqkdexz`hbIlsFT@Mvmp){vEZb+1F0 z;-9&;2us(sqy0Df1M$jlf>CEq!2aQOQ+)PpurBeDZo*&9S$v<=LwglGs zkHNj81>VAnNBxFoc+VkN!_;JK@cqteb6s9iAAExQ$eP1C}#7e8;$Q zoJT$OwRGab(1%DO9GJKFL`kv(Z&Y)CMz{qM9quMPfUw~(K(_|)7{XTo8O_7FZo|BB-Icf?pyQ#2c^LI?C%fU)i-wEh_FBI& z2O?dL+6$RjM4>Lnw2;R&lSb#w&~_d~yJEk+c^12{b#AuZ$ro#7^QH2~Sxcay;XOZv zN+JKEOP(ggR~W|{WtFDNv{jkvE^RA=b+Yl?=zfcz`BNcS`@Rp( z2bhKwArx4Acb-xEg0Jp!1gw()97}e$zoQ&d;lPGwFwRor>&$&x+TLjQ;V#jU>2N^# z-Qvel_uDOw*YGzpnl$`_ z((tvv_61nUk0X$kya1Kl{RTgPP0{^>U4UN+knLgg)Sjom1aMf=p7XMp_cS<&qcIl} z<8KucbH?0Ld!8olS%j7CqPEOM<3r<7RcVspz$W#RW9-B{F=(v% zE9Mt^sWNl0{`3~RRM+vR>oJdW|FNHI81d@sD^{G-(btbbum7Tjrpg?XGCV9F()& zg9?LjZiP>~=L_|$Lzi_s48*d5KH=TH7xE$hg!dpEMWfSGM$tgeE<+NA_TT1QM5mT6 zU+JAox`8y@sc1E4E!h^9JHS~8GJh6`d~DR@ce@BV1^h@BRQ&W7If0lT$%5)^;`535 zN*`306JJftSNfpZKzutc+JBq+_*>BKW-L*w9o;}0E??=@r?;aUST6myshyXA4!TXq zqxzx?=abO$5cM#w_TQ$ypMc3>l&|#go-K-^{743exS}b_k7U>c_90RTMxUivz$~Gz zC_j>+h8Th!oXUZo2$dD^BUw;QC7wmhSNfouN4$ubuk=B+iugogzS0NPImEvq<|}KxLx|5Io+@}T@jBvpf=?pe zNW2P^qW?D4n)Rstx2bYgy*mf}LRFjt694&1ua>+4G8R)Wy$7ZorK7e8$ya){^=oqZ zO0QlGqlJt-z7UfsoiJ+TF*-v8<69S#WLpZ(`EOG%u&cQA-=?-bB&p}|t{RXN#Miaj zDac1SwUUA+MvrhA?=8cfPdZIH=njKSxHW0zzD2s6be^Ga`N)-5BeJu31bEIjxSGx# z=%K!h>>iAwMt;j&8Sd%eM{d*QIGgmn z6jAQBL7?wr>H09`Cb3#dkpfCC6_*9IbAHh;Qjd2gmMXb^Xk)YLqsb>9W!M)UmKXYv> zJT_75$Ct zz%HG~v(WFyPdXFZ>30CNRQ}c*OZ%DjpVlG00g2;ENbfx2qcxr&W)|b>?{SVe(+&3A4wg964eF=0IMWUKPitG}8JPuw3-Djyf0&#+?M|Qv$najod|G3}5;4EUz9v~~8@JK>VI9M#wG%KmQ&&Ep)=p4DJScvU zim5D*PiuT}02wYL)(h}8#P!5_0lp`3A7Z@#Ka_YRv0i}RkN7}hy#PO(crGrsT8?W_ zDs+k9Gl``_PZoSBu~g`Vf^R043cXJ71H@9HcL{!$SSscT!LJcZdA11th`1P+@H>LP zBd#I-QgA-&xhF9<)Y^*gkintE#ezE!??+rCcyHp_#63ZU__TIfUxgZW#M`P<&Z-x0 zt4_sGkdWci+F7y&WI@b%X&sp2ZPnQ#B%jvK){W%yY3;naiLt~{37OIfu>jBL3=s@> z0#^aEEd}G04l!wQUXZTBr?s<<^9(5BUB$<~A2GHDH@ej;5dUZr#s-h~)tJ^R7au z|M%;L|6?Q99H{(fBNx|%{E@4Hq#n6?g0$7XjJx~DwGAwP?)b0b$VM-IMc*q5O6p!uF*uO%BJ7xP&IGBOPWN3KutKTM84a&-Y2?n$git^veD ziS@{}5AlA)dgPi;JR6tX$i;cGKXU2x^~g0F4U`+XMuX0cTyKHq$TgpO7&kX^DcnK1 zkxLZiMlR8m8@Vn=_M1m88kaSXTnypJbuSfDnLlzRd1rdWdgQ7kt|itZS6AXjVm)#V zByJ+sBiFvfJfYYhxn>a0!3Bph;u@3+T_E^WVyV#8f-fSL3O!Ho^~6%4R|&p{SSs{3 z!90RDC>8UF;H|_`o)-kaN1VhZ{1?Gr6IT-N6dYzfcO?#hvQ-K3K;op}I^unaD+Tu= zoAqW=Q%;gaO6EhrR3d}?-{C0-#vWKP-(e)6yGyc zYtl;bJwug~&NE`1Hd}oI!!dlsWfIw!B!+%m5}a>aT__ni9NZ-5+g3MXqi{XPNzsz^ z$1~w0$Xq)E<4_T2!DjglWK1aH9M~);-yGkHIn70qB2lL5_uv-y#pQU;HNA1Z*4#w& z!(0Z;A(BwZR9~PgV)HM>?3?YF@#~fxn^#hTG=BPP#DaYy8WQtqH%$?<{ zhOGRV-O|k14*)o^6j%31TxikU+9>CE9qz<;m*AnelykfeH=Ny!^>}?bF`KtskJrTI zoB^vgY)f&z6*MNl2ZkQHe?S-~p6mR)U>Q~Zp6`s|dpECsu$ks5Y4GvKM|VJ9l>fZ`~bId}P{}FkCNB z`S#g*;u&a}cm}jBwM;w%zAbgAW#TEe)WI?)t%vVW%fvIZ%fvI3n|LxwnRxP+$%no9 z?i0_Dl6g||#51(V#51I1p42??45>XPo_5Q`)81v`Y40-ew0D_!+Wy2dwCBXrZkc%6 zyG}gqT_>KlWgd@W=;7Pmb>e9UCB#Dkcb|BM_Lz8vluXo`C!QfC6Sd}vXGqCJt$E@Z zQZi9%o_L0oOw>5>49UdPZk~9C6epgxROrbP&WWepJn;-EPCRX?(CZ|e6HmK&;u%t$ zc-o8k_<2IYIq|fcC!Qh2iKktRi%dL2iW5(}hM2uKq&V@kr92L(kW4)7p$zB56P=LZ zQl1*YoOs%^8P18P*izfAk7wVKiKpE%@wEMkr`S^4OXfkQAZE8rJnfc=r`fMsbk&x(ud#%yzQ$fy zy;kNUWAO-BIbDx4oBVNx!!ZAz!XrF4&fMAv@!voRCNSbiG{938)hpwKBco4n)Xv}@D`ev|kjq72*&vXs zgv*m1-PMxE3rU_J!dHsdt!!BS@c26U~D0zc3;7HIBxga=4)enj&D=lzXH>l5C zO7htTkd+%qo{OyJR|$DDp56KFA13#3Jk|5-SCL$Rew^PR+@tz~>?Wkw31p)vySfj^ zK1-2m%*(&R?2gVKzYqn=zsltDvJrm(?*jQ(o6^zZA*#DZKq!74leyO9NM*+Zg8{BH zZv{~Czf$RX^Ac*s!J-Vh-sD&oYs?>L-NrON#)^FYU`wYl3{8?hL_jdUv=(5fb-!rp z!vvcws*T03ZUPu4z>Duo1;Z_-k%|9$D8L8-wehn?0gM#TV1)K%UPf6o08Xg<+pIT0 zB==$!-XS8%Tc9ETPSJ{$@BEDxy=KIR4+rUG8-X`wfNom`i9mv6?~!1KRdo1bu-pxd zG?Km1a3@U#J&L}pgGM+O9d{K47R&^5Uv>xV6CpjGbkN;EdIA$x6yBd30kpQsyJ$O5 zv}xgkeBn%VS`qrD7M`(-@Jub-mbsk8RFwM}=|ecdjk(!rpl6fznBtK=sN{0y|0pS` zd&^YN^GPF1ndsr1yt*$i)~~d{016y&jA%Y(Cg=ssNQ~N+@Xm2JGPz^qo^ih;y;QP6 zffct>U>LQn(%PP(w&Qd@mykZ5w{M48nz=M0OtTGAklVQwBSy6EWI%U5 zV`dqOWf#)@NeA6L#vMpnxf94gfrY^tm3?LcoJduzf((vcaXsi_g;EYGo`S%o#ZQA? zR(!@(IDaob7;%>uj|XQ(@q^I0(hESw@J1tal@XW*R&2uU(BLTUU@3VFmlX9Hg(_b5 zSD=EMXQ6ACGnIm^5RX^<0MaP=IwzSDN-Ee@duXGdQt%-YFrgpz)#7ZhR+}|NH z@%9`Um3unrj!f?qcL*{T?>rFV=NM&zg*gkO_$K}t>fn<^63!?bjV zHI&vT%IPN8C(4nHZ;pB?q_uyd92c-;Ob2ki7q@Mv79H$tx-^` zPm~k2awuJ*7um|yC(4l@bM=XGERg5w6Xi&kx%x!8XFz9MeWD!cT6ac&j5qyAH@Nyl zxyzul(bXr)F>aHqPn07)($y!*-2$1h?%$dacR16X=js#XcpDt;>J#N2gv_eUe2n~w zu`iOg&@e2rJea6KYS6@!4H_uz*Jy;b%NT;49G6mmZRQ%XsUk7%S;&^k-qB=}3Zr$o zcQonm9TnF|$;EsShF2w**D{=YN0Tc_A}5T|h@Yf^MP79hfcE73z9--JJ^8-x ztsMqwPrmPa@_pZv@B5y7-}hQ$lt($`pvR&I3tc3}gC2`Em4h@~9`soBFe^y8Jm|6L zcWkVf%V$&3BUO;`j1r2bD1*FFgQJ+0SW{8HMF*pC9`slgwFZJ|#P7sYt0-nsP1cCb zDT-JNnq}fb8*v`=Sd_5Xk~mtYJ;GPxCsm0#JP&p(N{Z@I`DoFq=j{j<6N6Uz-BC;o zTKVsejyfB`6_hEJ699`Byh8Z`+#1D;NTMY+;PNg=NyOjtQM~veaCG$+Uot;}!v6Q4 z04RGtiZ|>;PQqUCi#H$_F86#Czs&4nm>mdu3p1x&o&Z?<3R?ohDXP~f-ntwCvggBV z!_FGuv437ClDb@8w}L!ye%Y~qvggC=`+KIrWB4Jn;$Nv8 z`{#{Z4%+=;0HTcEgxIkBK`-^jlz^>V9{cBwy#xH1%a4-YIMV)}kCL+WkS~=_PN|D% zfGY+fsY|F*8;GRVl8s{~In$)EsWfUnvOxRN3Ub=;lar&KBz~5d3%8DXh4?jMF5Eim zUE+_3xp3>KuZX|HrBpsSm3}-pA8FD+q;$t}u(g3m>8IZnAbl|qDc$*3(Aq$x^owOt zeFrNfp_7XgXSSoaw;Dd>!V)hq&B(ap| zP{AvSr98(7KATv|bE@FWiKRRj3En^~<+)z)L&Q>^dj$W1SjzJhDB1H-+L|?7DsTR! z<*a%!5Gk$L3KBA0xGi0BDagWD=}TRrc(QUAb?Fu%xo}&$bpW~i9~;T zKM5j?&Je+l9(mZ7f&)hBbGW%(;! zWlfAMdp^pBKLgTHf5f$t@xQ?@C6`bP)Umj4QmsgJK$-#}jX}jw?6i)GfOJ%xj58tY z$W``yl#Q#AunxG2>IooH`=kC+jHDIrp*pO}j#-RAmwP_Smhy%%++qw4Wy`n=AM^jl zvXfq*z&oSBJo!~H4VMS}m7PMin}yDSJN3&SM$$pwlHM z-qmQU5BMvaGbDjbbI(WFp-jPWdB9)UVWfjD5BMuP{1)Uy=|avWKj!j)zp^73wJ?1s zlAE^%B7@v>Svm73g5Bf}>koRtA)r@fc)(xTLaJG1R`GzpvPGO5$N_&qjJ<^g|I%c$sR!93tE^IOUvyBLbkFf;wp&&yUkjDE7+%t?Q5p z3;qEnZ%FE-91i2tQhLC3fbNNC$MhhXSh)0HogU1jvv^XbN4-b^PMp$XzXoZz-1Cv1 zz&VR@dB9(K5`|+%sT}Z^&Qi*~Y77E~v`#Vt_k5%e_yO!DbaCn{%%qzbCT*V{!3m1& z`AF~2>=+T|u_MAI-xvaBphMTDryd5DI~3E6^mHbPN&ieEJ%e23-iIEMp1BD5%(%~> zOQ&a%ZmZ{pOLMv`qg3{fqz}81x_HoDdag{l+)Y&QE0hPycvxWi2t5HPmBRwl3pO(X z&C=7_8@5Yt*y+V&!$%35`*n~tT*@(OH(BZBKLE=9k@Rt#70dpS^g43&ggRR27qHl< zlfwejHD*un+VQZ!biMfu1dTWk3ru%1nHOcW)rSS9mvwA~wRomyWTXsNbEDZNtD1)e zrq}-g!kevX9u}Csk>EuubNndi*+4a~Seb{}A{$vN+pUbW=QnK6udGacM}&MQ4IQW- zg=bgVG+EawP)|=1=}JL)fqEVmm~JqckyxOfhXtm)nth2v^*aUt^)UHL6|?JkSYW!B zptxOcvt#rTl(6f0SYW!Jprl=Y7n(UeP*Nzg>-mL0Jw%Xa*V7wRdYH+2F0<>SGl52# zafoE>`pzuQM10ah&D-_d9FU$YHP&F)(=SGPipdk^8|``;a;Fa#oqg zy~13CuutGFhFyhqEB8aW5g84dKObWf0Rcy`_s9YfOO$()H~_Sx*xh9wcLJd9q#fI# z66Kwzb-7cF;r!(p$h7wquBNvS!YuF8sTi`o*_88!PRBcgcOf{A*AX&~HwV|Sw;UYX zOHM-{@#aCs^{xRO@s=Sp&$|L~^Syg;E%5GuWYjwdp)v1Z(3o7`2he&oKk1h)AiwqL zJ&_alTIgwg7Bhv}EhJl?Ls}W7;_;-s^lA#RWy@Q$VGWn%O$UUkjYzO;YQ%0?KV#uuO&+=iE`8$Tf zdBLiQ401=IU8*MQwC_g}RR{4YqujyBU)2;IOBr)#QPaUULfms-BVXu@y9TLM%_hIr z-3t{^br|cb!5xaGsG9p!Yp!D~!_ZN6>>og9Gn*Shui){S>#WQpjJ%QwueUO1qmims zadmm4l}TXatvZh2w^pVBV|CTZEcM-1rX4eQI>D1x#$qaGF?9@i`}Y7ix2#--yjwBK zRsEW!eb>r-nFaXG4rJ^@D|0S$bHRyF{fU*ivOmCu1fN+M?)0fz(*_E@vO4ulBW|G6 zT>Mjk%*_}ps;;KGSfFYh!40P)BxtoR3{;I{E^cIC&`blbVA?lnTn0S7H}K6GmjWkP zgj)n#CBQTL0B_LY9`HtV>8e{bE(ZQJ!*A2L74Y+W1K*)>5%6P7?{19?DbGUPqj3^= zD69ECjT68rbjqp+G>!v*$oy>5I0pR20N_V8jur+oqbUE>t*B)$ka>;5FLXd9)dn*6 z;s&jHxhp_JATxr^zx8-@oyI_B8}slQn>LF$c*1GW6v(`Su2=OsL&gR&U$Cfe_JV>* zfz0NC0DtAJd2}H202RD51|h2gnY#!+m;i7}AoD0jf~t>s*Q^O-9%JA5lzCep$gE)l ze$GC9cOdg;hI~5|b#ILQsf+4c*R(*A65$b`QS6|1*SMGJVKdRT0 zj=8rX*VQ+X_S`IGZf5&tT-uOSZ@3iMs73nJ;V7nDsH!fS2vl$ftLYLUA7FXbPGdTb zIuQR9Z&*joCds=RkuKxySTL6@v`!**BYA~H(j$4*wKqV-n}!S-Ugyz#1g=0OV!rq~ zx^$-MnVkrh7pto0^jLU3d-oq$L(09L?Yo&BDCQo(3VEIbeW5&xs{Tm6XOv!m0;;O7 zJamHev>6MHs&5#eC!tk;CmTSH(2kLXyYD$kq+*lxiwzcQ){gf`-r;we=Xm9D1Z zpQ7%oVkRTT;D-@<<08gojKisvU*hU2&@! zdpR__52EDN_p^2U)_j0$@T0~Z?Ye%td@R|)eG7Mb)Bqe;{R~+me zMV5r|mXZjrRsN|ZjNXOheaIN{8wCD2pftqhfXIvEm{ddx} zE5It`PcDSjTVHKu^E@gf3Cz@+#kj1n}5wKa^X z@dvX2wmAl1PW)zy=^<%e{8*-vC!JLhvF6#ou=q^7f34F!)Hp^t~67tE6GSs1LHFunpe z@=SEu+DW{73fc??dEgYp$LG)5eHJ0uZ9t}K<%_1_a)WQ}LEXWI%Z?+^ytPxPBCr#A zsT+DaNJpKEYbBfX5fCZ4oYn@^4qm?G#j3=mfES9%1@WGOcvLyMvb|zqeki`vrRqsRq_ucopDQ;p((4NvewG5J>Km&3iRQm zC%JRccy;pmbSjE*4zgYv9f-v0=CjD|VW{4^g$l_SZfB}qL|VD8qwm)pLlrUiRWwW8 za?*uvhXJ6EBkj4jFzc&VK|bT=Vi9GYZv-3+>UAT_ zg2!n%4Kq#hZ<*>-K;VcaQ@Z&!U1 zNbJu*<+iJ#V9Y4YwyUt)qMM39B?SuZMvb zW_I5*!Mc>B;qHLen#*`wE7v6dN|u}BuLqu^I9zqS9P=0%+G;kg0N49;AY{BhphisZ z`2KvM`xehVtc_lS8+KF8eF5CCZW=THng>rYc`YL=x)L=U-L)SLe~8a9#m5 z&Hy1PX>~t}e`rqd(cJ}k_on0`0Z%hjE}KCi0R}mK!sI*Z*SJcLWZ83t+m>Upa(2l_ zi+bsGj@kjiwg;k6m`RY$NUIN6c%aGx`zp zXVSI$5%W6f2K|WHPP);RN6ed~v#va0{zAIRl?TjQq{q5{8H9A-;r%kn9oz`|UD8us z8TH>|%gxC^(5U%w?oO`&U~L?bnnV1fK_J7 zl9th~CLi=xoruk3fQ=l|s)M3y%gl9WC3)^)vGUuAlW1?-oyUfvMM| z{h;9)#_IMmQtKryBt**S_6`~17(ir=ZeKM^NDQNUui>Z<^N)<)>*ARpUm@AO*PY0- zrhA>=%tlC$)mhxJZv|dNhI>Cfl=K~#)Aqg&V{zau#_i3mFPd!RB2wU;7L9>-Ffc*; zW4Jd1?~DW8>p(o0G`rWKR4o#{rnivvzpc5A2T$wPLUwH-yR?v1M- zSGS)rCsMbcwbborEp_{q)U7!4_?n_!xo~TSWgZ~SYDT45yK+g#jA_19pr*U+hop1^ zh$^GotzdLzX-&sual5jNpji!Fr|&|GmvPPCOPq{1)9^9gOvA;vrj2foP_s0x&XdvY zC32+olae#^HEG2{olj{-O=H{b%gBKv3&(*D?a*i&(UXBmZf*|hRfL>7i=>@y#ZatC z+$}VP>2Wrq*u4W28Hdhu?cPF8M9O6F<1O zAAAghzeey`2+js^Ydi{K;OD+ro-dY-`61a-5Z_RhF|hsR!zI}Bg$A)O87WD6zHJO< zNrF4gahLx{vOmivd)K^=?iMlgv>X89AgCJ26Xpxgr<|fcBta)VF;Os z{1`(A`oVnr*MEIE7>xDVWf-3LXRcj_*W9 z3V~UsQMwQW)7ggv(>k35)4K)4fQ5cJFsR8NKPF`lM5t((1LAqgF9cD&2*fH7vq20y z1B5wl*c$#DKkRD$n_vuB@2ku8q$N~$CjyzgG2m`LI9I|882luHnJIKrKRE7ZhA+9< zml4dYX5Y-o4d>(IbzgQ9YQ-!y&%>0e-w5#6BXj+-Ahwg}4#Hb(8%-3;P6V0>G{U$V z21|&Moes{)3~vA@dxVch9s|P2o`5U0WX}fi0Hm@PgP^)$*MKk&7`BoB#tplV|Hcn{ zoc|`E|M8hQeVy*;u3whGm!szTtaj*1qv==YobD6-P{WWymHQG?ksGtMc{sZi3-u+^ zltPs*@e9=tL=(lNQ0st3oCDMYF{DtBFnm+4P()c4ii)IMR3znkn*_@hIr?XnYnY$K zXiK^F{b%JGn(GqX^$j%UPt#Dgo96j(3Vk)^+Ha8cvGSn5i38>+WM|->Qt~7-mTHB=c!;IHhT0z}Hs}mujh$E1X?0rtFS>LC<3j%ypCg zxMS`|D8`C_YlKI`Iljso2j1vc*+>L$*TI&`Ae4P{v^mafFb>RBD`kS{eo$elirr;G zen$3#3_sk+khIx%EFq$IuP_dr!4vjAaO4Fg zXdGO~n{3EtaKeGJe8*(!M!@}wdLX1uzGjC5-~MonBqi~`K=4#!8aEHscjB78`T(41 z^N?PBL%bPt^HAwq6~r`Un#RpTrEe2YKLe!sxBHMGxasigXj(OLZ{5ONPWub$!PM^O?(#G5$JDnf2f>m?7h5?QP9m zie&gRhtE78|M+X@JZoiOc^+sT7EtL zJG6baR+2>JGsZpmxf5`S8lfc^fUQ;M1JFH=vHO<)ykL6>*aj0Ue4Fn%LP@48$A$ejF_UH-5sD{E#2_l2%w1!-;DrM4LyN% zpukd=#P=m&`(98^gBFKA%Ywb6(9XRhLH8ydL?W{g9H)%$OMrT9-wVoPjH-PJ{05}q zXkP+k<6s|Fz)K*dZt|gO9YCC%1Wi(7YCG{;#7mK6Ob!c(e@;x3)ELfBKzIn31Wi(7 zDn`urEZg^jau8^TCaKO2oxb)ZP!vS^4tP7}O@SSscy!6y?-d5#l&A+eO_T*227 zOL?vkd>65l=T^Z_5KDO;7QBVn#3lZ`;CG1Q#Bbo@`x0P1+G3LGl(XucIp`No#STb7 zh9;@blD#2Q2wwuj5ne=-RA-BjG)Z-~9zd@4f^ry0BaFS72ATd18fJ8c2!`u1CdsxG z958G#Np)UeS8=p2fec6};;khcvv{XFhAn0;sx%e?+JM$lt>;nBp_z*+m%GQ|nuw|( ztsI)UsLENOV-C$+R2A=H&!L%%swO|<(9A{EQe~|}GZ$4yegm4DV~pKz7+ZePUI=eR z12na4U*sMRdT>{(6;+_I|LRe2hCssij}q=Q4j{rf;vXg4Fs&Ku{q{!@vkH9wD8wav zYPlsWZ#a-Scqw#($>*1t>wsxweI}nzu9O!{UozYZI-bWb#mf32V3e#z>D{_bU_r|8 zqmDp2^EDiV`rIfk@!C}hCSQ-?MQhF>6T~vhTld&{( z$y<=nV`*qD+3?FU7aTUQ_~6Nh@i^+o2$LgzS(L&ut`Y7|%&}CdEb(Asj-^VCC7wXc zu~ez4#ItbGW2yZyKSat{YVXkLb1bz#orUJoW2wD!BxpUB+F$$yw1S>_)Wf)XEVaM4 zF?@+%7HsSnMdFtQ8~a6*_+_zo^(cjn{ZCVuc$C7%{;NehFcMH zELEz4xSE(_sZyPZdk}LhRjNPn5Mqv{N{u6)NX)TRscFQA;G)zLT!T`fM+rWeSSs{5 z!50!sg`O+;I%28ND+J#~EERgI;3tTsVjdQ}g;>h-yx@0;D(K__OxaUJr;IT6!7Oc16_Y=ee5F>A zo=$$AIw%185b|T{cBVMzSkQ%vhVk~Hq+6*^$Uls0qMqT_+6U0%MTB2u?d9|{72#G} zdxdbhmEK;-@*8<9(Q^pTUkjqfu%2OzRm^41$BOR}aP>eGqWn_?)Ib1ZYI z+7AXRD)aBC%)g^D|BlN1J1X<>s5QDaAc=uejB!}dY>)OmZYJWvHU7wqa=;sSr6cn zUo9m4=oB>Y2D0ctr=YW>NzXY2T_sI=rzq$tJ(}+(1xrcVYBjEjShVs%s7fAcM5{<3 zOXNQX(yt_I$pAEB^^M>_y2Cg4pX83=Xs4?vuDD}3+CVnWYtlQ03uVV}v|U^DoXFZf z2(NztqLFc^sA%V{5H+l|13`B&AyKr+igy17M3Os(qdi4!k}9IT$X1H$kkQ`c#}s!A zNB3F{+Ed&y9PLB8OmW9>bnlA;hLKU+F&ynnx>j+=aI_!k2E`r2(X4^K-l(`^I68=N zo7CH*K@TB4QgO#{wCN($_*lgq!_nbafj>_zru>N0Kp(BRV>mjRv&U7f=A&|>W2;H? z7&aDJdJsdU22Gq{iPR~f?+(9Sr89C5yyoKNmlZj#6BKCgMX{cTAXJ>s#dyO}K$~dwEHNN09%5w*5d=W|H|jK%jNg`JyrE~^*aY6hoTXkeyh5xtE->;dFrWZK7%VzbE^-d znAHD@G*OfKqpUx`I!#o3U5WL_Sf`1a)L&rz863>kfdy~;FUqoYV8O3S zQA}u>s0GKL$t2Y2?ialIF_g{Lfd#)A+YL?7&wlp9d(GB?1%J9q!P>gQAPh*P8NKQ57pQ=1y>)N8`vnoif5`WDvL zvQ85Wf*wm-U5Gzm@e*v3`rxx3T^d>$js6a?{g-0feyGd#Yd{K`&be77V@@ zMYN&2U$AjA+H}hP~mR;D{7yq89w%1kch$E%;#uFa#Ng<~%7xh%L%_JFi%2 zCX$D^l)Bq{s^AqN6}tNc|F&PA-U9@YsB{gT=}>t23Y^N4ua0HOSI4q`igAQlJ%C@8 zHFPQ-mIxmPB^J))&EX^rxUgmmib=f#$3DD&FaC1m@MV@hgCXV|WT_d?lqy>PEly;T zXp{N{6qEX&d4fAUCN+;?3;3|`>L19pAK@rnckPZIy5kLUc$4Wct?OJ}xOo(sX|6ym zyp0T#&_xgqg|}xDSc%+8g&)3)4Y&fe@FQJtGNHKwweW794mDSx7T)tPo9Mq{`J-%; zuek!X@LrY+HCLb(-uD@_Db`$pT6jM#igAe^yv$n#0gxKa=$*}6o$SOV@V4G32HBWtYtZ>C|dth{2fm*ndPe^F4KrOtPRf?Z__u8T7o*VeeL>+g zlFb%w7V+btkSkCNw|)nep9Y0ofm(Pchx^N*kSkCNx3O{}C}h@i;r2H$n%@QkumZL4 zA%c;DnQYF{I}m>cr}+j_PZ}8V!BT%K(St-Z$<;FxxigEV*P*KKx&-Wd=}&;igyss= zq8WVjRA|bg*&k*D8iYkxJ%wUIbH!rOwX}P+<_grJ`D~12NLhheG?lG1SD+SM_Ojf- z6{tlE{sv`!b&UOW8&out*97-PwKRUZbE#!f9fyN2zvB2~{K>c>Nort^6&Kx{(+fRw z#bwc|$I%QHI>?}C^+#FMTs2zM!1EZ2tQsv^e=%?1s?nk*juC1FZdcI;p3Xq@0B2^P zIPei(8}!w%=#F|+yFUPU(NnB^KP=on z8&7|R-MkhSa@AG7jPim&gc4QW6-te zhTs+4XTLgDv`G4_NDkw4T+x!?ySUGOb*yNq+&42hjH^bAmIt)$>{rK%R>~9XSI3H0 z1vH-QSI3Ih%6%=#VO%v@bZhVep7)95FotuB)=OQ7Bxxj^U2{{HCnVOcok2# zUmYvDJ)o4bUmYvj68tN!{Zc1-kW>g;A(w%P9$!S6f3}{~Y>?EXo<2k|-^h88Uqv~o zN$z5M{R~w@q)AOj*_fQgQ+MS+WsR5%1vMi7T67VN`0X|L3A64(Ej#N8T*=9L6{m8u z@^Q?|T8{IBvS!Kg(>OCYD-$u^AzA;6Gefg3!kKYdM{(EqtRKutBreEmLixh1Z{RpJ zYaXsn&AJ`ur)6D->Obs3aoDD?Y>>OK}jY=&BeG!raHsE+ocn30whCgYV@@jM?^DSIj_jz+^ zzPXgCzCFpH0rzIAXH%7{Rkt^Si}+D7hbPP|e-+SJSnQB6SYY=A-|`TFK1AwYyAyTE zFuhdj|F#XVz43F%lqm!#Ws~_U<-)}JL@-B6f7p%>hOK?V3=GJZf1k|9a|H5p1oCWT zpg%`YGrt*ifxfB#81->CO~p7&-9X-ySL|?*H+2VjTeFb2H4AxLyEZZQIXf~45&8F{ z0g^O`v{4a4K{iJ!XrSe{N zXk^~Y)bC*Zrm52VNAdi>V_m4qTxZ=-m8rXTvo-r}wr1bW)<9L`2Yo(1oFnLN{8ecu zvpyUj!v(B+W0;G&q2BhMlbG;LkMIV96hN1mYQ^OCi0{TU;+v3dX_|z)$ld?b6uqVs z@AYZ-UwnyozdU0#uDQ2G#MfgXyz=sz<7a!BVq{h@FW4ibw z7?W${o_2fcX-zVw8__5+wu{A$YxU{0R?TcRsW7dT8B>#tX+K*eCS7BJ4BnN0Ms(ii ziO&0k$lpYBL*!olrm29ZsTbYt2+Y*WQ8z?x>W;{5%@Vn-St7SJ5P8X+py$7&+>%83 zgmCE%=yIH7dztz;$@Vhk#MomN{xE*z-(aXagYawt?ta{zYUIH78XqC3%ogAtMWe*n z|4l>XpVC@&y@$Zfu-J5c8Q^9MaI4q?A_Z^p4UA*7NY{U)p52Hmlb*0ZcVitbg!wAz z@|(Cm)?Ig9Z($!Y%vT>rAHQPnW4~lOag832H_HDg2l=(MMx%u)U#0z5%LeG@TKgV@ zSi`@cqMvb+8rN084grYQ7%f`-r+kIoa-)2ljCO%oRs#~5v@epH(-4z?Kr>_t+a|tX zNS=ug{1-g3rN1*nrqB%eS9B&O#{D=Cb!JVB(SHr2GPr~`?2`MEiLy&!LkCw3u)URi zhKxM-Zd(<*<&lGEJMn%%&$T*_55&LkV36fPH&<~;5C^>>sOpLw8_NL_~%%|Zt z1N2naiLvgHqimz|`ntZai~2T2>0644l0i=<55bsWyqR zFWE-!k&mVxxjuTNDas?In7H`Ly$13pH5)?RBvyk1JxHSbDRZwQtv_+-TxK0?;Ugc% z*b`%C*+x9We_Q&Y(UJx$mcvHC|;OV$DmHEbq*-N*AcJU}x2i0!Kc zXZX*c>mzJn&}EA9eo_Q;J&VqM!_H{6K17&qLtkSH?R#tXgMa(c#K1JwCUNnKbl|+) zj%o?@!)d^&*lh7ZH(cHo5abWpJ9srC%CP`AW8ySPXCINHDU>iDhZQR@>4%)F4$oZbRx zHm5-|6RnNFj2a~-e93!_YP1k26x%Lao2l8Myo-BgV#0U4`|ol0zh=`+Ti>6RcK^jc z@$Q#rf1=%cd!^lL;7A|{90w&b2`Le7$55D(n93RQ-le}nCG%f#n7Vc<>f-_++|=uE zz0Y4T8aI`bKFqPx*2L8Hz0f#IkdDP;* z0f$h@;1p_dI4|0y&+f8Ec-KLt0CkV>CUiN35AIQdCw3kBJc@}7?h)Q~SP!(w$YrtY zZ*aD&?pnjoL}>02-gVYvY^mqpi1O@*P{gJm*IHXimU4!_KK7 zT0R(i=w^4V`)aDUg z+#|f}a+a~DMRwOUOw7@b-Gr03%A4w^Z$x<=%NWw2uD8r#gI9RhYSUmk8#LS?J#&xn zuIo7vMCr1-ZY0%c?h)Q~GclFWe`NW#=`6CrmQS-mHG8|$^!BYAQRX^xjB_K)+er#N z5hA7JE!t0Hj-p{8p|1)dxUqrgk`O{M|jsA ze3|S-Mg@Uz7rV+>j5hk(#VBU!5+2A{~_zjfxpLpX?c8>f7Kr?d;=~?T0SuWx8?$(!KSefI0 zi8d{W6=~jQli+eCp}5<`AsM)b3B}ze%Mj)3Hr>it&cIXuh&%GxM!s&-z2A16&wcAM zjJ3xnujj3tVeIj#u_&4u#vYIGG!lx*m#a|}(Dp=E%=^jbnF7u*X6a3=-@!U(7_;=< ztp6qJoMFt;pJ4q_);YtNr9aR5J{)o-p}6N8zeZVR7<>L|EQ)4^vFGu9Q2J(uvFDo) zp=@Rtd;VrjS2RICUtvGIH&+shd;aN)E{NZ9hOuWNkd6vD!`L$jq^H8qU4cp%+=C}% z6mo{KrwVe}S0QH@duGU$Vsy-;fP8jVz!}CYUB~(jtaFAjOY<{I`3zrZC(w}5~H|v~X%+gP?{xl9*`X6yj3P7Ke`gd6ufW9d8AF(a~{ejfq zU|j(EUs8XIbph!Am3kK7loY^ZqLifvvM%q_Tk55(*P&_tXsJ(OeI@IYrG6#rn^~`x z`XbivVZBc3Ygqpz>no*>C{ZH$Bf8b;f&M@{oB1O(H_WS`u!96&`*z<=WFoc{*9C*^IfK1-bD^f>7u{_e% zk<9ZQpf|hcD?%!qVeI*DUy-M0Qh$}ZhFuf6tI+c&diC0bQ~D{Cdu5TC6T*DGvZ;Br zFki16GGDeZXs_Jg;e2tTh-)hX;n3`T#uy$I;tKu+kK6;>vRD?EAU*6LH$4|mgkSJOe zhxh{S=synH(L2|7S28g`!kSf--ny>@)ug->m-^l`6+KGzuUM6^k5peqb)dvEr5Y?i z1>sCnxf&HjGfm|hR1nNG6*%Oew+HY#$-f1pvNVrH|A29agZNfcpD_>`hBE&JkMzid zjYJ5U27@2O$A<}{a1dd%8dZT&IEXNM4%I=kZ6CzeU@X0QGq`pz7FWF)Tr)Vh8b4Qq zQofG9i_r6s#84V#S*1fzN%C1kX_RG+yC7AkCD!xx>8w)@45cO3^BC(xX^CYIj`_n@UGoCf zt9y6e6rhTkLD$11G|RNrF4cLgc60q>nkxvZ^LR&(!HMd;Qe5m=kQmt;gjy6t-DO4H zVcdD%73_#KvN!L~?SlI;(SVlP44qHPzevs&lwfo`JF@p686Q%~-S_~`l3+@2cfC5# zv?xXk+Y!)+?GRD`>Ekyyjr&IZ6NXcZKR#Us)i3HK1YG;yvpoQ~AD-TOJcc^pqu2)| zEZ#Z27*i}!2i1A8E(S#-Wfy}nlGLz<_#=tkHPpKc-47#_44jAi_oO{*MASK-HL`y& zUIsJ2d!0aSRF}l~JYE@XUSzyr?mScyIcSQd@8&$#ww2ghQ=k|-!QNZa9U#cF|YqI1NV!~kSw4lju0Z4WRVCW><8YR z9N{#?5Xz$Jl-?ESz1%;+78NB4UTNqhq|gP9X6yv0txaBv*vD}a*eAnr0BQCt@=^v^ zr8>`XWv@{n<9--umd{+-K6B;x%$4hyE6*@jew?`q409C{3=#XJ=rE13Qs;?Aa+hT& z(o=7PRYOmGJih3gLbtir&mfjGlEzFCw)lbrV+1hB5CD0H548j^B)Y|5e5ikd7$267 z;NkHT4Uma#;@ros!+M(hbWN-bg#>k?RL4cBlbyh$$WDtbD@xmtpXOzI88Mm_rvPk> zVJINS=N-zt2~LVSyg-%$1d05KR)Ts+9s~#%`W?h@Tjb#uJrtLKrA-4My7gU_W&7YR zE7(X8eSr&CMJN4yfj|Q4??ll6M>;^dM>vD}+ow`?L2SBKymv@ML=NSaB!>AEKp`;P zKS7ch5vKqM$=C@u5y8hyAYK*Ks! z+taDqUahfV6<1aq8`(}iW5sd`Ex=N41j#%@cKH@y7N7+_{0LAH7QPTIioiuNb#jnJ zHb}=pG*0;15k9~b*%c00mbbc_cjys^XwNuAdqoh%nBOU?aRVc%v|~y50UMaJ2Kn$Lf*sEqb- zfd4X!iYGFOwkJFVgqFtzpzjyV_5IY zK)G+HWKkys^E(FRNMOX^NN_v95-jfolLc#vE@6}TRB3?Zj4=x&N13?S04Z*|zC&u> z4DIv;cAO$Tr6t1JLK5QI7?>2+DPbPBRz+AxG$~G?X&bjsNwa`rB%h@c^Zm@TJVJzg zZkIdK!)P9oA$%aVeJ-KvFTw|Tu^y5KM{3DD+u5!%HYdrQa@73nl1p`1bz#wak@ z09~ay`!I=(5ddS@6l^rrngFqI>S>5rr&b|x2m1J?yuodflp-!r6^K!h$IT~qMV&ZgnJc{1Oqi7BVV;aO~>WU=yduxFLnYHWp+-)Q8b- zARQ|iDSDh51o5Oxtl0FY#3rq_a~vXi&IL3wgWJX|1dV4y5jn-J^A#$ zQE!gIPS<$yD58z{kG+a?)HwCE9sPj_OOcupdjp*ygpe|421ioT8cs$g4)weXUnW_z zDb5-(Vxl%16&GsObx4sdC)Gil~>DDu^fFXi&4 z#5wmeKiI!@O~@=U2IGn0P792nbl@4|oZz;&a}pQleomATE0~|;h{t;Ez)KSRAt+o( zr_`~!i}`pq3ZH&~SI1PO2O048gt!p6$U?*#Bn+KP$M4nC(KXJ|SZiwJch4FWVy z7@mu6git(x3PQ-spE6NE&rNTKFghuOK5)We-KJw2s@LF^sg{-;m}Qxwu>Kx}*<`zv zm*UU0#D$&9wFE7v67JfNNsvf}HitVp1A&nNQzc zI#sjoT$}uKAZ5~?=QQUUh?FC^jypQewe=FCoEIuyNyphC9xUAqy#rtz(jFtzm@G&a_)+xVN%_`RL=+>9&jNTf zPfYsr@-!%%!7?C1_P}Uxm?olEHnR7G-Xw*TD?XTu3nujDV4Y(Ic(BS@dA_%;`aw3j z&?aSl1XB4daF`xF5+7?8r8CMTu8;PF0mf+KYE~6dSJ->c%mn4Q7&&(50)g?-sdJOP z+dv5fszb?1GQA=Ig0UU`$tDidvaHa+yREMNsv^AR-g>B)s%=H9H9%XaNm&F35e*Su@i!0Z=uM!iQ{&nV5g-x zeSGD4_{#UB1msTyVB)CI(TG3y=rsY0`fiND85e_iIHMmE3uN?sx=`HplE zkBd}QNsMmWUnO7+4^ONcH}!(|5fQd)X){mNqnR^kiCBG6oE}c_rGbZ1yD%_X73gen z@(LEWq(%vfiO4ZRHsyYbM?7bh9s-utwxJWTq}J&~CVKN`G20m6uod!+3vgJQWn`rP zup6>_Bn_3(PXC=}^dHisQapq~kVYdjjJZ9@40l zhKjeY7RwkogmPxrAdiANeqNV@{u!6-kJ4>5&D!iS2oIsF%LYrg_dR zwH^uqUEl$){a6#N0vFp$!Ls*zPkx^amYxX$c=^U20FVw%%Y1+bf$N8z&=`|f#2T%! z$mKI84Z+^NvmdcE3Hann)ARk#fYox={l2q|0VjmgFyL$xqNB*8c%s1?-Y!;ctrcgy zq^La}sfGpVnJ@1Jz_%N9jR>x79pc^STyC-ZW2;tU5~_`?SPw7hS+O=#CFR$9j(5!M zjyc`N$MHm6da7(B6)C&yEH2THY)0do$L4W)1rCmNz>O+`V?$PrCggl78s$+@%I{8F z`oT_R@dvyaBMxl-OQg@}b6W!REEjADWS*7s*vI?Uf7<2*vRP0xQOKMa&o`Q2s}xg! zgv*IZ(e=gYQaqj&1K-KZig{lXdWr%anFB_rA6Wv-{m2rkol49VW698=tZiZ)p<5E< zAU{MP1WkH^+wR*|5>N8!pw;5+bJ+4}Bl-ZV$3-8~7h8L*4j>^2?-cK;h2foiXfN>6 z0Vi@k$dgH_L_G=uC!nl;abfrr9}bH1Ap;WeP&_!%3&o$D6YZqwX>PXVZLPuEa?DSTo4yW`s!OpY^^t9=%KTEXQeU#E!EiT^3Y91qc{vl}~B|a(qVrwuX zoVnFb7AKbToTN;N#yF#a^U`Ex97Wd_0?HT1`d~1j| zq$a&saq|fn0SEf_<`eJ+Y4Zux*6|qyAo+~VC!C$U%?_xcjTr^U=m1u>p>3B{XSvqT zYCk+RT)_Z2-_+ebp`Gj`!!&LIs263!8*?uN z_r5~3xjyt_<_Y=L0SmlBj`gY?XCqnl*VaNTT(UVk2(B8Yas~@&*m5OIUouZ@SxA~E z+1b57(~TQ1#ly_^p7RK8C+EY%EWzf*Pg(V_%qq8e^JiAm^E@K7*!)N{A$tarBOyRq zg`CbR$lbngnQq^=Ze|MeZEp&h9?lAQBGc`!Xv4@?g|wxQ%aPK}cJJmm+$X4l8^psX%IQ3-BH#=zxwOJJg(J5U znc&E6k(i3OIg3|xtIPCC-Rt6UaxW%UA_r5>crJe=2&AW&#T(PoUXYpCCSE+=m)(|~ zNlI>x?Y3;Sv`kpGB?eMcm(I~)qx8k{R#V4z*Fvn>SiK{0XGA;xN;GJN(Jqu6+h&N* z@YB2^Az*3kB)biP)=Fb4A5Z##);^#$&?#ff?+aQxE%zX@CevJJr+sLK(>wA+399e2 zmGqHVce|LR3-)&5t!t7 zl;8H($o8<4Z?>S|@RR!ZGHHS|qoU&&HLXCS?akJ{wO{%lEw6fAR7I>OBYt$O@ntkw7qJqQS#D%EvLvKSlUjP9E1Tn!iL1%q{B9zQ(`z(t$n z?vu>v`%X)2+RpnZHN}aaSdXf=W`|ePC-r=$Xk$}1PS0abkFtyo2$@YN2n$A{j5Rsq zw&jsm>0m}5543K(-LrvxM<2^^9+E$|A`z>%w}V?-F{iUiVy(lOh7r0O+Uxw+L!*GC zPhu&+pJbLel7LWV#1R8aDF-w5{h2h!H+`G_c!1oCagvJC3km(c0ZPQwMNXd($Bg$zs@aa>VH*tLG((UXy zKfc`T_=~^3MvW7Njc?jWQ%t2A;y>B^)fxME8sS6%d~SazDvIF6=$}f!1F~d8vVq&d zCfb|L2}evnnD9~SjXNWfPi=+*3)5%G$Rzc0%E{EJeLF?k8&vY5(HMGBD+rXJ>_MV|KE?4w$5*6Zl34S6aKB;nw85wNsy zlJDq1AD^oFeQ(f$$=ZxlLd4h69HNM+BA+Z`vf$*loJTV4COxOqPPCsyBpxte`8t;q zCE#rudof}_YNnX@(8|$PyhcH$Wn)F$La)=)s75e!^bIAG)As>&q^z_vMICW2myZLI zaXZ*;CW0h&HzIEj2zg{#gW1DET=HY-rQhiz3 z;R5USi(F>nXM{&PltIu()Oq6XxERFO7%Sdu+tkL^tN18@hp67(8FY-Df%{WC0fx1i} z5NMnt9f88!FcjI*Lc9)yWhY|$=bC+H=j5ReOk}@ZTgx-nD9PGbuI+hc>FauZc|gI2 zsGE^sVy7d{X3Q(h?^E*h?}i^P^p3WzaAJu!$Exp=nqVNMeIkK{8k4Z1Ly8dz6F;ZNYXPzC#g_>V7K^K_2= z&PodCsg?U60pqN?fU7lI-0GGTCwf~X{h31DQMka}gRP&v0gow-yiaL%9GW(sz46|5 zMB8Nte^)kAc-%wxr*#TG#}0+*LM{4=G;m>~_WqQnkI42u1{~K*UdYMlrMI_@ z0l8JSF?c@K z+vD*JZ!MLC=`HIc1tJwGiMT}6o^U$h>ZB<61(En@3f4T`8zI&DJ83@s#CC{r7Z87Q4yqp|k-2#J zKxyQAmbNQqTkY5wA%Jn>lf+G6yv5@tXPb2C$|e$-r?n)~rQJB1a~X|7FK09t-PaPN z3V)uEv9)NH&>=GI1CXAiIn_<4-qXfIyJVYgO{YV;&BQ0;@Vmq(tE}lRMvA@I=s}lE z0g@mWIEOK%tm7UFC^GIczC&DK#`^AkW14fWo~HtV-7db|<|hv5aq%eYF`Tp_qeQV9 zgB=D_{CJHhY9|MIL;BW15k_SejZM7u7`(l;=63x-T$^Glgz)y%H^||gwcV^xJQL&) zY2;JU=T5SkdtLNSpZlX$4-(KeUhkFv)U!fV-nkSiR2Z6MjZf#RccQUr?uNE{! zpzWOkRA|fY-5JQ@3%K3Iz=*QDn9GXm;kHleS%k0XMD2Uo4N%b@3)jphr`fhc0Z&eR zhtyoV^Qv6Si>^UZ#5YVWz;kr;oI>>3#SOA3dgvq|sW`6gd&hSt>?6Aq0;YZ4-mS3f zINJVZ|G)uxNZzUF4GYfS6m}3BSLcafhz15KkY}YvGBg@V_wGHr_vp^?42y1HbvQwX z;4ZpP-G}c7Sttr1+&6@P5BY{rPu#)6dA56=M^9sH$F_RDG{gC^8PZ#Io&!*cqYO-g z0dProew<)2iRmviNIBVBJGyAU_43F7g2JEsE@4L+z6i8WpoZ@!kVkVxDrZ-V+dZvY~9*L&kdZ;h$(2n)tW z)MS8VC(SqbEo1FA`a|GLZt_VNgdS_X*@F-UaGRU&y4{{9q2l~sL{(zsj=@L^+Y+5K zA>pn53Ep*QAc6-Zu`RII08i6+dyqb}-W)%JyLNbIPA?Cw4PBTL#e#_RZvi_6*xf0> z9!`z)G-{-mukErtfekcg`+7FVHk8MtZx0^VcGQK|nt|2qtG>eM3N?cJ$ZA~W^>!++ zkJD{^ecjeC(rx{%MiH?+AgUx|R3z$CBH1OSp$Sx@k>_Kme9rfIAf2$s#^ta?K1lgY&V_n(vJ=zq zyS1iI3s<0&4QQ`?&0FgdDIs|`+18IgtBVt|wf8gZ+8!8FM$olx?6e32a|d*_7+sB(R>cRmOo zjyL=>qU&g4EsZdvPw_^Aj`TK~L~>qq&Jf9I$~q(Bx&mFESLsm%=)n;}H>ZMSNfwE| zokdxekep^V^bwa-(N^_FkmWjo<>O%<9scfC!8j zunz&+I=#e)FyY>6`_%Ue$PH+-9cUdBTF|;sfS@Nf(VGTZ28uk;x}BDQWr9}XwFa~{ zR!cozOwhV8Em|5{jZdAoC(t6n<%=_4%sGMfek5KHoKL){`ov4HwhDK5M33;E9TfS^ z9%JEj@qw9)YlE(FZJ=YuPis+NP|zbTKYB)eV6z22lhPvV9jC{LlgY=}RDd=FHL^#U zfTuGa`VzX_P{>mIdrQE+J?I*nD~d10qrn}RO}?P*m{tKuYY_m(zQYZnE1?cZkA4Js ztB)deM9>}C?}ivpLeP#JGkw+K#a-L{2vuBr^>TLh$w*q-LC)nxAwCAZVCQrI;gjdl zN?=R~n$wiNMvI7-6yG*MpD}%Q_P}juxtG&i>27@-8#xXexe>U%w51NT89-D(0`%q_ zJK%X=XgZk+@#=q8B;A3Gi&oF9@(pdD4!ir3vxgJ6J)Py%=9hm!PT9^h$HXf|Elupy zoB~ZM&oqZg<$I)^32!(&^tPk37Q}nPfpj!6GV&zTC<5R7aT1>fO}Yyii7{Rs zd6j%V5Oma$zX)*gR_8CGnqZ)Vyvqa*;)YGoiy!K6-XZnXMV<$FvAbYAMt3(lo8%N3 z;{EM<7iI1R7(p$MrIP>MD{KHMC|+Ve;g zMTPy-cg3}6LBA*Z(!Qz@7o}!ib9kgN?5ZI*Q;FCO2?y~=D3WNp&3+G0_C^sc;$qt% zdb6$xi*pg}Cb^qHc&Rrc_Gl9UB}Seal4NGazxe() zqsKqg3@Ywi6w*?0+wP{NUuVvAb>>Xmxr|I7iLAG87WvwvXWYc#D{iJr(#;yJKp`|9BuSmO>E zZJi5-_sZ+8diCwaQTeN1I`Spsm~r;CHukk7;?s<4C%X^aL>lg4{Ft5&ExjD!XE}@7 z&H8{}c|(qmTFz0XBv-l--vO@tWPE@#-C=ifl3^tWbz*~1cCt1l4d6jm=ars@>Uw{G zkwhJ*aoMc8HA$a35Ggr*!Pb#mX~YGjrysOG<(cyj=5NRbmIFIKFWIgM?9WYtaJ+0o z3P-!I0_7X#(2Y6E&C)zp#JT|*K4VEt?i;cxjx0Sx9O<-)o8%sWhqX#Yw1c8(f?;Fw z@uF13NItPauXtR+#cVKe#3%eIKQ|9SAqmNXScOlAg5<3QMurx~E!83y^C@epzT{hv&f@US%I9?wgNYr>1G;+0|Q1oh~S6ii0)JOnWRLt~HnDd-%%KO&F%rn3HMI*J!MBLeDgVSNt6(mMt-Z|IEu{#_s#L z_k`h`o`>9iCJzM=z5;3l#mL^0;{{*YkC7TzcTgm2AoU_WB?R?3Iz{R282wo6>=LnCgKIuR9G7juzNVCu3a_p~>*krTz(yc1A2#1$BN| z>;%ZAqe;0Bj92J&p~?5eoQO|LhEplkQ@*BWv5LK#mPZ#OU_XlvWOTkqm2k(e1v zYQut8mjy4uEjJyEKrR{i0@Cb-K8Z5TvrPhY(vPB0IdPsLHVTNiOB9w$M$s6=St41R z9%YGJqwZ_vPI2_`Y&i7a(--tGfTM2X=5Hjm-2|O+;UZ(#sRe|W_$r0&y&(V7rFyYb zO1{ z=3B_aQ&5%B_@*yLgWO|dA&>H)3yCw@KGPb^Nal3<%B>vns4r&eg7W;vhGMPiDTzqk zDu=~`6&+NC$!%^=Nu*~{r|SuygVWod z#!OvX(X-B;Yu7IO!1jO7DhFq^S!*TT_K$NC%{6DefyQIe4J$3Iv6gB^72(VzC<)K` zM3^JSjK*vk9~mX>=z~b$zx`-hB)vcIH_usr)1x_1&uFhonv0WQ%;)q-(Ax=@)(B&4 zj&Nz5v`KnxS|5>3;U@$+-AzUAJWo5r6VH?MY>zXRXKl3isU-axOVFFRMer@M!E6NF zO>~;Y;gK0C?VcR*du&&L$n(KCsIcK~8b^k=42*kPM_cLj>=mRX~X-9>w%Y1WTR&UYLT#^zllFEpvWSqvjIvR6(7Kj6Yi2^@n?`6-*RDmJCHqsZJm*c!6 z8~nm*p-A_7(*uZ_r8_^Z=Rwnb0&goi$gIc>FyhVoN)Kl5qN_2dmitvXVgR_gfw!vy z`yK9C6%m7%)r?r1lWAT$3XLIuzYB>UNJ4VpoG`!&>0P2t@Zy2{}PZ z8RaAc6eW?|krqpfpBi$AFBNcZ@JTWi4F20#8|m=x76@4Uci=fkF-r11KHd}wf;0~1 z?qwd9(z7@s#Ke_af2b!S->gS1B3Na?1sThM)rZ=(MLB_=LvU_FE#)a2sz=np!3I1P zQN8n{z5Pu)pPLTyk_}HC^eD@s4NoI@$MQTp42fkxCg|r&LDGV<9ixJ!qR%)v ze%0okA+{qqn=Z6n@GP3&jT@`+rOT(a)r>Fh3;e)Ro3p$*?MGMO)mAeXO* z`kA>FZ&^K&IUpYG8t6y6xS-zBB>rN=^E@*<1*TXtLM^ws4ZY zjWof$QGO_FbZW#B3gZ?tG!CpJ#1=Cq6o$=ZWL!Ltp2m93P%TMUi=}cOu8eceM4R zJtoM;q_+`GNRoAdDDzhW^m`RIa z)yGbN)O|(ZD}gkPOc@x7M~n*MF~x&obDi3f$GDx`(@CgaPC~i4U?+ofjA-fHO6N!_ zLCIR)r%=J0v~8kzD;kZDfW^%x&)iD`Ra+)s$DndAceeDUG5SD{De8yDBt_9;v2wcu zv%m>MBHfSBMC#PVXWWaN#IiLIdRrN|aXQIzbn?NHtyCsd`ko&GA~5&|OSY!>rts}} z$yPMgU+D|!6vMEGDo;d11DK^-=^PYax&=w&3s`p7fspkX&9PL<&W>!(bSvB0oYB@2 zahuakw~ExpRyt8nv_@@E1uM%P_qM@QzIm8u%)@*mi3^;O=hAIxYf-?az}R|iKrsO6 z#d6%n*3@-?YkHs{f-tYTzpixE%9~1;FIiH$Y0|}uE}k%U)yjsZO=FigG?iXdy0T%( zs-~s&32A35t=rwSvT=Q^iK(nwvt;qAR2PZW^{dyc+q`J?;)cb`>(`Ym!4MMb8<#Gv zUske$gK6BnwthW|VIqMMtz3g5Hu7D*dMyeWiNrFDs}V)~Tidu|UH#&v-VNr&qP1(* ztTIhjt!Y@!KU2eFTz@E{cbrDwtJf}DhY~u6cNhNhl}lMjs80kzzM6TwSQX*#GW@MP zUfk5wqzd-#Tv1kaftsUpUsvbPS2?=k!Mca8Q@81g=hgnL^IumlCg!W`y$?#ON4K)s zf8b0vU6H49kB?BdwM^Fw|MJ0E-+ug(M3{lrI6S95bW~k%^uH(NAaUOBiChj_clg^?yjxHbLz>NTW(fX#fYuBu6G`Mr%$JkP61nvyN z09}VffHw_cM7HVhWC+8(YlHyMas8$x^=lhfu4ynh_2{AErlysv8pp0|s1gJMmp2}^ zxGV_rf1ST#(xB42?wqB1w2T|@_t%Yie1O`pOm*8oZh$VD^>Fp;0_X_>=%1j2vkqv- zRNfmoW>~rA0=!)sL;>B!>qyA}f(LX5Uw}FdG#QnzDL(s%h0=ha_;-1~39rxn z^`W^7&ev57RF=-o2-TqDa4J{mTy?`h3<_g?K3f#Kj*f!iwpZYo_ zZ&s{XU0=F>@v{2OrPuuPldJyu$t5cQv-;Kb4UOwd1qc_wp;%SFc-b1843$Q{QfI*%fROx>Jsx7ZssAdOwzf&8xU-@G5hA;$pdZD{8F{NEl zy)(RA+9^=Uy9!l$6!-SoJOY^&0f1jCpn1@2YFLSyY2-*3U|q7NVOhiC)%Cal=n=>- zJ0OpNtnPli;KeCN)WpMjr~1-XJxGn4udb?41LjXI+kE+y$r~5mI$hn|s0LK1n{XD# z8dbdiMzv}Fhko;qGk2`eBf_!8YMrhLN9BJf9EM_z>Q$o}b#A-0bvhTqJ5;^&artfB z&Y!vFT#Y%^B0oJUOifPSz}_3Ts~+=JV~grhp&Dz>2)%j{& zBlcFtD?ap_Hy_xkU!KC@C3Q{mr+TPfF-s3tjq_F3QN8np+PWhzzL2+CZLayO+E_EY zPTz7@Z6)}=Mr}S?S6+FfzNv2N#-_?0J9a!$rFza+oA=ME`>@(@w7O1ptI^{(tW#H4 zpq;w#u$o<=E^MrOb7P(iX>U@Gesx_#osoaWE{@r+XUkMhkg%35vqqH@dOlsHhzXRTd5lGL-smc6fe(UOu;`0<|Ax&wsGI zY0r$!ci<I&(?0p|l&cy4kbt*mY++hX>1>GXlZ? zXVx4|hQlbDRruE&*OlSSK;`L{=7%4DX&YYf&7ekCVr=(s(Sx4D=zf~5TRvJfvuZic zeRNGYDo`tHuHUvm70p+hDn7abcl=LqxE2>bwxtD?p9PIlt|*6GYtZwnw%(wY9#mzG zVhWW3;-EVm&wYMfy?E22RV!EDwEi^YnMZ3NFh^^kOe*Na&r|a3hkB1L3#a6-TcID> z@gMF#ogZ$^)_v3l-56#7VoL>jg>6Ew^DNs*SGIj$r!&^3F(eJ-BGyZ>DQF<&1hvnv za8_Z1I%8klQ*yHPasdVpyr>bTKmKnE)BK=`^nRCcAWaXI1X+hHsIMn#bUvu`D_hCY z2NN}QsC;?r_Gf1v5-KehI2W`D=eH9LI6V+{&I+YgISm3OZXB576zaj&13HQX^Ns&w z!HjQBY-rX+2NrIqZC1DK4|74LFN40r#E>?@*LgC1XEe*|rd8=gnle^ALi53d_e#-m zyXwY+o@t+=UIKhW{Swbkcd#r7HeOrv!UDabij=#Hq`H%b^*k)+;nA=>uY9?#u6@q^ zmueI?`TE2xHrVx> z*A|vn{%57ys7v&>W}*CCrJloIJ+ShB?62B*{2^P!J>mcG5H+c;e3dQvgNEw1TV6n%8mQ_1BGXt`c3OCMJYp(qciVYs$X zABFB!Z*9?h$7h1QsC;h=1lO@9I@vCrw4f7o?4A2AT(OKm-};dsKA}o?t2u{%s4L4Wo8R1_ zD<9pd3R`NcYp*z@tG-qJ`lA^c>SMt{ywRa82TwfynI~{*79xKwaGg}gQ_nZna{s8n{d?sZsrpswKN=V6CZ9IY-r+-706VntfPZh&J$1kE#{83YyKUo%z4| zD)?~~>edRC)mXO^PU7L_hxCGd8C}%lTes_lM>4{C$o(#JGs4*!UB0{$B>DtK^Lm2s z_E%f+`gIvyo_s7LT#vKgPv~WE3XkfCMJ22fYq{h!W!gKVdLh#m)y}bEEmD?gGVGMJ zawo+aZS_w`;n?9;$Y*(YUANo_(qiP&l<<-vC z1HRb&5O`(|s#A_+WYnL?P;)afW@o4;S7K;m5FF6+aeb~n`s>FsGS;Uq-zt~4i+8pK zlolp>yfgIHiKv2%D;hPBn{)HnM3V;viW+*5K0sNdANQ4&Et3|Eb zts3a7pyg3YfH~WNj`Q{WI<$NY`c|x%e-aD~erGUndX}PKV9Bb*>({TubW&u`IK!@8 zM4ZG1ZyOP`23r|1&vvzFDF}|J{Qat-M&(whhTZy}>$d5?)^+u->*}yN?^nz90|(x6 z|203b@44D=SCI3pE;{;a5eCPTzg?iZSE!~6)%_^&p$hbNeHW1l$!)PIk{hg})<@^I zz63npyd4-m+N^i&Q{4`V*nSEm7AC6RGf2E;@w&y0>zi&`93jyN(lp_nGC)u6NVSW^ zCSF-ozo~KEV$LaAB8hBM&-@k7s=LMT#Xy1X|2f73ilb1_(T zJ&UzGJeMlz@>42CcfG~?D|wi=Licf_sm5sZyw<~EJDEp}#u5(CImr;@5i)M?70ke! zd8@pQ8^Z8$=Z{;uqHLDlGgs&9yf?yO`FAeRdAfY*tkiKb?-H9{?_==|9%ymgv4uZW5HO<2FE{NtA6dg>E;@cOWU5P}p=8<~>r`<#A$SI(3X=Pw(A9HWTfmRuHt-`<9jq(0 zmAdSe#CFwqc*hPsj3(q(JzsBx4MwiDt-fqpK_l+P+4IAq?L90 zT5r{wjgjJen}*h@>cF_@P0jqqEUu}AmQ{=Bob-ayTel3;HMPbvo;8yW(A{ATF!b9y zX#3tBk_P^GN7xj+SzUSe#>@3MOr4DCT^9~1{6CxYo3DmtdDTtPf7?ip!UokWG0>uf z=M6)!`u0jc!7cDntvz_L%z?1$fE*a`aRECF(eErEbXx#}}Yc z27Ak39~pXZsz}+A!BJ$;L(HgJq3hm!Z1I&d^s(mh+B*6F-UU%{R#ZfD^%@TXk4Q$< z@m#yrIlOu$55o2bSc(o`VpU{AbWTdqg-9ewh#+eBC6%}PwQzLa`lj%LJUuYHD6hOJ z`cFa$(MSbzfuDU8r9gEYB+#XYiH@Nh9in=%lGZ5 zEWa5t>lwvHO_lt9bVZ>es3;RUL0NA+C~LrzW2 z3CHGz+k>3P!n=c<$JHwMX5F{fZBxB4Gn_Ij^$of(W>{wF!(v#%|8ic!Pk^+wbRxU$ zr+GoIl&lli#oGNgD32=okgz7Swr6GHf`o`iS)Ant`CvlC9`}lSuMRdQ!`XQ3=d8wc< zgTny1i5@dByh(3gKtXt)>NWqt&#Fz^8$X1D4GkYO*cp^9s z*H4{%%Z$z6(nBO9j7aDFGZP-(uvd$izfbkstqZno1lK(pMTuWQl=#;Y+T}?bgMDR7 zBU*hv2+u>5m~msil6tkRC^7G{QDWSMC@}-hIN4T|_^z$HZIt+mHloBfE{mvgBfuDs z65qL%QG_R>DDk%>N-QT%ElPaXR*4d$hwr2!!zHoEw0q`u2&5wtMt(A=S=Ed%a&vW+ znzKI@4Mu4AC@U2vM1Av72@UTyq2br5x_U6A{fG68>CQR>fniJ`+ko?S^!wd)7@?kW zSK(i&ZjCyRxDJxbAO_S6!C{R3>st;Ud;Bx2o<6Z+*MqNDBcJo*2>q&!dlBZN&Rn;5 zh3eO$mewc)t_K}gnGz*lw^tQm!o5cI+539+Z@#)<%4F4T8G^QI@7ANb7`^_V1jYBh ztuQPY%Voqjql

wv6yCFSh$4V!O?+?^Bs3Nbp;c;+Pe%!5S1qWUxA4SDiOODoR1IrU*Vm|_HR}4^YUq4SD(TJY7EG*^ zt91v}nBzx({aZ%?N}rz*RKcxWl@ZL$$bf-IJB-0s_}5Q9k&*GLwaXaV-w5pQ+xK13 z;3Fii|K5o55%*`o4s%)@dOPl1dO97vAu*szi}(B>?@@_2FifYKU~ttS+OS90g(Gsp znR(%Nu%$d`fY!VUpAB+8&BBX3h@VKCU2O}e=ly5hubQL(D0qF|;PNXTQQeo3 zWEidjdX{aNdFa^OJqS5$K&YyqdO0IiYxhG$d_3F^3)}@MJ`!rq^8DeB`G)D$gjxNi$tz+5l!nz-nj-fq)u;Gv#LqfO)R0HdmFw{yD%~VIlxWi zrUO=C&|F_vzB??oHC>9h>x^5z7nbB7 z&_ndZk35N=AARHvQ~8{p#eh$cY{W54KF#ADJTRgZY6gzO1IfnZ^LJdYFF&Bi;pbZZ zT&eH<-La)$9NqM!-t)+c=I8X_TW8PX;ac3IPVn#u5A+sHL`xhAiIka8)k0no>70I& zkr&0ti;?l>@|RU^i>iYWI$*xKX_@M`Ob@~P9nix31*T5xW|q7ol9xQ8n_-(`UCTMn|Ix-$Co#U)AMH>YM#~R z-%HiaNZ_5w1m4+`nY!C%s|Tx@KD2$!L7i8J_|u^B+F1`y(=ReMB~SZ(w%-3jdDDt} z^-yFFSLM%m9=XG9{k$KF(N7ZwI-Yr>h$T%4;9?1p4 z%vs++XMrl*%|2yzE-YuX3XUWW(I6x;E~e%8cwsXSQkupRWpD5@4xtFWP(O#)Ulxwf zD{t0SMp859E=-0cS?X%NpUu&t;@3PGRu%GxrgF%~gbd2VIuY4^wUjqUWr=6oiw&ls zZW;G!l!9*=ln$7h6FNI zfQW;-<*@pGaM(p`|BEx0PKtY2miI zX>;nT>o5t5hlI&x$q;+cu*8W7AbNC>AUnLSfOS=PG^tBaLJrahL9_k}YeIpd^4?@s zFJ@zXDUM+{PWqFX-;gsI;XGij5z#h1OE-mMv%-t=b!9jzYl9vfj}kK*C0GEP}#a9sVkCUS^g2s*QCNshiW>gN_ImNsu#8*?tj@s>R1B5PtR1Dh#XYZ=wti#t*;aVDalzR zOgECkNHh9wRUXa&#KJ{EI1C!Jj~K5s{Lg(Gq-_nlXk|k~TMNif66rs=9*t|w)>@Tj zOQO;0(J6srZV23PNbhhGnF$N-50Q1!?Cp3dui zK-X7lGHdJ3HnrDTtsbUUhf@Q!M(;QJeb>xQlRy{E)y*-w5K&CJSaJQFD^=g{s^H#R z=4@8^V0%)>vtpsXH`cI_I@T>-x^k1XsZypC-r=-qfw+Eolf`vTuxZlNn_nz{>`1jP z+A#CPtjl)oA%2kHJ7||)x8H(r_7W*unyJ<#%1F7DuvC?OfH%BZW#h`cjxUXd-u&txYQRB_^UB5bfaFruzb;`NmpF< z?4;`^Pn-CU6R$60{2p5Kvz!~M&oAGJD#Q6=f+p4PvUk5w-i#G&YtHTpHuduc1oe8C zAdK@biI$a3dauu=xW0Bf$+rH}68a_#}k z)J?lX4FUE;?DrTZ#_@N!ZmLvr>ZkdmRQ-getVZZ#2??2;+WF%<<&ofZ}>C# zhSgXKdW)o}Z!foA**1DiKm|QF=NJAdyT zD_&Ghy2dRGJ<*_dPra{p3W&A*uF7)NQ!mr|_w1OtK=oV}UY8eMo39t>JD+BDB)mWB z02D~6n!ZT~-k&rw8eoI8qy?dV|NkM&WBYA`vo;&QM#Ze5_8^_bUq;KQs(D4v2O zWl8>&Nei{Po03`DMtO<;SXi6?ZN27Uup;<+dpN9U%`N+M{hBMy0q1Cps)u=4!vif5 zMeAJICk*bW%=^{A7C>WuSciajepr*I`!B51l|QCxO#r`n+3=R@Wz_ z{cAj~;~`D0w}Vst7g!RJs}2Q6J3?eh7J3Yx;DMkD)_e`l)0p5;Wp(qO%JNcm+ffQo ztP*MoFD<%r$Ng-hdWi@%t4xy5^`i{zE^!hmpqDN37uI!ya;<;m%cTK{zKLG61=yS>c$saLd@2q_|#GTWxb6nz)iwFI6=Rrqf z-lz|9ybxs6(ew>(2&Aw!yf+B&4(Y!C80-7PCnong!ISR%zY;nBY!!|!*8ls<6?0eU zDInwWARJe4;sum03^u0yhLek750nNQZ(X?Jh47-Dhs*(OF9`JbL%2UPoF0Tz3fS$5 zDj_C#Y`dwTLkQn}{0Is!|JW0g(d4rZIg(%2!L{837OJUxGKMe}8 z4mN(ITGn=yZTbs#H$j&g4K zYUGl_y4fS{*?VK=NvxZ*>YojIF6E#7W>N#D=stAQO_xGe)?r1!&VkFfeR~&d-Tez7 z5Rgd|4nw@?(D!%g6Kk(%`X1(;zOiBfO2!R4Bv?DfqX_kxEQ#nOz2j^0JQ__+t*U;( z!!#bg_i@#56iW8UYtYo`mGrDHQ zbj`kz*zUV#53dRT9j@8VA7UW^$94x40u%YZBJSBianHW(xo6)N_lzyE5^og!v}SDY zl=9Oqw0_!eRq(?}A6^QxZsu#>fcN@E@wT)av5JL2fgwPZsIIb=`Od8x8o5+8VM<-LP9_ZO1UfZV-q&MIgR6Vjo;e z+SZI}YA*0h#Xk0YE9J=*P+SF!XsG1DaE9PDT!h((+c?3>#6#E{nKiZRE1Q}?jDNt4 zpHfHG=$e%WfT(?2IVtwrY`q(m4@(pR^?&BHpn3tWpTg=88+uR^!<|t14`l!;pB1Ep z?MuK;E@C>pbi&R}(h@1+hA&>(aONhs4JNyo1c^JpZ_!Zzh?gKg^pD#g@ZecZcwZbX@tO!Sn;jxuf<-brpkE`Cx9)_zqx>ha24BYv>skOpz zqS!z*!NY5LsOCXtbIMbtDaea}X}MQjeH7_tfCT+9is1JJ2V5+_8^i;4AZ*r=k zU$fi{9k>)Ppf85UA0JM!)sUsS0sB@Ty@jL&6iKTY}%~K zF*9y&#=O$@Iv_~*+XQoQ9sII&8_H7utph5II4)yJRGkA#5Elz&r6)7D#G zHjh=(Met^O7c|{wZy_2<$!suhbGXMCXdCN+`+0?c{5brGHh5ioGZ`9=YJpbq7fR)Hk@%p{!{hSdSLZ} zS(negb;{)01v3|{+flckz*cZ)li?*sj4$91=H0K#d5OUhXhiXKRX7rDrnk`sK4czT zIQ9cCCY)oM+<~a~)p?jiZ6<_*UDD}ptWRS>J-^ki8$fcioaiZzI7#Sa3)58Ne)YA) zaTwlsC^jWfdHeB{Z{Y9Sk`48FF_eeCXM|5%cJi4JJZ;IF)oUA~)$3M|B#x%!4a44ZXm%aY zcSc2z%G~>6)Z)K@2xi|UZmMiDg>N~FgWJ6PZSXH2# zzN}x96vfi5NKwS$TC_B&Dqmnpq>)I$Z?Y=9sH6?U1vW*I4CFU zHfRw(Mn4KE?4$FIC$%^En7Ry0j?{?bvW$9n1J=t_1Xs+ds}o$R62xA)4|$8^-3@4; zSL4$v@2XP^lP*1Jv9*cqnC|pu8e?pVu4LBu4a=s5LBY=T%eU2*hZFOjTkb7jBYH#| zm9r!|?YYw^3A&?RsCrfPN*sf5Q~`h93a56kv)Y4PVmG#pC3Yd*h7e2a^bE;x%hj)M zt1Ex8xvFf%%tsbfeNARmH_!h&ny=kjUM#Of;@eplH2T83)ot^S?AzB|h1@Tlx85-R z3BGh0W=zhi%s~c@&HK{Lo}{4)CY)d5AY^`_nkBI&*0UtYAsJLJ*JEXOyKlN>jN<7E z2E|;_15@pzJ0s%Ia?-SXb)|m29-OSpu{X&2<=?E0{*(S_%c*b)M`i{vZ{-Oso}hj# zZSXJcd!X)Dwe{R%q`D3}@M#FE)KT6=i}fKz`}9<|(dg1jrs1}g;pl>=VLI)6bf2Dd z-FXlF753d&e&E$wz4qp{4^5K!6zsHt?!x4YJc`g{fFXQ<2f{AYR9GQ%F2ehhCCMXO zufYB1U2&hj2iepC3?uVRZ;u`MWkxgg%4{J0RitWhWj>_>h;m>8x z{{C!kxc}od;g7o_*slhMV|m9nv)Jf4yn|BL@fC(iX+AFfJd4XlzPvU(fuVeHD-wY8 z&U>%F7gt`Eo-xQB8NsL2awHh$tL1ukIHT}{-lx`KgYPHQw-RAZpoisE@A|Ljam#Nd zf#9P8tKVc{I=5-p9n(I?X;tL;o~3Pj{~vpA0v}~{^^ec<+&I0i?4VX_0BzmKhE*Y% zKnwx0$1Efh&@m)4Ng$btvm}5LB!RlLY5~x?zv)HN55zxUT zBBGtT56@m5*H13QL55`OI>{5^!ot103at~yTlaJr|LHs?JAdrFG< zC2S@LkGw9YW-0Doa1lK`ysl^-Zhq>jqd1aZ!roglf>FMKbvcEejCpcnac#3~ex+DM z12SZuY1_WA5|4E9xh`WDz=?wUJ@SWe(FXlwp{yp?XudsTx3%em`ure=_VRJ~^Pvoq zyyHK-kP*Ke!ITe#Fz` z3FME%Y-@_&0{p`As@WAXU%?1PbY0G{i!=OOXMpYNS06IWjpTm<=M(&Y!l+0&65t*W z+gGHc4N=?a^qym9`AYPmWKXQ~EUZj1ikMTH=YzSPJ7p(sFb`GFq?bj2*ayp`+$YY1 z)&p>NZ$s}vAvhW4EYnvkfa0#u-{q^%A)eIQonmRZh6eHND%v9MP zqHK#Ncg`gfhtaG;&gw|$Q$2{@(l0WHH+xxGegW7&ln>Gv9Epzp*c8{;?4NulibB8M zeuCE90}<3b^6(xtUNJ@;0S*%n^udhPF+6dn$1UuQ2`7PQH5^%pR{CaHv@#Cfwae-Y zOXUlXX79qpax0rd1Hg3;oW(Y7?d_G*clY9s(W9dNx_Q>Lk)E*X#q%e=@GYx8teqiv z0A(62C#z#>y2W3j261X%{f6DWy}i7;cMs$C;2V(MPq>YT&px)O9Ro5Gu}`RdG~Gfi zPLG5aD`fuUfM~V3U`>)i?8DsgiE2C<@FoUwnYd?0g9W@Bl|1$j&7mSl)Cda(1Q z?D9Q-cz(y$HJ5GOdEd^hUO9c&_H7*VYd~C!v$*vnPi!juY=@@*z`ogl!=0)S5Fz1cm`R2}lS^qF@%zO8k{_#7viA#D! zX_1(nCaPuNiR`TyrJJyZ8}wp$$tO0@1377z^~4&d#O#F{r#w60fyt?)amvpqmMne1 zH@pzf(;xnbr+xg9W61Ilr;XRA_KD>^B6UDq(<5d^x0KA44;-9!CiRtUz@ar)4Vb5a zY-)H(gn}QvYZ9`k%sK_{T`hLGI>I>aE}-QyZkp|r!RThT3TnxiwO?2#+hGjgxjI+R zp-7=enqMPFqMSy4b;KC*EA9>`IEV<$SrZYyZ6snv1Gpk;jY?}?POKc{H2+dt?mxJf zT!3<}mzS)+Uj%c+#DF*@fb)iCZY=bC^~OSvXpn=QdkfpPJonmqc~P+#*C(zn5;M~7 zmpKRE%mHQWfV&4~?Luf^L#qd&8?T@+E6r(0ok41Ln@qiY6>cVz{*4<-a_q;DtXoeJ zm48jK9PzE`p%wP#ef6^S*;_Ie!!Lv=+TD+9ikpN(3eBBUJSd=%+^Ii;Qc~bsjO26# zJS*N>V9;lUqQv(uKzn`BKljR93&jLOR= zwbet@j(nOB=1Q7BTrrqpe1dD=$5%28sntOmQ06SUprZ}=U@CWW1-glc2JJPvntcFF zx8qZSjLDyJM+im{s_kNxhps96DF{wA#X(P1j*h?K0;i}On#&vXv9TK;m(jl{G2P8kOXN2dEAoe(RLo63+=?UKk^p~|GL8Zp(?(^XSMlym^~nmXpF z92vP|^i*6NJ$uci6aTzBTlOw9&jvHOoHd67 z7#pKAmZMks#&UMa*tEj1zjOJqTn{IHur1f(2bUXD9=h+r&v@p2Hk*UH_Aj`{LjjfB z>x#uhXa;HXv0zvTcdFc6`1a$NRKw_E*!_J}*o}Rv`>r@K`(BMfZ_rHN)zH+W*mgXY zn$3>EF>U2pOMK$A@uQp^Oc#CDOxIG6=g+f1IKhZ{ay#d4+XjLgFml9a*16ehVGo;X2K_%r1^xSNLJQEt_^*X#{AgL*z@TBCICrrSb*M=T>qql#=+DpH12qSF zMj&^OII#!rYs4M?i&;e%&uBr}>Q0#$yQ1&~h{CwqS?HO?lfo`LmqaeAnkbC#T7bx!W!!D6%iNIph{o1`$*w zyMDcAuD94rCu-En{T_d-Xp$4X!ZYlZ#fYUo(NnvdtUrAQNyRt2hg2Go=I8(wl1&&Q zc=kVLpPY)j4QnBY+lF^sMT)`>qpla{h75`4&3+Z~?fH|6ycDJ2nQ#vyuHXa2i|o;G z?0Hc~zKya~xj!UZ+I?o-+kn%b)<#9Jhjct>dZz^HpFaD=Ie2@g33UWV%MG6+)3X_n zj~{}wyx&Fuxrs&IJMv#(!}3*t>WgNb%(WodEGM>0#PY%d9^U-e2wd$|2L$c30!HqS zM^F^MbCF*8+S=izi+A3D?7uJuIXjN)NJY5B{Z_O@N!sSVZdyRt&OHA)=KtG`9*Ro$ zayMkjMx!5RcS2>}eo7CrQ6R;icFO^l2w(ev;qAR+Tk{v%c-spo#qrjIwU*R;dAjs6 z+I}(;Z9s@V(WwY{qj}3~Yh{raF)f-HbNdg0IYLPy<^tl}p2K5q`XN}?`%RWdnvdKc zGcL%r;*>azwbZC<7Tai>G;db@Zkg$4DbsI$2)ZUYIhd~h`#>l>ar==ifYEweDj!bW zIV6-GO@xxC_JKldZZZI&4-(_Xc_Z(k-tuM~Mmuull)FiDe#!{gacW5cd8)f#L@4Cn z<51M?F^?BN?kV&2LD=l2L#%alF9l>Na_Ie|Blx$hnC{!Nk11bVaIzQ6fyc_!(b z8Kh30+b?_&f|CPIZL@+77`X$mEwij7|Gu7W7cj}VZ#qB<=RK@&zQPJ8(m-~APVAcq zRU*fSzmsf{TdhtqQJ zJMefZnIyMAfBS*w^uJx?E23h8OLEGyVlu6ru-P0Bj`cl;?zqS*7VWFkHzzK%6>F@0#RtzGRKb#(BPNkqRh&uM#mlTYe72kX&UBh;f0?D$XS;`EqP|Z=afo1%Cjw8p#q&Sy zxGOpOo6RV8eBTCYUsOgDewWKA-v0MN{tiUMxP8SXcWrCIsdxb-P(nmTIU%o=9of&A zi%-jz#o4>FpLsp|8TlI|#MMJ0E6p^)G}bWFnD&8S8WEgv*bw$v1~(?{M$AOw;{m;R zH|jl=WSxFD!pupd!?iTdMRNCS-gZA&ukmFO>O-hK7;*w);^6IO!KB+A!O5T7RlAfJ zwB(&iay_Nl(ba69Kr6R0%fweak|{rRzc#JK2WTujDwq#E=-#RW|Q zj^8jC-|%jR!9nn}1rEk_-5XdaU&)Y%#`D2~{ChYA8towfrM|VXQ>NFN#n=(P)yZQH zHUyMb|3R7`!Q1C3)}^#AGpaeO!XF1Ev4+i`l7FcMH}UV@zRUhs%o~Z=Yle(n7N>5R zu$0Mj6Vxoz^{<25ypGE{)7aLg$#05WhgmKvS%_g}GimhXaAvPWhU|bXOTuOgno|t9 z^0KQ4pyFI!-oqgkr1IWiT+Mi*N2a}B`afA>qw@i=&DmDhf7WSI??~w;T99U>s=X)XZS>99uk6P;hbn1Q0q+;&A(N5j@ z*#TN$`!nxx_E4UJdU@!|~z$F3lfj z@$eqqr2T%I60Y%wLkg7fiJfzBs}X?R%G8x% zxC!wkEPwA(W)%mu!VhQ^i2G-A(+Y+^Ymjqqg1I_VL8c8CKd zNc0X9BAIQgERvaIl+G!glNFg$d6{?F9(cwgu-RM$23%2FlP6a9Zy1rliBWgp-ArUL#e!$VuVHFf)Y~LUwNvG{)0CT{+FyoX*Zceyh40u zcN8m)bujktV&`|axq}2z1qq@QjuW5aCJ~mhmM)xnVUK*c#7rMw@-Y7kmxSp{GrWgV z@qZ5%XBXF_reB(af41!1x38sDjDH%#;%}~DNGZ?|`$llw)k;9ybba_JN$B`kSc!yU z!9*hR#p&T)@tuPbk;AA(^inU)fN<(`93(ti`?n3CAfb4-*p z4m(v4I*N%2>r!IcaM|Uhb25t;UWrZeH?%BS>bV@@8syGeZ+7lyHYENks+^%7wkX10 z6({W9+0EHQDQ*sFoXY7m7hkXGd1bD511F@%TS$*qVG97l8JvX%$pw#I-v4LXgog-& z@bwfYM_(OzRP6?iob^f*GzV5^-R5IV^OJVKCMDaMae%+KT0GsoGtDaI@0>S`3$ zixo0w7mmbuaQ|Q8)dYt|sYcA|5dj2Ud^x+her|3!mu($(UAap(?3Aq=Fa+vhAA#o` z>0GyAd!Hd@&&VL=+iMY-{_Pj=;;HdyCq%%T*lufxO(7`g$+^E9qPM+2g4Zp= zNDl0}yVtwEIXl)w>dIGmcl|RVs^crXSNF#u^F`iV|IhLJ#AEAlQWNOY&9wTDvD!P1 zIqNtwfASTvNV2&@?VUz14zKMxh*afws<#>USVTJBm{uSrQUnDL>>L%vyw7zr$;iv- zvf54iSS$-f%j9gD$=^JIaQ7FU$=^Jo=+*Z+5+|P(_D*mJoav{DQ8*Er5CIgnJohQI zD!xNoAUGw_I}S#`4sC?##5R|~xp|G)xG!1}0PimXlyEldt%rzJn8>x>2b3`CF>=R> z9&Y%YMGq5rl{6h2F|NTFTY#~4KCPNsfm$m)OS6|^mj)?CYI`*nHYvTvq7yz#qkR&f zf5QZFg1Uis%-=Af=RKzqkftI26&&iN&0>386sqIv2*@B1ai?yc<4}#hkol@WROM;& z=G;H0i-_AzhC4n1go2$o!psgIuQ0PWA}UB8nwpakV|FXzfr$9=A1ytA>MrJO-{<(U z&pN0atPU%}gSn**9GzlA2*I6@eJ5xC31|PV&JM`z=5Vy)G!=^WkJzGc3x6tF@tyew zxkJj6NCh1?s#qWUXhyMYhh_+p>vWRnfd!bSn_n;q4cE~8AeDI1HMFD9 zUk6oyNDa&4xOA}R&7?uZEV$T^43Jrg9s(+|(W9Z(Z+f@>pxAs6RSC2`MZ7ZJvNX$5 zWoULDEQmoC7 zDK}96$Yhf;mo6n-Qi?bmvo^XHji`(hXTxbpJpp{JCv?Wv9vo4z=`HV8c}}r;J1WT4 z6|CfwF%DJ%okq7GXZz7%0y8GP<@MHj6~xUvU4YsRnsOUeM)n)kLT)P=1yZ03(T|*= z8a7wm*1Pw)VX`^^YI)21^6z`i?G7xObB%BP{$-g_@M>+$gjP7(F`M*^kJ>E9QJcNV z2dOxbO((d(%L@!m9w0EINIGuy`r0k-O!ljaau#q?iu{qpwCqQ=|K-XLAUC*$O6Kg7UU@guseV50@ zB=^z~kA()%*QtGbf6GyyT4%d6fsT{*|l{R_CT?qTJOtu^HX*yKOc|78m&?u5A|53JUt%7oJys9HDvyb2j2`Dd{*F@(dM1!Rh$kQ~_3IB%0EACPCrt*CM`$-y?- z8$Fr0S{vHON7srr?8mEn3g;`ncHk|Xg3fUGITn>vn+Wg6q)mqC1>S{tojKHI=2oxs z^aDZRZv(1LL_h7jU(v)9Je7XZ73gZtj?=_%L*`q;_?vkF*fuw_k|KVo7PB794=LJ^ zeij9F6CS=5GXKbU_%Vl>dc>Nk%d|PAn*awDxEsNZtUzQdNdfwAL?ixtZfO;32LB4; zL=HTBoLm1io#O-zDIW3YJ0bI*s6b#sM*7=#&<0cNvol~nSBLp$&hQ#hC~nD&g?MD* zyDk&q>mSD%x?AvJUx??NA6F%-oGML|hnE-t`0zolZ7YaOC&`#+OD*Yse z(?Y~a19S6gls3N~FP{pTedDRgH*sNqKPd`Ts)!dWL&z820u z9B*Dm)P!=rc8b9?jgk?TS3Ua|TKW82UinS=GOEa)fFe*eB>DxE;j^JA)m7_7v1!JS zFe+Yp{yB^afsuX@W!M&y`{mYbkNmgXb)U!dOrSQHb0$!GKRQ8f{ef5h0AHAC&;?I9 z`GcqnhL4LbxNXKFQVLySf+6S4k*zISw>t;QVCLlAZ+Uh|Qm>|(53nw{l1OC=k=9CL zpiTWxun02{$_BR~qM^xsP}Dwd+{~;D>n%{_=wzCc=?DhH(re_s%sLDuH;l#ZK{pnj znn@+}?uOQ|)n@H+J?)sWWkgmC(RBO|9BlB@p*m0D4uosMlUI01-9wy<(l5d`@PFXH z$BOfQIz*lVt0nYAA0_&5;u5Phkc&7k?!MyNy=E_I7Q{f!jLDXEkPbG%EcHsjofBEg z3mw5I^pkX&$EK9hg^Zml&^brgZ;3k#g9H7Nw^0gtF{MyMl$2ZP(n=SmMplKdp@ss7(8fSndeHbl zYm|@Utf>KpU_vRXs^|I5bgQcGji}0M;~)&jsx{wr1?Uq;Yc%z<$iD@em=5CzrRFb( zQ)=k+RIRiBEM(rzpTEI+-8~@^>aUN7dF7L^A;utr<@s74InQ{OlB9iY4naFX&TY&D zf5Uo(r2x@P0GgAt65Ogrv08$z7~++X`39Py2JE#sNsQ+-8ysvMRBcn9o_-%gw*CN( zJDPm=pf#9?gRgt$=FZ)OXFnfbC#R69cT9vnrglB`TNzHJ)Sozd$hh>rb%czx=A!7eEK_t*i}yu za95Q*Jy|YT8Lm==7$QK7^-LO6t+cE=ja1pzB3Nh$ZM(Ol_1I9_@SChXpO>IL-)avfCSsdvp`25iHPk1^BXTj?avF6%Onl}v^h$(jc6J(Z zs&L<}&_Z)wI{-1W1|gA2&%AH~ynj9BtZ}lPj%hoGbl?mYM_@~&CSyEF9|C}(wa|t! zapAgdN;QaU$p~M+&f*Kjs!W*1lGbkCFY&32k%|pv`$|r&k;AAKTSs65BhH7HYrwxz zH&oy33F>z?8g-vX`YlB`_5+W6PO2+DFh2@?xE>2CrVE6CbaDhxv|5n zFuc$0=D3GNbX4To2&sMkWH}oyGah^_t}UWSR>2~<;ZC`ko|NLoykII0#kfP?Zr<#? zleu@A=Z%xk^Z6~~WV2|I`z~acsvM@SLoBEt7e9ruQ5V*qd_jM6L*weUR?DTqUYT^- z-bZ)Mc39RE*U{ComPK68-eb?OHiY+YE47@n&w_2LN0G}D^dm`wP^T%80av9Yy9$w= zO^8(#Nlu-c#}Cxm#{8A&97Z&F(%%aY+=pC-sHOOCphVI!utJo{F5ZY}Pq(BRsiQi` zJ}kI)sK%7;qziA1;*{i=l{eBum`AMBA4DgYjs14?sG2UT=%T{Ul6BBg1J|XRODdPD zfFG&~$Ok zJC~=g_sZYX-Yz~^0jDZB{{I1g&*!+vS(N781V^9Dw#$0!ML7HQi^)Y4YIpLWXzLfJ z_sgt>57fW>2H6)V^!|R)-cSCg#^2=zoE+Y<42PoP%c>bK@>w~_OrL;Lcjfj?bm-&uV#;C4m-)(R_9|o$ zSVun)U{um?r+)A%WOV)FJs-)vjr7AQp!Pa&i9-fne;>(WK6X{H%SM}D9uslQi=7s~ zod0>7;L9%0T3B}P+@h9}-+aRR&r(T*ip7VIneM#;S; za5pu@`U#|P|C>E>)=x+R8BX%(HIEg@{uz|1^B2zVD3iq-<(yueOOERQqDg|QIz}XM zW2mp>hLYP#07h|uN#a%}i39HeNf0qDWjCWwhW3d-kvJ2fG~thSW*u%&|EDI%BAnHm zn~w0A1Aj*X(7quQC|OdnxJ1(VsYwmQu_ZsH{IC^}XN4ny5BoxamK#doA7Cbv`qJ!} zoMRO~91N7qE%{jqtD#BwMe%=Rd_yaR>pt2*k!6zF0Ivb@_n@4(;muLYpx2+q?7JmA zYEw4zPOJ?0-HUxZffkhA1;*h4GUs~`B?(+7W{ONcI4(Pal+tm>yz8sRMH=W4oa=a(ZMD>pBt zJgY`nSrFUkoIVP@4YvhzHcq3QB)5L8Y{w__evEAe9!z*V1y_Bcd@Ywsy8|p;Rgz`V z(s;Rh^XQ(lu>#C$7pGV>IkSJ2a&kus2(R(*sd)yC5Pm>!fO7*EFEKldu8ljfz9 zJ67Nn`%WCWhJ-Aj&y|9vt}K3*&{GB;D{L&y8OTfN#n<^8^7B-3p0qEOQo7ptFn{cj z=a{)L$ZQ(X=Yw_l9pT@{TNfV0w9j;n9yfUGeq+aFib5fqM~O6MPhc^RQp(vuca%A1 zAn3NkeTvv;Us6 zBQ0hRnP)+5Uc{5cf5Uq7{x@MIZv8s~ec9U41-;mTDBNj8LA(*7p50?1YN8=`xz)b z5qGZ}pn6O@3BuC(N0&TF}IBVzq*LE31>g$!tB2`l)f7Y(kP;+2=u%fG=9 zE((uD?o>N+QD*Z&c)yCP&7dJ?i1K~%B{T{yBNNf8?}U2Z`TmQK;K7FRWZS->gS>#Q z0S$>oQSkO=K9B5mCM6t!H3}(>eZ(J^X&Ub$P2K`{#BQPvVj4N>GoG`FY4c))YA@T0 zVAC*p@^NnqWKQSBx#5!C=FHQ*a%NXOPT&+L<%nlpeb^FFB%W~~u(p8pv~ zc|Y4BixO+;E#zAExqDGbdSS2qPiCUb=Tr>D-*pq6_Zx#)XT)xzVcg7s^94gyt*I{UoIpw@I0B*a&f0D7U_sqk3%@lH%NOU~D{wer z0D&McrnYWchelFk_qpIbYhDN{uV5KBdN{hVQ~dFfamOyqn&z5`>=dA2m+1Yru$#nt zNZe|f3qEW2nrcza5c}662pIt$&!Tj^iCes~cK>>gQFJN8^n-EKgB{f6*lrmnIJ#c8 z*~g^XZ-e}XSeEZvH=K`~CtW;4b*>MyKIsq~xO{S^E6Jbh}$Lo5qF7`T8T@+fd|NN(`vD>fBR zz76oXS0K3IqmV4(CuWY=xi%nvhB&x@>+i0oeSY@{+LutGUw~cU1qqFNL=SydH1e~< zyp?eM!Y&}lub-GbykZa6NGg&PVBnBa$8qwyvU^&h)m{U~HAk@haF6ZKHdA{*B{R(pTvu zf}EdPCqdF9e#J-ajNuq0M-|Qfpg-K&NJVsnBC3&e)7~0sqy{^yTXp%Rb`$(-epBuT#eY89`&meJ;50uka?#%o<*YZ$Sbj^f7L7;Qs)l`8`=~L4l))t)=X>9Q~ zsS5RSvfHr{_Cso37o_4WC=}qGgI4@EG6OX^f=!*{0|@Q3|q*N2&!7Z32bhc7n?l3wE^zsRw9YB-FSP z=7%uus1vx;y~p`mEv|_!mqIntlL!QnM#?%Fz=?+1TN`J!H#D|@*6<8X)!5KrK_ePF zVzUB3XAH$4(-f3J1c&5Q?s8*WLxf(Sat!U2?F}6|*Q`Kmo4=KsIZeGo3K(l^iiCg( z`UcI{Cs&>Ba&l7DH%=4KOm-XvkAG z)DpoWb0f|>Mi1x~efNi{GGx{0rKEMrv`V6n$ng=EtG&H}00-(pF^WFUiJyk(%#1X? zYIF_{JOV#N$*MN1tW-_q>M3h}i;Jj3E|F=-Pk47cFsoTy7=V9nmN94PC3`l@nPPl& zg?wa9VY;|xh$f9wS}X`i@uxT~xL66fXB^!#3E>_Y5cO#=BrH+h%+7HODT*)B!bLZ zeu#Dpogi*mjlBh8g3Nj4>CN)zOLN7^b#N=aK1)s(E7IWRAkLQ)e{nx-s@XX3Z*bEx zujm{Sr}e`_9_RlJUT0oBP5iw(+KHnBzq!uXfv0<1QE{_j+$#P7>(~Zkplg|2aR+u> zh!+J;dWsaA=S~&3U8ld`wXZ#{enA>q-*r*(X3BuL`?|mjD6oH>5!>EbOsg!vL!oyV zblTZI3P0{Ad#E9PCerBFoH^9*5<@NCS+sVqqT4B-5EJlmi|yAB zUN4^)KNbCA$Mxjh0hdlXQEiF{58w`&qL>b;Ous{>@q=fGHPO44c3v5){m~{*@sm4# zDJBewP~AIEUfVVAg)Qc#Q(oL)UNDWm#cph|qE4JQj2qi8g_j{ei|&4V^}y!dtpvi| z?tS7>rh1z+r&;wf1sI{PZG z&#cM3sAwKU7zY)vnNJoXcNJ(#YsbQbNsG=eNQ*9B5%QO!e_4w+nEM;z=}YK zLjD}MF5}_n=;5y%4`mMNRgZV|fLK3i&`v5-{N6n*Ke4k|tX4n2at+^sJU?AU#J%G~ zfi0qEot*d&vbLKrwHA?6Gi>#x!4zjezZ>-CLv+Q#5JHJP)-J?r{mXNY>lTdpE3 z^#CR5u_fu^)9dQQ656!7hX>Nvc_8gxjbPm<{W16u9pu&i56Pk8+Voj5kTqH&C_Fa( zZlz0vpPT~NKP@_NiX6WY9WX*9WMKbu5V5=|9VKCaoZfK*T*UT?X@lZq@&L7}vFL0z9I0C1h>O^oOPVGBU?z0{~jE4;I zEaC;9S|@vq`Ec1qHXaRMeu_UhwT^y>EUxX7t7z<*Rqg>d7D%QcPJ`S(SP=hJ(06B|AMO{#DKhn3`RQ$9dv_fU-IA$S$@6e@Y^peKXsO%^EAgP5nerj=tLwo$ zPhe==BJdU#rJ2Uk8Vsq)L`6kR_qBDX^#WqSwNaTxe3w2FzjpOMaYKp}KZG&=1RNz( zhxF4rjim#k+t)FPIzem^K#cek*CjR!c3H=a=LB(+pxr|&_lw7AVd2E6ypv9kc@BK@ z{&o9bre=|G8ScB{24hIJVW7z`)1vnN?!Xhz{M@`~Qp}t=6>AEhn}CQ##mPA$h7;Z} zD~r-WZ!300n%Bp~?zMyFMQ559;q<;aU2TAS$NYt2QqLBOMN=fOB~g5N-2kR#%?YrubEzxXm1OV@On7fx&T z$5uT9e)OuCx^J5}DHUgGMa6wan)p2o2A?zf#V>LH9V4*!qIu#R@(~f@#Qr~Y&B>yw z*2;f}XckpGBbUNSl5 zMDdyHiFjWVLkJy+4q&V@ifB2Hgca)hV|Sm3)j`(Y1vz`lFixDjgqUL&{8dhb>9#Aj zY9k+CAB9U};MGS!yAuKRH?CLv{_YS_-2LhLs3jdY3rN~-+E)1m6J)t!d0F=Zdlz** zBR;&3Hr1>NUB7NM74*of6pYZkXo`69`lu{H8HplxvKSNt=FBt1%Lrw8J$7%4d(43? z=*m~t$zk!b3md}A-o7|@#V=|3*&v5U<9WJlCQET^zgSQ0BVvFmpvhyh_y?6aNK-mtl{^on?Oh8;xq1Mv$H0#16U8^KmpwP2xYtDwEYT~0 z>3s-*2%-@*I3Gsm_2`6E-|QFP2ICVq!7yy>rDjr}L@qV+TXHYJuW0YqTeIR8@RZ2aMX2I@HFKI?UAUISS^LdQu0SUr&Ni z22BN0L)KK_bb~y5{%!Q#e>*R(|2LD%lA|OSjdBNN9Fl@YBNv5XHYUXF8cv++N)AR> zqfm_|v1D>NGE>XpZ6O->z7?U-4!fpVAQKP3?4T)~1dc4)(N92FP67hD71@wQ!m=IE z?3PVQAR1)13?U$}I2n$K$Skt5EC)pC+H!yz4n<@zQfMNhGI*v93q|66(P zPVb`-u45qS!c_jF<$$nU1r!I=v<8+3`c&+X5NXjDC?Sa`ot%%-Rz?tCoaBg7S9h?1 z=uk}19uP#LY=$8=sH|MzfKG-87H2a=P=VH97)qtFg{@FbZ-qEX_%i4Z^w%O=X&lG&+0@ z(P$WUF)i|JEGvxL94QIS!~){>Ned}}uLJVHvJH7q0z)3?PBt2XfjBrsoJjB-{YG=Z zy1=jq9dBxMOgB=mFwZ~z5i>)Cn{8)Nu!TLkg3e)-@MnS^3V0o!=aE5V)_sWvX z%fzZdabg`ask?bZEI&rLI2iZQoMkkb=U{9{%%l==(d>`%D$wXh4{II-ku(Z}(h3#0 z&tW+fN*Du&LP=IV);a*8;s%Y1(~Z*+aThjn(q701)_@g*eqhO%JkO-~pSK)S)HuL= zC~O=IgGY%P43i|(B*NxDJY-m6Xw-a!tg|nq7!)Jw(d(im={!)r#Mr1FZJIT?FUz|+#3bB(eyZ*(8>J~DxK6Z4-I{wH>7UYM(kA)J_t>P%L5X30a z3M^1F0^&eZ;_xH*r$#LJpJ_~*(d?K)I*8B3p&cu<`issvNrCDd^K@S~EV*;&jO*}Y*TGmuDS%q9@#s^d z8$tV5LJb7n>q!%avdvqGSmKJfP6E40!=JQqZ3#fydJ9$nxojq+zOMPts76gT|>t$&)l#3G7K4oEY>Z4PbDP zIqv+Zwlx%-Ma%x^4m=q2(4acl-~dksy|j4R5M0a3uEzMDqCX{??o1W_j+87w?q3QQK`^Oup|av;gatMQ-tZ z7Yy5THVRKb)CF2!+OcufAH`|Iey@CF1GZp%;=(LA+RL=LbXFUpKfA?^#sDnuxur8i z@4Bd0j34SU^GSWc+HLoK`rXSnLtvm!tm_jO4v91OVGnsYL!6w}88hcj+AY4iuJ0X@ zvp*(Z*)6W_Z@!y8psix=r@!4I-gFHjc>?j&6Q~;}blMkH(Fx+@A@RD47wu`S?8$C) z;B(02-bRzg3n z4=fMWtW24W4q;Y(uleQ?bH!+Q^?!^pIvLn@(-SC&$_QqdOMK>pABv9+=Wp5aXztuxEXD2LAofBG1hF7Lby$40d&pDV2@fG+ zUY|9vzWw)ZgmTHb3m+coQ9mG_Rzw} zr-5`sk2R2f<1(hqnMXqo_CylyHkmSW1nD*tzh!k?^axq;x zyLOl}r_B%>)(xkx-?o^-LkzC#M;Mg4R(K!{K$H%NiUE;<+rf4FA!rBEd*vF@2YsN| zNSjq$at)P&l@pppr4-9)_;JfDy6z@VwDp_e_7d1y+bUL)XOCOVN~51Wob7(PUc^ai zoVz$x&z;85fO4qa6>VWO6{3q&Yd=^80{Gl zIe~A%QzC6{J)B5n5k+5L0f&eN9=9p8@mY#|Ld-}N-YA7Znl#+?&I7wQeCIAN=?Dn4 zPou>U>8WBrPR)Q9-C6`XgcJYkYje_3Qh8UYd|ULGsp5^bef04o59}7hMnLp+r`?D$ z#P6U?-P@hY<7xvCX}T^y%(xnDF5;MbIERoPD(~@7(qu_4txb+ueiGpmnQ9Fl#BL1& zni#|f!9iw`$;Nn01~l>0uwm^P!-L4%b(2NjXBgAwHnTIMn`p;y6LlFxZ|b6U{~I^E z``sm-GetPC>Ju0Bve&`YjE7N=OLOoU2h25mov1l#JRF{dCBpqUPT-l1XgHr~Akars z#=W^4WpcDt(qOF~sN?W9)y=4K1~nTD8DH)E-{KE2eNK4X5XH@!Z+#arwt#hMp(*%0gFsf-w=m=CZg=0x6y}7Y5T_JZCZ={*k9E_!Z+?Kw_anL!cVm-p9wUz$W z341kc!v;F$ejsc$$OHB}#v0cDLEgu3qkB@$4>gZ+`T} z%rZqJYM`Ap8uT4qeXm)WqpFcmZGy?hv3hlk?2d`3C;ritrxW13f-E~CZE=%{Ej>zF z)AZmVAx$b{CcilC=+e{^n_%?ggAwH@B&X@qsTLW0FyUGH_7X9>M_f6) zan4dPGwn`K;e2eR^1{y=yR7QcWtnGI@w`olPCX$FHqMLgk~3?eO1rnPK6f3H?X3St zwuji`s;SJ^*br>=w;kGJMiVFL4;JVAz|!d08t(5<~v1_{kBD`cIb&Y%deD!nfjRw=zN7PjA{eX*K!Pz_aS zeX5fX&?9B7Ym-G#-*u5M#p<3E#qZW8E@vCLa8k5in<{2ef5qyFn5A=MPOuFT0Oj&OgGW_s`Kt?+EDV zkkZ*fNSb&?qql<*l>SE3xW11IcuhvfOgU_9^EU)z9k2(rcQjag6m04Os5DC(L4Qj5 zC(Tc<0h5~c9%_M9Rh(*xvT>I%D?7LrsEHG0kVviAY>U(>p5i@EO?i3;M+q&*STJ3? zQTB-G!w7&odD0Q#SjAy@7Zi6W_M#~ziL$7XqpFdk5UM7+V@+ZNIZFq$mZ};F3z#`9 zj|FDgt5={ko015*I*J0ZCrx2Q0-E!I+B9u~-5|M&hUrV=5J=;ev+f94ZNLAU9$x5Vdd9)PA9{=eE+jUJ{WUaca)&tBN;>skEgP z5mn_x`lZ0EDQ&p8-=WJL!befV+9)W@WZHJv1_q72qu&u@gZ#9~^iGu?G=nOE8- zyx78anM^Bvswnr4-FxKJYf5>RbR(Kzx)$Mjs3Da^ww8qnkqKD;YHNtX9V2e@%DBTC zzLy)lo?=hN^sO1i#The7c2D1QNBv{X8F+|CFvF#vx5?{?dDDB@ytV(Rnv$?uV;eEw z)J=KDWn`S|fekZbx;G;o|7K=l(UBgtI3JzfQ=F0IX>ReRlOYq?Jn5cvWY3)8MR41| zjPsgdj?0)i6D|cv|z|S=@&hxauN{b#$hfS7x(%U@UlZjqWjuvNR zQWrDQsq3Ct20ClK&&WIv9nMHk&r&uoWv`ic7>1if9m*pLB>wJ}W zBwsGgeVG07HbXGhINJnkwU{DUm6IugpW0lXxOUYaIU{z-9MOr$3`H-bv-;NrP?)a&M{690iG=-;nQ}B{eZc$w z?`f@1)7n|aH0- zmppCNRcQqf`~u9?9?EJvS0dIi;A{?~xQ$YwFvKhdpm_-m@VGOn#Smzw5FhnURR|nl z40|RNQ&UO~_ympqXEjDXLOUjM)_lHmamI$)rNyO>q(g7n)GH?TGZ$z>gRm5b5{?Et z8kA$zt&duSXdF3lKZ>HRQRqbbkq>n}Y2Yc2MGVo7j*(_CjbuPmCkfwL-T;|SIYJsc zJN6R7Et-IAvE@j@@<3dUK&V(`LlVW|`v$RM%MnX*SW9+9A6kx}2BxTkOb#JZv>ZVh z+NYPqo7F-H8l9x43=Zhl(Clq*9g76#f7%j27a7HGzy0mqx0l>8C)O#Zkv|Lh&u}zf zIHJ1cN9X45t$o6i?a7ieT3(m++vH5?qg-3)VqSDQ{Vb#a|_EAbq z<^4d|0z@xNQ7$L$674eQb@2nlLa8kh7a(TUaIV||=dy{pJF=TwyKs_Ij=VbbWq8H) zh?558u53?6Ok@sYG$i8O&Z5-h%@?{z z%jX;=#YX^0I4KAohKisUcC zO==KX2?qn#V)r}F{7Vryn|EVN$_GmYOstX%OpU} z*MK^QOt`5O@V3PeAMR@HPNvx?Vg8_!=WI=QupZ zqhE_n#q4Kc4BJyCTZuW6k?R1679SX}Y+jHH@}=GvXQKg7wv`j@BlM2?}0rnHEV(XbUK5%X&Ib zs*_f)KxJC%f;`Ykuz#ym{R9e>iVO?=$*GT#1+lf6r3S}dRaihX$cEV3+|bBYH;(dR zn>n>AL~YXZf0Q4WRp^v8cn)C-Mavx$k<1EOTSK{rGKIpTNydO!7;9(TFpOA^-mCkH z>XSs}LF2`;x_Q`mu|R|)UMw1pSqGb9#}qG?6jAn&0ZnK=fieQ2@Jh6w6a&k!i_&yb zp997%7 zMr5S@If8b5bL{{}<}}2R8U4e5g>hO}KK4s3c<39Ob|ARm&)3q?9FLp*NI$)nj#Yl# ztdnQH`ZAqLmGU-S?xf3S=ptutdbCTPb@5L;zKZ@%J&igJnWHK|;Y*MqC!-%XyDx~qjj>hWoMueoteSC-!sl+u) z8k2e)AwQ2J@QdUj0{YXWh>|)R!VxvGi;rRCaQy^-*olVg2zWUp&SCng!ErEfCBVUj zU6VlsHf}_n@y-GU7C#{n#5+r4M|T!r;LZX7x@Y)|CGdlm8ut-{^^U(FtLgdziW;p~ zTC^Ui++^YClwJqxuZBm0?6W2xy7B}`d*}_xqo@E5gg7d5Ml*|x(lOfq#;^fd^Z(+t4-Y#kncHF@js1-z!0xOI3@ zm)<(OmA4KLZnw4$uR6%q;qo!<9L98?whr$fv2}Q$>kwOqX%F3DwhmK{8oHEX6ETP1 zRhx+AzA@|}rrk(J@*ZN6CA^1t;+Xaj*OX!x@gQ~)uUc(hIC8Hr9l)5v+k{~{IeG9F z^WrJ=;D6sOji=krEk?3AXB!g30n_pF`5_l|w1Fg4k^Q&{}fl*7d_+KH%^Y&TMB zE?sid=_#Zj!%D8F8@Zl$ETw^DP1jSS2|x!!Pv%@o4=3KH`IBZV4o;IS{gMmO??>Zi z$$1l4BL~Z;%HvFHNq;n@o*0>8_fN3n}2X(hNaq zE6v1y>|&MDth}wjiyVx@64?oi1MF!fv{-+e&shS7zvdJWc6w?Fra??${0>X7r5UR( zpWj;Ox!r5tU`%Sc)$7CYVb=lgC%9?5n7z5De3pZd%jfHASm}qSP{e<&W@x^s%NJ=0g`@D~ zaCJecrL#DEh2=gnjL}P9koNre!x4UpTt0uW$>j@R>qyjx6D8V^(WUNmJ?UdPcFfn_ z5C+I1V7Od{FAxhR6~vEd1{1Mc%X{9UuJ#TePUKilzz+JGxS1A%#)ddGoj`^Nnh#lw zK5)zoB9c%H&(OO_L#LlR5^3}MJ2GATlZBj(p;$0#^(X9aMj8IF2B6&@I5kkWRg>F7 z!RA!H#Dc0lsb~X=N&pc;hNlWj4VZ8HED#a3E7JCLMjMv5`F){4 z0PpD&OMjuR5S*;`tC5DHD7q6yKp^Z3g#CUvIAfV34niKC);Ii#O?f=bE!qrq;m9Ig zbh}+N4{9!zM`IkiRBCfuXgR=cwT{V;j3=!PZLMqk1c#=EXoCgq4jfGq4d7WYhQmz~ zfe1Rr2c+}afKlVgZmBQS)?~v27+zRdQed+H75|0+MJx*1oi*s_7|!ggMfId#R|GYEB!%5*ftrc{@Ngn z#5y{_3(zUm3!o#^l|ZC~6pe<4FmMa0q**guL{WScXlb_)8F4KvDJ-k@6;xK1S6ZLJ z7bPKw6Xo=^>X52`WJwDOm(&+jmJ@tpt!+4j%151RzPM4MV%1ZO^#nmQMfaGYbE&Veq+)iKuYBRc*$QA*hEm*!Pe06D}xRY_UCeBTv?Wed15rC0jOD+wvbloaF+Q3}lv2!M>`(MP+#< zRTvm+l+d&!9@oC4FdsQ83i1mV0$mDIHU%yDsQNfMd`00R>M?#?E#L=eB?}_dPnn%#4C5m&4v4BMP@4^wEME;U z9pmAOPYWxST*?px-f1-0`6|jwN*u`0U~plcMT^t?s>)kcT~O*6(6two?lTz2vdzG(AlGlKu0)r5|nSjqRKo)uUWo|E2?}{rW)@=^uE06>dL|^ zYN{>r&(l1syrzm+78SRUp1GK1X^dDMTaer_pwvkz{CQ~sI%QQ^QVvSE!eUibfNdEr zRd#<1uB<6s0*(Yo+0U#o$6QB2DG{n*lLbTpTvuhmqJp{vT2YIHseJb z#*i(gK*D(yi_0r5q}Dj)LjK~yk_GnXWmao-aaABlj6qAjbFGT#@+-X+N}wj7F@Zd* zp(!Nv0R&fG>DBrRDI~07F|YSoEHz@OHHli4O*G8Q^!VheGkw+|XT(HSwsvqcS!;mY zE`g?`RiFHlVqdk^B}i7O;d(`0Wo4m#17S}TZ-bTYa>zdYlzGI;)-%00Ef#e1C|y&mZnu%W9h*xA|Yp?jDfeIHC#B! zmL+*54*q2IhU6WPkMV0)Nz$OCunKf+<7t$xCn(vhDJv*J*m8{u**cdZ2bP(zrmW-~ zwdIuySomq{h5yZ9m?dcW zmcS9T_Dg^(#as&_8gd${rJjSK(5gk6O(|U$8JXdhUr_`usA?cMEBz&*3mTRAC04#_ zFHJj=3UCmOnk(}tgVLt(nW#II)0EO2(!B~rhtl}thY zssej*i92wv1TjP=86pqWXf98Yxvqlv2y;oy)~fSt;HZ|?<=5Cs53@ot_CUnBtY5Og z*(_fPZr1Ba0NCb{5l`?HQHn31epaY5e6bG84g^sSpg{ArUW7Zy@WG!%U5z0>?5X&6 z%oY`2r@zs)#vjIlf%S2_t98|?RhERrTee{Z0#MMXGrpku4bsMIBpa7UaX32}Be~ni zhYnDK!i~h(;jQ{Vcr+!b;Ed{2)r=;A-pyL zFWTV*ZUjc)2H3CgC6z<(Q8cW0q$_blo#_Ck1t_IC+G2qRq!ep);Zde~0Qlko9;w>7 z04kf$8gE5iRt4cu2ngj$G}Il9RscfTR$WPjRaL<&p?!HIQ~hAh9B(ZuV>Qphzcl~| z?TUP2)^C@yy-5Z5R>FWAjl`BWIA27r4Kw&rojt0k^NE%FV0k4BCA5eiLZKs=(&%Fd z#dAcu8amWV?l_~1vNFB72rij?&2lLOgA`R!AbRvH%heDLXVQgJvn|E3y(6g58UR;l zXtl=;LCDcO6z_`#J78diFHj~yT=h?V%oPC6p=N#&Z*%-Je62 z*emM;7F&ZIv1q3HQJt%*Lg%nti07)0)Y_;YL!7#9Q&GZ@wMZC>3gw}?i6DKv=*TT0 z3d374y-us=^hAv}JX?-_yMpu0KL*@K~Z*_|NTAx@|O{2ik#@bXXt&+wOX?<&BKo@2|K$-T3 zNIO2oz;TQy+>LxaV$jex^iV@yaRfXhvsS!Sl+A8|rdvD&NiikT`(h%ggp9c7A_#XF zz?@dp!}*-JOR6gg(=>2V7}2MXq)yP+)Y|FG@~`T^A}s%6k-L>Z&G?~}HZ&v(Qb$&T zmLuEPBqosWz#8gq!h#BzF^%y+LsB&$HCk_^Dpe~+$pTVBmXXay(ah#BE+Q?hs8+L+ zq~3AIh$ZS(r$yzZ6I zXC5UFKBjUa9c_@&%%<90H*z|8sv^r(Ga)^5qPy(1w6M2bDU;u zF0h}`$-!fr3s?*A#hw2zA5@q*jw3Swg-Ap;|bc(JmC8wE-^V_rV;8tTu}E6jn8d8#-EC%^h)%kg5nY zIVc5+#T8aHv~{#VLoTdpf?pp^&$I}@#3b0*fte4KqDZWbJgA_WBIEM5h9C@AzJ^Bf z1E41zcmP{ID#oPc`f)F$p^=`ocw4A0`L$Equqs7t1K`URsjT%$?@J< zZREz!b}4@fpbg(Nw6O`HunO)e_#_a=mM=_=$Fu;Kc+)URXpVqCgb)~rJr1k5G-R^; zFff#x$41mKa`(dd?9p%ol?Xo_bf286ES;GesOCu|u%Kq)C*hejhhZ|*SxFWmD^&PQ zx{#u@hQJBgxQ4|XW&^CQA)}?ek?@OAq)CSwXO%(ZryheRC6?mU`zQ@7a+6&$Jy69W zg_5aq!W_4Ps*PB}dksyn)Mq0eQz4ON5&-<6&-NYR0Y*iFETO7%k996g5ABXw_2B_! zqVl;hm?>nsaIq#SY8JB`tO>Rxnl%vLqBdLB4NF_*`GuP5TRlS`MoygYVdBFG^v+3+nXS_A-!z{ zi*MWl_%V&gqw-!ds{rx0L zUntrFrW}UJhdh2kqR|$(9sAo|4Y4MSQaaGsMdO#kNFu5qghs&CfwHjT;%f78CY0R{ z?{TYHz$dH>O7ZmRPncyFw2^0Hp8Aq)y5!u+{-LW{n;P56k`X~ef=w-<&`Ru3h4d(g zlGo&K?2MwaAVe=6-4{WcJt%bpNK8a9n+`Ozw~{f_2Tl_T!~5InGG1|e(PjE&1%w=} z(SKZ(Q&8A{Ez^c-WEI3FTO2Hvris)x6`h0*ARu>E<w;4!EY7UW&&IAS$ZS8=r zqdtl_!QKFCbQ?w_97L(_@fw<iIY_0bJX|uC@P#ICJ4?fVSn%u8z zD&fTgFQyV-#p1lGf=tVkRW~;d-&UBL0gwd+dDV+acYz5GYW?y?YNB%6Y;ch(jcx(n ziO}e1nwCNvG}k6c@eG>SM-R6jrAdc6bw4pq-dD5!A^*7y^X}z1O=S5 zFSZ#`YZ&SPKl{~#Di!6a5Pt07Kv0EvV)|v*aGEEO7CaKGM7>ZYV~tT(LZQLc1iR1{ z1-!7I9EkO2tn2eAu<{gW*I1W>>_@AGH+xc-TQL77V{N=42}BN>alX@}hYj3?KX5DTHBi(K9hHtaas|OLe6%NkkX=?z%&v-jQsXreSV94eocQR1=?yXw zVu5&8w6&4Q7L|bg_`{vdkcclgfu^yB4OMD&`|=PVYB5RPNB|dm?8)$@Z@d+ zgj+ldl82gTv6NNh9*&nxSXT4M(VP@O@=8{8&wk=ydn;mKwlwR&_zpH?s&)$2z*FMkLCm8kD@2jtG?;rPk);epiwf5Tc z-shZ$LQrH>6*kE$E#x~}HQ=wR*V5H$q#@*|pL?1fUrdh{Xfm)q7ODJ?%{o5zpR#}E zYPq^akH=rOX(qi3EdS#tT&*XZ*{~)oR>U0{Jv}_+!?U55Uaz+urRqqPcYBK{$l3pi$del6fs3xC7|V37%%jU#bpX`7zIN6KSgJ- z@oZCPH?b$XWZkCCTh?q-|6{LUTyvT7t&wOmol#hXT`{8;s!uJX;Uv9vq2jP9$Xbn( z;gz7!i-jIMZmmZ*uUZ?!y5dB|H9e=KjRxyUH(h*%_A|7&*QbB(DEri+XoM)hBibR$O6(4YXp5 zj4v~gqFVS_?(|BE&ENkVVtg2(|#FLryI*cV6y?FIzjX|e|H@L$5EEZ{y z9_mHvy=`o7DH2;QS`%uzDtvh3Fsw^7)6>i{PSGu6nkU5Os~4DJal}TTY3`OyaSfo2 zqP3|C&1g0o8bhp(s4YxsxG? z)}e)ye(rf?8gj4D>^FRsT+_MLOg2NSh^w@XnjeH?3iZls!)fK_FgM$(wiG%H)ik{t zqP^B68(;m@;|k%K^thuE-gQh<-=sP!AdNlge;cvwZxc<7-LbyzX(*56)1 z8Kt+$Y_v(Qn(1B`sjt*~X5k6)FmVkHHNE7gT*ueK>K#m|7GZZ-^H+t+d%K_@j56xA z!(7BF!kTTNhg%bxTIkXgyx5FXcXAUb>sjiN;|qc{IhzE~Vj9KU8L>xso}nkg$I~=1 zK8wcyso5uek+wtP>gv+1tK)Q2OF8Wc#!+8$+c;xbxAE!|RRdOE9bN>AUH#Uz)<>(H z;@V`TU5__yarU6>DVkwDUMnIS!^2=7YLX2M8eT-imkyiZP)I_t$8||u$;Gl#eGP9$ zrlMKDL1(mKY|~(Mg^YzxD(&oA$Yeik&V*O7Gz|(vsW@pG8)}uUzZ8`?Es34Q#Wv3w z3C%F}j}i-Q(uY6As4*DET7T(=)p6P+rCLSCKwAAsGlwy)`nCo8Hh;3!dlHOm!!XYZ zv!}4g2+KbWm2uz?lP697LiN_P@U)2(>-1o7ypcNQFw)QJ{)IlHW`Fe+*R0;AIc;j1 znj~Gkg(bcOLj_aUDaXPLHBKPZGpa)kV~xtnrx<#BSiA3(r{UdLNYSN+pg#Z=3My!b1_}H{5yk*@o zJf;nhGs2@6)=ys*`|071BRms&+RV8lp+H0Z+AhxJx#E z2tO52n#_lJbbUHcsjj{+8(ul9gMBE-%;|mi-^$+X9{;~e68wq{Im0`um3)e;P z8AMeh<&*X5>GX&?6SA86iy@b-H;4n;rts0%@YQZRX;d55ynO4Xi(}WIwaiMnq|5Q? zYX=%ibZWqmM`>TKdKtUaIKt@UB&}rCj@Qm8yV|sm^)F26H7C#%LRB>mrk!=Gw`eOs z&HGffZ#~c$4-Irzo#dtssqIsRgJfzYjN!HtYi`wOa;tNF74pn=>pLw2ZhY)s&owt`$^x8ddKr zN-C~&)8a?(IB(G!O3W22SB33=p|tu7bFvu6^?EAdGL2kX>c`w}4NLM+@$IE)510CA z+a^zAqYfj3OKG1lJk}8=;7S{-OXz>XxAQyvE?wGo^0$0#n+0z|V@i`fJus%E+U(l8 zzOzM#DC^ei!GO)zgp<2CtBcFFxWO4Z^&qQ&>lv_GXouQZ>KsD{tBP`#c8TOO8>*@L z$CA(*q7!FHp<=Dp>OFp;yOuxYKAxMTgMye+N5RT&8u7!#z$TAcBKyK~bA7lB^UGWT zOnQCdgrI9qxMkg?TQ{f#YI3xs*vW@(BLdqZ*%UX9Rdky}_Il@>e)>o!>`G{`*1Pta zF@#TH=o=g1afHw}Z-_m6s@7@$B^7hn#Eu zLBKw+Rws&2SeT^Qbn4|qX@e(cwy3L_q*6!UJc5mVgBvsrTIzrNP zN4pJis;a6pJV1<|t~GA&tg+MMAffE#jr00$sV^_&Wt{(}y~DU0tMUm8>}^+W?i?3R zaMvDpX=rE1uDRsORpTcZvGOr1k53=<*`)#;9=JnmJm<<7BJFa8={HOIp?+E&k#^Aa z-l%GsW-Ge4K?@q4(#L*BS%|wou@!~@hgOohG(|Di8k_BFFwFH|BHm)@$3rN!R#+2y z*)$ZWCYwK(zIiC^?ivj_R8g%jh(BuUcA*7u^Lf=$)N_7_ffPQQPmC~0MYDmy&AIC zM|ywPj^SfJq^xd;0g&o2Nq*YQy0COp1+if?Y%WSc$n!cqGO7KhuvN@bOMASU3o5$S zOXz?n3?<=xT$%?tl#zpr6d)M)M?a>+g$RlvGcytcHUcx zX?TxGrD5aedFSf89&xcAM&q#U6#h~C+NFuLLh^c(;nXwrRz{7zkf8nc{(lM#%6y zMw&W?(>(Rh+S3kC{;0vlDS(=P+*c3F#bM6MdT5DhRIAhQbr)$dmm?oXMQ!%PsYvL# zRpr=&uNByau=f(5g9|4s$x$@NNnq@^!fINhZ*V9!qdcEWbB@sF;$%C`BE#D%adsNJ zH}!kN0n&@ir|7*TX-jT}Sxa1I#zv%*&0t6olF?YZVpQUSytDC=P}P)`jhBVFfqJ$$ znT&InbgZMKIx`C&;*wO@NXiq~)Ng7^wyABVsz)&7cQ|oNTQ}+*!V^y|bK1w%kb?K_&jh3-3aN}Ai&yWW}A;aJlbNh?B! zw^ehMr_?2O_DdKh}b zf#fCYR5jxaOV7>e6e+IoJ$`gqdYf6_gP1ve{M6Ic=E7FnDFeNdCC_35xgwdp;%tUxlx>WhmXT(V@P(i#~hY(TFKU) zk&9=bdIZ4duq$*dk?L`7A9XYFfI1kl!KAYxe$r;B??Zk|I7TSdU`sw}0jJk1Lg%|? z)9SdxqNwJ!6Fd%Om!@FhEzXeQg!*J5P7333bN@UQP8^O?hj-ex^?DL+^JUcSG&cx) zvvIN&H+aMIb~b|J^u_Cog9nwqhQIVopGrJ7Bl?@P_V#L6A2h@B;d>aHz7MFNSm0aRmH52@+A9h@K;Zp6nu65kgI zar{Uha{C{5{^851a5$pgukA3T8H+F@RJ^U`Y42|9COw2`WH@b)L4d*I3p(izN9v){ z{?9xL8VW@`7}ICC)@vLtd6rp$+Ot|7m7iwh` zN#mX-4q^8o94-`M@c|39+ptSwUHp(toCj^#=H(LwjXC5+yrFS!t$s-CqRV2h=?y9E z(#)K#7u@4M-jIdiG}6fsYpG5|OtOaW+K%FRGpFlS{V*U&0*~Y8-(tMA z*%wBo_|d`P^do1@*oO>;eaKZHeMBx)m4<0c_W&7l-D$F0datHfgHmH0H7>|KS=DXIix?S~uE=kfPdF zyfMYOVFfnqzTRdJdz`(em%gWZ+7hy;i*L&ftIKt>?!>yCRRIgnP&H^MtbNC>bTONI zAQflTPXB_AW0f1VGXeQ()2cKI7yGo3<^y@wH7w7!&91}FyjMtO&g(; z)@KI8$(;Ap`c;XG^j%u@&GCt>nJcvE66G=r6Un96(}$fxJuW9bdgJRc`mJXB9)06; z%JKJF%H*m<%1*3v*^zKy6}I5qdrehCjzjYf*I&s>{yn2?Ah~aM077imC%k<>0DHgnT1z8;(Jp~ zpOS)Fp(IyLZAVRM`#Gp}UEkP`DJ7FV8Cne1!HZtH& z6w38<<7RynHEbk#4XX>(*kRRTZ~dSuvy`toGiN@CXe;|-ZNAn8604RfjL|v{)$%Mp zLA~}`t!z4){I66%vTHRdR~H84oHEPS_%7R+VJC8^Og5}n>(WW?HJ&DL3X!Vn6i%}qACStWr;_IPXLXi!%>(r&1h$rB$bc%suBu8O!aoj;wUp8bH@2tYTiNgC z&FH*#4dNsvRLKCgUZJRm_5M072hxls2`CHRpN83t%F%D6O@GBAB@hTbZ`f`~zuH+7 z%|<+RO>I0FN;lH1Nn=Co+qGD~TDx{vuhTjuJW8ycf4*<7CsWgi6Ds&6I$(}3350p3 zdeh6-tN&C9t8)$=^vtzu^i_2Eeyx2HSH~M6uwetrPK8x_>3(P8(=qAw)G$Z|v)VRa zz0n>I3U7gF&R$D96Q{SPNs1_!xc1hEC01{%c^5VbujqvDw)xl*_YK1lW^ymyizBFp zk9yMdM#L`}#w;x12j(tU9f{BW)y%Kf%M7)whTtV*9G`TspU0D<;kkz}ok(5QaBOwH65lS7d)gn?kfXjMykoj~U3wntip^^}`dru3 z!-rh8;k{08xP;7)o}=&0o~wUng>OG;^HV#z>K{V|vb*|7PyGH|NF6`GsZS?{RDpk9 z_<~YQrY%RQOYaUQt-3$j4--ypTWJ?i!@HeA)hb13QEEtWG1pPek!e#MKZ4fTq*r*t zIjY+}_nhpNeZo=I?y*Wl=bjrfcCl4;h|p5iF=URzR}zwZgMIg!L8A($@3qc z;t4k6u6XRD)hXz~N9~owhY7<6!IdoC;g=?|9-VLKgS@AuuSrGUbsn->8PN0TvZ~vP zofU{u#b*a)fJsnz?xlF#GUZ9d84|`#=$Oo&-WBsw+ki^1mMH7e5*wSMnm4*EtfTr= zN)V_$sw54TG;VsEV0h55H}nI0mhF0b?x-?`_e*0|HRB8}hPMLZCc4hbl;`*v&fq0B zlwX}Vhp>p5M$`0eRCuc~1vWlq655wKO=RrNnNYIgh1ymt^|iY=sf>mi z7WVlq7-@fUbJ%CrPs#-c_1&vr8X^YF5i8QRXwnpi4YZiFY|!aBmEq_1_yv?)WGKiUs#OMc@lo(;s$WO)eF>|A~C+PG4x z1-Ef0O~QXkA4F-C~)r-1%j`O*GXi{_vwA>uNy;@C__aN_%M`rd%?*H`GgitY)IViG;C}iUs_@rdl%<6} z7CxKO={Hu#fS3uo`W4hSU9b<_*NiGHu^*={Vp{E z+{c~h0db0ZlwD+uN7z+eGw?~y>H$x7 z)&O{lu~I;w&Ue8caN1b|;LK23s0}XI18#QK0Jvo+tr31%Vu+zg*#aJHk(krz0k1Yz zd!eH1uT1BhP9OL%*EI$_q^7H1L195{-L&}S%Z6y(dv@l1|NVo=#ATNSFbLKL(#P99 zWefNOW3^}N5WBm~uDf?Oc2+JeOj1D(a{U9~VGpREga^9Rmd@c7)S<3!1enzYLA&pl z*BbiEoY0|uzc2jF>C7aM|NqF~-_J{6Zf9lnGs8c!X;R?j6bU`Y7|*wB2+j#hE6A4^ zTk!|JVp!5Bzu^A+JY`W45bhcVL8xD3!DeV5 zX1C6Fkue}<=7$Np8X@$nvMBHmjJ1H+!nh;L0&xnp(AmkN5*}?@9_iXffD_K@;omDW z3pZYuS->|tYfyU7Ylf*4eyLi2``a}Pdf@Afr%o;j<^PBr<069*gMDX>0-xoq)YE1? zoln}W`?3gd5B(l!_>+0yp2lkLW4~)U7UqOWL;nB6LS!W0OlXm%KFPHVfLA(e61d)2 z?H)bU?mos7jsaH~Yp!Y*`0^~)^y&<|HR2*8z`nCafzNVQ4~U~JGq;TMnmzA(&grhbmyzQeAnOh8

jxtpij}#!qk*ZUTmwFF$RgCm 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�_~mESmX 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∈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 x -> split(x, ": ")[end] * "s") + #elseif v == 2 + # println(stderr(out)) + #end + Ls = usolve_out_to_tuple(fname2) + Is = tuple_to_inter(Ls) + if output == "inter" + return Is + else + ff = open(fname2, "r") + return Ls, Is + end +end + + +#using Nemo +#R, (x,y) = Nemo.polynomial_ring(Nemo.ZZ, [:x,:y]) +#f = x^2+5*x-4 diff --git a/src/connectcurves/tools.jl b/src/connectcurves/tools.jl new file mode 100644 index 0000000..a48c8e2 --- /dev/null +++ b/src/connectcurves/tools.jl @@ -0,0 +1,84 @@ +#using Nemo +using Singular + +function randQQ(size=3) + fac = 10^(size) + return Nemo.QQ((-1)^(trunc(Int,rand()*10))*trunc(Int,rand()*fac),trunc(Int,rand()*fac)) +end + +function _mpoly_to_singular(f) + @assert Nemo.is_univariate(f) "Not univariate polynomial" + R, x = Singular.polynomial_ring(Singular.QQ, [:x]) + x = first(x) + cf = Nemo.coefficients_of_univariate(f) + return sum([ cf[j]*x^(j-1) for j = eachindex(cf) ]) +end + +function nb_roots_interval(f,a,b) + g = _mpoly_to_singular(f) + return Singular.LibRootsur.sturm(g, Singular.QQ(a), Singular.QQ(b)) +end + +""" + nb_roots_interval_partition(f, a, b) + +Compute the number of real roots of f(x) in the intervals: + (-infinity, a), (a,b), (b, +infinity) + +# Input: +* f: polynomial with involving one variable, with coeffients in QQ +* a,b: rational elements of QQ +# Output: +* [ n(-infinity, a), n(a,b), n(b, +infinity) ] + +""" +function nb_roots_interval_partition(f, a, b) + g = _mpoly_to_singular(f) + M = Singular.LibRootsur.maxabs(g) + a1, b1 = Singular.QQ(a), Singular.QQ(b) + M1, M2 = min(-M, a1), max(b1, M) + B = [ M1-1, a1, b1, M2+1 ] + return [ Singular.LibRootsur.sturm(g, B[i], B[i+1]) for i=1:3 ] +end + +function sturm_habicht_seq(f) + g = _mpoly_to_singular(f) + SH = map(Singular.coefficients_of_univariate, Singular.LibRootsur.sturmhaseq(g)) + return [ vcat(SH[k], [n_Q(0) for _=1:(k-length(SH[k]))]) for k in eachindex(SH) ] +end + +function subresultants_seq(f) + SH = sturm_habicht_seq(f) + d(k) = (-1)^((k*(k+1))>>1) + return [ d(length(SH)-1-k)*SH[k] for k=1:length(SH)-2 ] +end + +function subresultants_seq_biv(f, iv) + iu = iv%2+1 + # Modern computer Algebra Th 6.51. + degs = degrees(f) + n, d = degs[iv], degs[iu] + degsmax = [ (2*n-1-2*k)*d for k=0:d-2 ] + Dmax = degsmax[end]>>1+1 + ## + xs = [ randQQ() for _=1:(degsmax[1]+1) ] + @time begin + Srev = [ subresultants_seq(evaluate(f,[iu],[xx])) for xx in xs ] + end + S,t = Nemo.polynomial_ring(Nemo.QQ,"t") + Sr = [ [ S(0) for _=1:i] for i=1:n-2 ] + for i = 1:n-2 + for j = 1:i + ys = [ Nemo.QQ(Srev[l][i][j]) for l=eachindex(Srev) ] + Sr[i][j] = Nemo.interpolate(S, xs, ys) + end + end + return Sr +end + +#R, (x,y) = Nemo.polynomial_ring(Nemo.QQ, [:x,:y]) +#f = x^7+y^2*x^5-2*x*y^3+1+y^6 +#f = (x^2+y^2-1)*(2*x-y) +#Sr = subresultants_seq_biv(f, 1) + + From faae3c581539480c6265e72b6e87c2f270b4b8bf Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 22 Mar 2024 19:56:08 +0100 Subject: [PATCH 002/180] graph --- .../src/algorithms/solvers.jl | 3 +- src/connectcurves/data.jl | 2 +- src/connectcurves/main.ipynb | 137 ++++++++++++------ src/connectcurves/src/usolve/usolve.jl | 8 +- 4 files changed, 99 insertions(+), 51 deletions(-) diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl index 11cd320..00674db 100644 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl @@ -151,6 +151,7 @@ function _core_msolve( rat_param[3], rat_param[4]) if jl_nb_sols == 0 I.real_sols = QQFieldElem[] + I.inter_sols = QQFieldElem[] return rat_param, Vector{QQFieldElem}[] end @@ -419,7 +420,7 @@ function inter_solutions( precision::Int=32 # precision of the solution set ) - isdefined(I, :real_sols) || + isdefined(I, :inter_sols) || _core_msolve(I, initial_hts = initial_hts, nr_thrds = nr_thrds, diff --git a/src/connectcurves/data.jl b/src/connectcurves/data.jl index c1533c4..d7ff222 100644 --- a/src/connectcurves/data.jl +++ b/src/connectcurves/data.jl @@ -1,5 +1,5 @@ #using Nemo -R, (x,y) = Nemo.polynomial_ring(Nemo.QQ, [:x, :y]) +R, (x,y) = polynomial_ring(QQ, [:x, :y]) f = 1594627541097114368612385*x^16 + 24126594979283487048484560*x^15*y - 648897523515553246784074808*x^14*y^2 + 9227671981881181765203810480*x^13*y^3 + 775388988595641728298874736332*x^12*y^4 + 10787151407096126900712389934720*x^11*y^5 + 77139559828286619230682855993096*x^10*y^6 + 452145503210946168432702707056320*x^9*y^7 + 1603450939087454055697523432885078*x^8*y^8 + 472422761323888641034023872620080*x^7*y^9 + 69254293553970771431091788378664*x^6*y^10 + 8171004998268972015374643672912*x^5*y^11 + 486748426688048642456485687660*x^4*y^12 - 12064621488868591078399181568*x^3*y^13 - 1468208821458887902925840024*x^2*y^14 + 12892282240123223587086528*x*y^15 + 1551343473382248651380209*y^16 - 7416582067989458752697004*x^14 - 86407846455606538783280976*x^13*y + 2644747193988832166794696620*x^12*y^2 + 4962811393512179992436546328*x^11*y^3 - 852556155710875435151137729948*x^10*y^4 - 9006223258524272797865687202672*x^9*y^5 - 37408868951040006789841449492372*x^8*y^6 - 96029136974599596104658658159536*x^7*y^7 - 25805546034923632520724584708244*x^6*y^8 - 5242437191813955076157431442064*x^5*y^9 - 409699928605220782678759186860*x^4*y^10 + 39375118017080555511082417752*x^3*y^11 + 4414478650057190403833967932*x^2*y^12 - 62266637085710610417717552*x*y^13 - 7665646840583710272384908*y^14 + 14233446085691566995553618*x^12 + 132571431253302115292123136*x^11*y - 3677320627079906075667837422*x^10*y^2 - 28335523591694036134043888352*x^9*y^3 + 186478273436442358105601202678*x^8*y^4 + 979680543110585521095162296976*x^7*y^5 - 2082167356121156563744172163572*x^6*y^6 - 30539225710419394554664076544*x^5*y^7 + 25429103844006118137220734342*x^4*y^8 - 40056866529454773916181059488*x^3*y^9 - 4741918132209313788162640030*x^2*y^10 + 120063392649421566997191792*x*y^11 + 15453863115268541628254722*y^12 - 14508062550440954802512688*x^10 - 115292786706841839957190896*x^9*y + 2178406370189758736513057100*x^8*y^2 + 17911006599365461837132806264*x^7*y^3 + 18721721306068791970712906740*x^6*y^4 + 140144222573062968441350663256*x^5*y^5 + 15151268277268342933019382004*x^4*y^6 + 14388997206020218965816744888*x^3*y^7 + 2181175955893013097832336108*x^2*y^8 - 116823607901494850142791760*x*y^9 - 16262571151436698863824960*y^10 + 8412196412628079801200763*x^8 + 60038503306269383516796672*x^7*y - 526872554079154536701276538*x^6*y^2 - 2627205980235442180204133952*x^5*y^3 + 1415955761616170935932891503*x^4*y^4 - 1207248891865676270007025776*x^3*y^5 - 411102077811099614734692666*x^2*y^6 + 59338125380312133254699856*x*y^7 + 9471776668272238878375147*y^8 - 2755131867388737857954960*x^6 - 16865677220581290594690288*x^5*y + 37152628773628751552853580*x^4*y^2 - 32454665768852564904473352*x^3*y^3 + 31405824474395795210222812*x^2*y^4 - 14499431708247069028795056*x*y^5 - 2982642484703489520084064*y^6 + 476197729395824935891282*x^4 + 1850003538678786657657456*x^3*y - 861756868723874605906006*x^2*y^2 + 1328290412641467896291664*x*y^3 + 466653249763538900703730*y^4 - 37550891878150349195068*x^2 - 32144769403583975845728*x*y - 33575411625230211328108*y^2 + 864999024811562109121 diff --git a/src/connectcurves/main.ipynb b/src/connectcurves/main.ipynb index e74f544..75b7c11 100644 --- a/src/connectcurves/main.ipynb +++ b/src/connectcurves/main.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 17, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -11,26 +11,22 @@ "text": [ "Loading libraries and data..\n" ] - }, - { - "data": { - "text/plain": [ - "subresultants_seq_biv (generic function with 1 method)" - ] - }, - "metadata": {}, - "output_type": "display_data" } ], "source": [ "println(\"Loading libraries and data..\")\n", - "using Oscar\n", - "include(\"tools.jl\")" + "using AlgebraicSolving\n", + "#import Nemo:\n", + "# is_univariate,\n", + "# coefficients_of_univariate\n", + "using Nemo\n", + "#using Oscar\n", + "#include(\"tools.jl\")" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -52,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 316, + "execution_count": 130, "metadata": {}, "outputs": [ { @@ -79,14 +75,14 @@ "end\n", "\n", "function isolate(f; prec = 32, software=\"usolve\")\n", - " @assert Nemo.is_univariate(f) \"Not univariate polynomial\"\n", + " @assert is_univariate(f) \"Not univariate polynomial\"\n", "\tif software == \"usolve\"\n", "\t\treturn usolve(f, precision = prec, uspath=\"src/usolve/usolve\")\n", " end\n", "end\n", "\n", "function isolate_eval(f, ivar, val; prec=64)\n", - " sols = real_solutions(ideal(R, [f, gens(R)[ivar] - val]), precision=prec)[1]\n", + " sols = real_solutions(AlgebraicSolving.Ideal([f, gens(R)[ivar] - val]), precision=prec)\n", " return [ s[ivar%2+1] for s in sols ]\n", "end\n", "\n", @@ -109,7 +105,7 @@ }, { "cell_type": "code", - "execution_count": 283, + "execution_count": 131, "metadata": {}, "outputs": [ { @@ -130,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 284, + "execution_count": 132, "metadata": {}, "outputs": [ { @@ -146,13 +142,38 @@ "#RR(x) = Arb(x, prec=120)\n", "RR = ArbField(150)\n", "Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1])/evaluate_Arb(params[i][3],xc[1])] for xc in xcrit[i]] for i in eachindex(xcrit) ]\n", - "LBcrit = [ [ [ map(AbstractAlgebra.QQ, pc[1]), map(AbstractAlgebra.QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ];\n", + "LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ];\n", "Pcrit = [ [ [ rat_to_Arb(pc[1]), pc[2] ] for pc in pcrit] for pcrit in Pcrit ];" ] }, { "cell_type": "code", - "execution_count": 317, + "execution_count": 187, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "[0.00592297584970014544321252 +/- 4.43e-27]" + ], + "text/latex": [ + "[0.00592297584970014544321252 +/- 4.43e-27]" + ], + "text/plain": [ + "[0.00592297584970014544321252 +/- 4.43e-27]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Pcrit[1][1][2]" + ] + }, + { + "cell_type": "code", + "execution_count": 191, "metadata": {}, "outputs": [ { @@ -177,7 +198,7 @@ " # Lyi\n", " L[i+2] = Array{Any}(undef,2)\n", " L[i+2][1] = isolate_eval(f, 1, B[1][i], prec=150)\n", - " L[i+2][2] = [ j for (j, l) in pairs(L[i+2][1]) if (l> B[1][1] && l B[2][1] && l Date: Mon, 25 Mar 2024 11:29:05 +0100 Subject: [PATCH 003/180] until plot ! --- .../src/algorithms/solvers.jl | 8 +- src/connectcurves/main.ipynb | 4972 ++++++++++++++++- 2 files changed, 4886 insertions(+), 94 deletions(-) diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl index 00674db..5051541 100644 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl +++ b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl @@ -142,7 +142,9 @@ function _core_msolve( jl_vnames = Base.unsafe_wrap(Array, res_vnames[], jl_rp_nr_vars) - vsymbols = [Symbol(unsafe_string(jl_vnames[i])) for i in 1:jl_rp_nr_vars] + vsymbols = [Symbol(unsafe_string(jl_vnames[i])) for i in 1:jl_rp_nr_vars] + #= get possible variable permutation =# + perm = sortperm(vsymbols[1:nr_vars]) rat_param = _get_rational_parametrization(jl_ld, jl_len, jl_cf, jl_cf_lf, jl_rp_nr_vars) @@ -180,8 +182,8 @@ function _core_msolve( inter_tmp_coeff = Vector{QQFieldElem}(undef, 2) inter_tmp_coeff[1] = QQFieldElem(unsafe_load(jl_sols_num, i)) >> Int64(unsafe_load(jl_sols_den, i)) inter_tmp_coeff[2] = QQFieldElem(unsafe_load(jl_sols_num, i+1)) >> Int64(unsafe_load(jl_sols_den, i+1)) - inter_tmp[j] = inter_tmp_coeff - tmp[j] = sum(inter_tmp_coeff) >> 1 + inter_tmp[perm[j]] = inter_tmp_coeff + tmp[perm[j]] = sum(inter_tmp_coeff) >> 1 i += 2 j += 1 end diff --git a/src/connectcurves/main.ipynb b/src/connectcurves/main.ipynb index 75b7c11..0b11b4c 100644 --- a/src/connectcurves/main.ipynb +++ b/src/connectcurves/main.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 22, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -11,14 +11,24 @@ "text": [ "Loading libraries and data..\n" ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m project at `~/Documents/gittravail/AlgCurves/AlgebraicSolving.jl-main`\n" + ] } ], "source": [ "println(\"Loading libraries and data..\")\n", - "using AlgebraicSolving\n", + "using Pkg\n", + "using Revise\n", + "Pkg.activate(\"AlgebraicSolving.jl-main\")\n", "#import Nemo:\n", "# is_univariate,\n", "# coefficients_of_univariate\n", + "using AlgebraicSolving\n", "using Nemo\n", "#using Oscar\n", "#include(\"tools.jl\")" @@ -26,7 +36,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -48,7 +58,7 @@ }, { "cell_type": "code", - "execution_count": 130, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -82,7 +92,7 @@ "end\n", "\n", "function isolate_eval(f, ivar, val; prec=64)\n", - " sols = real_solutions(AlgebraicSolving.Ideal([f, gens(R)[ivar] - val]), precision=prec)\n", + " sols = inter_solutions(AlgebraicSolving.Ideal([f, gens(R)[ivar] - val]), precision=prec)\n", " return [ s[ivar%2+1] for s in sols ]\n", "end\n", "\n", @@ -105,7 +115,7 @@ }, { "cell_type": "code", - "execution_count": 131, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -126,7 +136,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -148,7 +158,7 @@ }, { "cell_type": "code", - "execution_count": 187, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -173,7 +183,7 @@ }, { "cell_type": "code", - "execution_count": 191, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -193,12 +203,12 @@ " for i in 1:2\n", " # Lxi\n", " L[i] = Array{Any}(undef,2)\n", - " L[i][1] = isolate_eval(f, 2, B[2][i], prec=150)\n", - " L[i][2] = [ j for (j, l) in pairs(L[i][1]) if (l> B[1][1] && l B[1][1] && l[2] B[2][1] && l B[2][1] && l[2] 1 && sum(npcside[1:2]) != 0\n", + " println(npcside)\n", " @assert false \"\\nRefine singular boxes along x-axis\"\n", " #refine_xboxes(QQ[\"x\"](params[2][1]), LBcrit[2])\n", " #i -= 1\n", @@ -277,20 +292,72 @@ " println(\"\")\n", "end\n", "LnPCside = [ [[length(indI) for (L, indI) in PB] for PB in lpcside] for lpcside in LPCside ] \n", - "println(\"Average time for one point: $(mean(Ltm))s\")\n", + "println(\"Average time for one point: $(sum(Ltm)/length(Ltm))s\")\n", "println(\"Elapsed time to compute critical boxes: $(time()-ts)s\")\n" ] }, { "cell_type": "code", - "execution_count": 190, + "execution_count": 10, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "true" + "data": { + "text/plain": [ + "16-element Vector{Vector{Int64}}:\n", + " [0, 0, 0, 2]\n", + " [0, 0, 0, 2]\n", + " [0, 0, 0, 2]\n", + " [0, 0, 0, 2]\n", + " [0, 0, 2, 0]\n", + " [1, 1, 0, 0]\n", + " [0, 0, 0, 2]\n", + " [1, 1, 0, 0]\n", + " [1, 1, 0, 0]\n", + " [0, 0, 2, 0]\n", + " [1, 1, 0, 0]\n", + " [0, 0, 0, 2]\n", + " [0, 0, 2, 0]\n", + " [0, 0, 2, 0]\n", + " [0, 0, 2, 0]\n", + " [0, 0, 2, 0]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "LnPCside[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "ename": "MethodError", + "evalue": "MethodError: no method matching isless(::Vector{QQFieldElem}, ::QQFieldElem)\n\nClosest candidates are:\n isless(!Matched::qqbar, ::QQFieldElem)\n @ Nemo ~/.julia/packages/Nemo/VHAIi/src/calcium/qqbar.jl:633\n isless(!Matched::Float64, ::QQFieldElem)\n @ Nemo ~/.julia/packages/Nemo/VHAIi/src/HeckeMiscInteger.jl:28\n isless(!Matched::NegInf, ::Union{QQFieldElem, ZZRingElem})\n @ Nemo ~/.julia/packages/Nemo/VHAIi/src/HeckeMiscInfinity.jl:79\n ...\n", + "output_type": "error", + "traceback": [ + "MethodError: no method matching isless(::Vector{QQFieldElem}, ::QQFieldElem)\n", + "\n", + "Closest candidates are:\n", + " isless(!Matched::qqbar, ::QQFieldElem)\n", + " @ Nemo ~/.julia/packages/Nemo/VHAIi/src/calcium/qqbar.jl:633\n", + " isless(!Matched::Float64, ::QQFieldElem)\n", + " @ Nemo ~/.julia/packages/Nemo/VHAIi/src/HeckeMiscInteger.jl:28\n", + " isless(!Matched::NegInf, ::Union{QQFieldElem, ZZRingElem})\n", + " @ Nemo ~/.julia/packages/Nemo/VHAIi/src/HeckeMiscInfinity.jl:79\n", + " ...\n", + "\n", + "\n", + "Stacktrace:\n", + " [1] <(x::Vector{QQFieldElem}, y::QQFieldElem)\n", + " @ Base ./operators.jl:352\n", + " [2] top-level scope\n", + " @ ~/Documents/gittravail/AlgCurves/main.ipynb:4" ] } ], @@ -303,14 +370,14 @@ }, { "cell_type": "code", - "execution_count": 196, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# Update extreme boxes\n", "for j in eachindex(LBcrit[1])\n", - " # If the curve does not intersect the box only on vertical sides or not at all\n", - " if !(LnPCside[1][j][1:2] == [0, 0]) || sum(LnPCside[1][j])==0\n", + " # If the curve does not intersect the box only on vertical sides\n", + " if !(LnPCside[1][j][1:2] == [0, 0])\n", " PCside, nPCside = LPCside[1][j], LnPCside[1][j]\n", " I = [ l[1] for l in PCside[3:end] ]\n", " nI = [ l[2] for l in PCside[3:end] ]\n", @@ -319,11 +386,11 @@ " # s=1: left; s=2: right\n", " s = argmax([length(I[1]), length(I[2])])\n", " # Ordinate range of the extreme point\n", - " ycrit = Pcrit[1][j][2]\n", + " ycrit = LBcrit[1][j][2]\n", " # If it intersects on the bottom side\n", " if nPCside[1] == 1\n", " # yinf: the intersection with the vertical side just below the extreme point\n", - " yinf = maximum([i for (i, yy) in pairs(I[s]) if yy < ycrit])\n", + " yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[2]])\n", " # We vertically enlarge the box until it intersects on the horizontal side\n", " push!(LPCside[1][j][s + 2][2], yinf)\n", " LPCside[1][j][1][2] = []\n", @@ -334,7 +401,7 @@ " # If it intersects on the top side\n", " if nPCside[2] == 1 \n", " # ymax: the intersection with the vertical side just above the extreme point\n", - " ymax = minimum([i for (i, yy) in pairs(I[s]) if yy > ycrit])\n", + " ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[1]])\n", " # We vertically enlarge the box until it intersects on the horizontal side\n", " push!(LPCside[1][j][s + 2][2], ymax)\n", " LPCside[1][j][2][2] = []\n", @@ -348,34 +415,46 @@ }, { "cell_type": "code", - "execution_count": 205, + "execution_count": 13, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "Graph computation\n", - "I :Vector{QQFieldElem}[[], []]" - ] - }, - { - "ename": "BoundsError", - "evalue": "BoundsError: attempt to access 0-element Vector{QQFieldElem} at index [1]", - "output_type": "error", - "traceback": [ - "BoundsError: attempt to access 0-element Vector{QQFieldElem} at index [1]\n", - "\n", - "Stacktrace:\n", - " [1] getindex(A::Vector{QQFieldElem}, i1::Int64)\n", - " @ Base ./essentials.jl:13\n", - " [2] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/main.ipynb:28" - ] + "data": { + "text/plain": [ + "16-element Vector{Vector{Int64}}:\n", + " [0, 0, 0, 2]\n", + " [0, 0, 0, 2]\n", + " [0, 0, 0, 2]\n", + " [0, 0, 0, 2]\n", + " [0, 0, 2, 0]\n", + " [0, 0, 0, 2]\n", + " [0, 0, 0, 2]\n", + " [0, 0, 0, 2]\n", + " [0, 0, 2, 0]\n", + " [0, 0, 2, 0]\n", + " [0, 0, 2, 0]\n", + " [0, 0, 0, 2]\n", + " [0, 0, 2, 0]\n", + " [0, 0, 2, 0]\n", + " [0, 0, 2, 0]\n", + " [0, 0, 2, 0]" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "print(\"Graph computation\")\n", + "LnPCside[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "#print(\"Graph computation\")\n", "# Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot\n", "# And even remove this fiber for the graph\n", "Vert = []\n", @@ -386,63 +465,67 @@ "\n", "for ind in 1:length(xcritpermut)\n", " i, j = xcritpermut[ind]\n", + "\n", " if ind > 1\n", " i1, j1 = xcritpermut[ind - 1]\n", " end\n", " if ind < length(xcritpermut)\n", " i2, j2 = xcritpermut[ind + 1]\n", - " I2L, nI2L = LPCside[i2][j2][2]\n", + " I2L, nI2L = LPCside[i2][j2][3]\n", " end\n", "\n", " PCside, nPCside = LPCside[i][j], LnPCside[i][j]\n", " I = [ l[1] for l in PCside[3:end] ]\n", " nI = [ l[2] for l in PCside[3:end] ]\n", - " \n", - " ymincrit = min(nI[1][1] + nI[1][2] + [length(I[1][1])])\n", "\n", + " xcmid = sum(LBcrit[i][j][1])//2\n", + " ycmid = sum(LBcrit[i][j][2])//2\n", + "\n", + " ymincrit = minimum(vcat(nI[1], nI[2], [length(I[1])+1]))\n", " # Construct vertices\n", " ###########################\n", " # On the vertical left side\n", " if ind > 1\n", - " for k in 1:length(I[1][1])\n", - " push!(Corr[i][j][1][1], Corr[i1][j1][3][k])\n", + " for k in 1:length(I[1])\n", + " push!(Corr[i][j][1], Corr[i1][j1][3][k])\n", " end\n", " else\n", - " for k in 1:length(I[1][1])\n", - " push!(Vert, (xcrit[i][j].lower() - exp, I[1][1][k]))\n", - " push!(Corr[i][j][1][1], ite)\n", + " for k in 1:length(I[1])\n", + " push!(Vert, [xcrit[i][j][1], sum(I[1][k])//2])\n", + " push!(Corr[i][j][1], ite)\n", " ite += 1\n", " end\n", " end\n", " ###########################\n", " # On the vertical right side\n", " if ind < length(xcritpermut)\n", - " for k in 1:length(I[1][2])\n", - " push!(Vert, ((xcrit[i][j] + xcrit[i2][j2]).lower() / 2 + exp, (I[1][2][k] + I2L[k]).lower() / 2))\n", + " for k in 1:length(I[2])\n", + " push!(Vert, [(xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4])\n", " push!(Corr[i][j][3], ite)\n", " ite += 1\n", " end\n", " else\n", - " for k in 1:length(I[1][2])\n", - " push!(Vert, (xcrit[i][j].upper() + exp, I[1][2][k]))\n", + " for k in 1:length(I[2])\n", + " push!(Vert, [xcrit[i][j][2], sum(I[2][k])//2])\n", " push!(Corr[i][j][3], ite)\n", " ite += 1\n", " end\n", " end\n", " ###########################\n", " # Below the critical point\n", - " for k in 1:ymincrit\n", - " push!(Vert, (xcrit[i][j], (I[1][1][k] + I[1][2][k]) / 2))\n", + "\n", + " for k in 1:ymincrit-1\n", + " push!(Vert, [xcmid, sum(I[1][k] + I[2][k])// 4])\n", " push!(Corr[i][j][2][1], ite)\n", - " push!(Edg, (Corr[i][j][1][1][k], ite)) # left\n", - " push!(Edg, (ite, Corr[i][j][3][k])) # right\n", + " push!(Edg, [Corr[i][j][1][k], ite]) # left\n", + " push!(Edg, [ite, Corr[i][j][3][k]]) # right\n", " ite += 1\n", " end\n", " ###########################\n", " # The critical point\n", " ##########################\n", " # if it is an isolated point\n", - " if isempty(nI[1][1]) && isempty(nI[1][2])\n", + " if isempty(nI[1]) && isempty(nI[2])\n", " #pass\n", " # We can add the isolated vertex\n", " # push!(Vert, Pcrit[i][j])\n", @@ -455,31 +538,31 @@ " ## works for space curves without nodes ##\n", " ############################################\n", " # If we are dealing with a node\n", - " elseif i == 1\n", + " elseif i == 2\n", " # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2\n", - " push!(Edg, (Corr[i][j][1][1][nI[1][1][1]], Corr[i][j][3][nI[1][2][2]]))\n", - " push!(Edg, (Corr[i][j][1][1][nI[1][1][2]], Corr[i][j][3][nI[1][2][1]]))\n", + " push!(Edg, [Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]]])\n", + " push!(Edg, [Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]]])\n", " else\n", " # We can add the vertex\n", - " push!(Vert, Pcrit[i][j])\n", - " push!(Corr[i][j][2][1], ite)\n", + " push!(Vert, [xcmid, ycmid])\n", + " push!(Corr[i][j][2][2], ite)\n", " # We connect to the vertical left side of the critical box\n", - " for k in nI[1][1]\n", - " push!(Edg, (Corr[i][j][1][1][k], ite))\n", + " for k in nI[1]\n", + " push!(Edg, [Corr[i][j][1][k], ite])\n", " end\n", " # We connect to the vertical right side of the critical box\n", - " for k in nI[1][2]\n", - " push!(Edg, (ite, Corr[i][j][3][k]))\n", + " for k in nI[2]\n", + " push!(Edg, [ite, Corr[i][j][3][k]])\n", " end\n", " ite += 1\n", " end\n", " ###########################\n", " # Above the critical point\n", - " for k in length(I[1][1]) - length(nI[1][1]) - ymincrit:-1:1\n", - " push!(Vert, (xcrit[i][j], (I[1][1][end - k + 1] + I[1][2][end - k + 1]) / 2))\n", + " for k=(length(I[1]) - length(nI[1]) - ymincrit+1):-1:1\n", + " push!(Vert, [xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4])\n", " push!(Corr[i][j][2][3], ite)\n", - " push!(Edg, (Corr[i][j][1][1][end - k + 1], ite)) # left\n", - " push!(Edg, (ite, Corr[i][j][3][end - k + 1])) # right\n", + " push!(Edg, [Corr[i][j][1][end - k + 1], ite]) # left\n", + " push!(Edg, [ite, Corr[i][j][3][end - k + 1]]) # right\n", " ite += 1\n", " end\n", "end" @@ -487,32 +570,4739 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "using Plots;" + ] + }, + { + "cell_type": "code", + "execution_count": 16, "metadata": {}, "outputs": [ { - "ename": "UndefVarError", - "evalue": "UndefVarError: `LnPCside` not defined", + "data": { + "text/html": [ + "311354880742658165020823809451303138468859396825965249675828338269318772975884775//60708402882054033466233184588234965832575213720379360039119137804340758912662765568" + ], + "text/latex": [ + "\\frac{311354880742658165020823809451303138468859396825965249675828338269318772975884775}{60708402882054033466233184588234965832575213720379360039119137804340758912662765568}" + ], + "text/plain": [ + "311354880742658165020823809451303138468859396825965249675828338269318772975884775//60708402882054033466233184588234965832575213720379360039119137804340758912662765568" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Vert[1][2]" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "plot_graph (generic function with 1 method)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "function plot_graph(V, E)\n", + " println(\"Plotting the graph\")\n", + " plot(legend=false)\n", + " for e in E\n", + " xe, ye = map(Float64,[e[1][1], e[2][1]]), map(Float64,[e[1][2], e[2][2]])\n", + " plot!(xe, ye, lc=\"red\", lw=3)\n", + " end\n", + " scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc=\"black\", m=:diamond)\n", + " #plt.show(block=true)\n", + " plot!()\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Plotting the graph\n" + ] + }, + { + "data": { + "image/png": "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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/html": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg]\n", + "plot_graph(Vert, EdgPlot)" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: using Graphs.radius in module Main conflicts with an existing identifier.\n" + ] + } + ], + "source": [ + "using Graphs" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [], + "source": [ + "G = SimpleGraph()\n", + "add_vertices!(G, length(Vert))\n", + "for e in Edg\n", + " add_edge!(G, e[1],e[2])\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "ename": "ErrorException", + "evalue": "type Array has no field vertices", "output_type": "error", "traceback": [ - "UndefVarError: `LnPCside` not defined\n", + "type Array has no field vertices\n", "\n", "Stacktrace:\n", - " [1] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/main.ipynb:1" + " [1] getproperty\n", + " @ ./Base.jl:37 [inlined]\n", + " [2] (::var\"#198#199\")(cG::Vector{Int64})\n", + " @ Main ./none:0\n", + " [3] iterate\n", + " @ ./generator.jl:47 [inlined]\n", + " [4] collect(itr::Base.Generator{Vector{Vector{Int64}}, var\"#198#199\"})\n", + " @ Base ./array.jl:834\n", + " [5] top-level scope\n", + " @ ~/Documents/gittravail/AlgCurves/main.ipynb:2" ] } ], - "source": [] + "source": [ + "CG = connected_components(G); \n", + "CVert = [ cG.vertices() for cG in CG ]\n", + "CEdg = [[ e[:2] for e in cG.edges()] for cG in CG]" + ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 93, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "([[1], [2], [3], [4], [5], [6], [7], [8], [9], [10] … [141], [142], [143], [144], [145], [146], [147], [148], [149], [150]], Dict(1071 => 150, 937 => 113, 879 => 100, 830 => 87, 719 => 66, 700 => 63, 731 => 68, 734 => 69, 985 => 126, 510 => 32…))" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "I" + "Graphs.components(connected_components(G)[4])" ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1108-element Vector{Graphs.SimpleGraphs.SimpleEdge{Int64}}:\n", + " Edge 1 => 3\n", + " Edge 1 => 9\n", + " Edge 2 => 3\n", + " Edge 2 => 10\n", + " Edge 4 => 8\n", + " Edge 4 => 15\n", + " Edge 5 => 8\n", + " Edge 5 => 13\n", + " Edge 6 => 9\n", + " Edge 6 => 12\n", + " â‹®\n", + " Edge 1097 => 1105\n", + " Edge 1098 => 1106\n", + " Edge 1099 => 1107\n", + " Edge 1100 => 1102\n", + " Edge 1100 => 1107\n", + " Edge 1103 => 1105\n", + " Edge 1103 => 1108\n", + " Edge 1104 => 1106\n", + " Edge 1104 => 1108" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "collect(edges(G))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From a09b01691ba378d39c2ec9ccd9d3aace659cb141 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 26 Mar 2024 00:01:38 +0100 Subject: [PATCH 004/180] end color --- src/connectcurves/main.ipynb | 11571 +++++++++++++++++++-------------- 1 file changed, 6865 insertions(+), 4706 deletions(-) diff --git a/src/connectcurves/main.ipynb b/src/connectcurves/main.ipynb index 0b11b4c..76b8109 100644 --- a/src/connectcurves/main.ipynb +++ b/src/connectcurves/main.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -36,7 +36,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -58,7 +58,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -115,7 +115,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -136,7 +136,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -158,7 +158,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -183,7 +183,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -216,7 +216,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -237,7 +237,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -248,8 +248,8 @@ "Compute intersections with critical boxes\n", "mult=1 ; 16/16 pts\n", "mult=2 ; 60/60 pts\n", - "Average time for one point: 0.20092660502383583s\n", - "Elapsed time to compute critical boxes: 15.649327993392944s\n" + "Average time for one point: 0.1860845590892591s\n", + "Elapsed time to compute critical boxes: 14.443221092224121s\n" ] } ], @@ -296,82 +296,10 @@ "println(\"Elapsed time to compute critical boxes: $(time()-ts)s\")\n" ] }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "16-element Vector{Vector{Int64}}:\n", - " [0, 0, 0, 2]\n", - " [0, 0, 0, 2]\n", - " [0, 0, 0, 2]\n", - " [0, 0, 0, 2]\n", - " [0, 0, 2, 0]\n", - " [1, 1, 0, 0]\n", - " [0, 0, 0, 2]\n", - " [1, 1, 0, 0]\n", - " [1, 1, 0, 0]\n", - " [0, 0, 2, 0]\n", - " [1, 1, 0, 0]\n", - " [0, 0, 0, 2]\n", - " [0, 0, 2, 0]\n", - " [0, 0, 2, 0]\n", - " [0, 0, 2, 0]\n", - " [0, 0, 2, 0]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "LnPCside[1]" - ] - }, { "cell_type": "code", "execution_count": 11, "metadata": {}, - "outputs": [ - { - "ename": "MethodError", - "evalue": "MethodError: no method matching isless(::Vector{QQFieldElem}, ::QQFieldElem)\n\nClosest candidates are:\n isless(!Matched::qqbar, ::QQFieldElem)\n @ Nemo ~/.julia/packages/Nemo/VHAIi/src/calcium/qqbar.jl:633\n isless(!Matched::Float64, ::QQFieldElem)\n @ Nemo ~/.julia/packages/Nemo/VHAIi/src/HeckeMiscInteger.jl:28\n isless(!Matched::NegInf, ::Union{QQFieldElem, ZZRingElem})\n @ Nemo ~/.julia/packages/Nemo/VHAIi/src/HeckeMiscInfinity.jl:79\n ...\n", - "output_type": "error", - "traceback": [ - "MethodError: no method matching isless(::Vector{QQFieldElem}, ::QQFieldElem)\n", - "\n", - "Closest candidates are:\n", - " isless(!Matched::qqbar, ::QQFieldElem)\n", - " @ Nemo ~/.julia/packages/Nemo/VHAIi/src/calcium/qqbar.jl:633\n", - " isless(!Matched::Float64, ::QQFieldElem)\n", - " @ Nemo ~/.julia/packages/Nemo/VHAIi/src/HeckeMiscInteger.jl:28\n", - " isless(!Matched::NegInf, ::Union{QQFieldElem, ZZRingElem})\n", - " @ Nemo ~/.julia/packages/Nemo/VHAIi/src/HeckeMiscInfinity.jl:79\n", - " ...\n", - "\n", - "\n", - "Stacktrace:\n", - " [1] <(x::Vector{QQFieldElem}, y::QQFieldElem)\n", - " @ Base ./operators.jl:352\n", - " [2] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/main.ipynb:4" - ] - } - ], - "source": [ - "y1, y2 = [ l[1] for l in LPCside[1][1] ][4]\n", - "yB1, yB2 = LBcrit[1][1][2]\n", - "yRB = Pcrit[1][1][2]\n", - "print(y2\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n" ], "text/html": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n" ] }, @@ -5179,75 +5047,73 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 114, "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING: using Graphs.radius in module Main conflicts with an existing identifier.\n" - ] + "data": { + "text/plain": [ + "connected_components_bis (generic function with 1 method)" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "using Graphs" + "function connected_components_bis(edges)\n", + " adj_list = Dict{Int, Vector{Int}}()\n", + " visited = Set{Int}()\n", + " components = Vector{Vector{Tuple{Int, Int}}}()\n", + "\n", + " # Build adjacency list\n", + " for (i, j) in edges\n", + " push!(get!(adj_list, i, []), j)\n", + " push!(get!(adj_list, j, []), i)\n", + " end\n", + "\n", + " # Depth-first search\n", + " function dfs(node, component)\n", + " push!(visited, node)\n", + " for neighbor in adj_list[node]\n", + " if !(neighbor in visited)\n", + " push!(component, (node, neighbor))\n", + " dfs(neighbor, component)\n", + " end\n", + " end\n", + " end\n", + "\n", + " # Find connected components\n", + " for node in keys(adj_list)\n", + " if !(node in visited)\n", + " component = Vector{Tuple{Int, Int}}()\n", + " dfs(node, component)\n", + " push!(components, component)\n", + " end\n", + " end\n", + "\n", + " return components\n", + "end\n" ] }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 145, "metadata": {}, "outputs": [], "source": [ - "G = SimpleGraph()\n", - "add_vertices!(G, length(Vert))\n", - "for e in Edg\n", - " add_edge!(G, e[1],e[2])\n", - "end" + "CEdg = connected_components_bis(Edg);" ] }, { "cell_type": "code", - "execution_count": 94, - "metadata": {}, - "outputs": [ - { - "ename": "ErrorException", - "evalue": "type Array has no field vertices", - "output_type": "error", - "traceback": [ - "type Array has no field vertices\n", - "\n", - "Stacktrace:\n", - " [1] getproperty\n", - " @ ./Base.jl:37 [inlined]\n", - " [2] (::var\"#198#199\")(cG::Vector{Int64})\n", - " @ Main ./none:0\n", - " [3] iterate\n", - " @ ./generator.jl:47 [inlined]\n", - " [4] collect(itr::Base.Generator{Vector{Vector{Int64}}, var\"#198#199\"})\n", - " @ Base ./array.jl:834\n", - " [5] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/main.ipynb:2" - ] - } - ], - "source": [ - "CG = connected_components(G); \n", - "CVert = [ cG.vertices() for cG in CG ]\n", - "CEdg = [[ e[:2] for e in cG.edges()] for cG in CG]" - ] - }, - { - "cell_type": "code", - "execution_count": 93, + "execution_count": 142, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "([[1], [2], [3], [4], [5], [6], [7], [8], [9], [10] … [141], [142], [143], [144], [145], [146], [147], [148], [149], [150]], Dict(1071 => 150, 937 => 113, 879 => 100, 830 => 87, 719 => 66, 700 => 63, 731 => 68, 734 => 69, 985 => 126, 510 => 32…))" + "plot_graph_comp (generic function with 2 methods)" ] }, "metadata": {}, @@ -5255,38 +5121,2331 @@ } ], "source": [ - "Graphs.components(connected_components(G)[4])" + "function plot_graph_comp(V, CE)\n", + " println(\"Plotting the graph\")\n", + " plot(legend=false)\n", + " col = distinguishable_colors(length(CE)+2)\n", + " for j in eachindex(CE)\n", + " for e in CE[j]\n", + " v1, v2 = map(Float64, V[e[1]]), map(Float64, V[e[2]])\n", + " plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=3)\n", + " end\n", + " end\n", + " #plt.show(block=true)\n", + " plot!()\n", + "end" ] }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 143, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Plotting the graph\n" + ] + }, { "data": { - "text/plain": [ - "1108-element Vector{Graphs.SimpleGraphs.SimpleEdge{Int64}}:\n", - " Edge 1 => 3\n", - " Edge 1 => 9\n", - " Edge 2 => 3\n", - " Edge 2 => 10\n", - " Edge 4 => 8\n", - " Edge 4 => 15\n", - " Edge 5 => 8\n", - " Edge 5 => 13\n", - " Edge 6 => 9\n", - " Edge 6 => 12\n", - " â‹®\n", - " Edge 1097 => 1105\n", - " Edge 1098 => 1106\n", - " Edge 1099 => 1107\n", - " Edge 1100 => 1102\n", - " Edge 1100 => 1107\n", - " Edge 1103 => 1105\n", - " Edge 1103 => 1108\n", - " Edge 1104 => 1106\n", - " Edge 1104 => 1108" + "image/png": "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njdv3ooVK1pbW4NmEEXx1ltvffTRR5ubmx955JElS5ZQbY8QQkiECEMgPOecc+6///7p06f3lOGrr74SBOGHP/whgNtvv93lcm3evHnw1yWEEEIGbzjaCE+cOFFQUMCyLACWZQsKCk6cONFL/paWFlmWW1tbW1paeJ4fhhISQggZt0IaR1hRUfH222933758+fKEhIQ+D29razObOybAiIqKamlpCZqTYRiv15uQkCBJ0oQJE5TMVqs1lEKSoSPLssPhyMnJGemCEB+v11tfX093JHLwPN/a2kp3JHI4HA6Xy5WTk3Prrbc++eSTvWcOKRCKouh2u7tvl2W5+8buEhIS2tvb/R9bWlqSkpKC5uQ47syZM16vl+d5vV4fNA8ZEXRHIg3dkUhDdySiSJIkiqJWq01NTe0zc0iBMCcn5/HHHx9wgQoLCw8dOiQIglarFQShpKSksLCwp8xZWVkDvhAhhBDSX2FoI+R5fuPGjTt37hRFcePGjd9++62y/YEHHli3bh2AOXPmZGdnP/bYYzU1Nb/97W/z8vLOO++8wV+XEEIIGbwwzDVqs9lWrlwJ4IILLli5cmVKSsr8+fMBsCzLMIySZ/369Q8++OCCBQuKiorWr18/+IsSQgghYcGE2M5HCCGEjEk01yghhJBxLbKWYWpoaNizZ09FRcWFF144adKkoHn27du3Zs0ag8Fw++235+bmDnMJx6F169Zt27YtKytr+fLlJpOpy94dO3YcOHDA/3HZsmVarXZ4Czj2/etf//r666/T09OXL18edOmlw4cPv/POOyzLLl26tKcHh4TRxx9//OWXX6alpd19990xMTFd9u7bt2/Xrl3+j0uWLAkcP0bCSxTFo0eP7tu3z+Vy/ehHP+opz+rVq0tKSiZPnrxs2TKNpmvgi6wa4eWXX/673/3ukUce2bJlS9AMO3bsuOiii+Li4nieP++88yorK4e5hOPNE0888eijj+bn53/xxRdXXnll9wwffvjh3//+93IVTZ4Xds8999xDDz2Ul5e3devWSy65pPu/8OHDh+fNm2cwGDQazZw5c44ePToi5Rw/XnzxxZ/+9Kd5eXk7d+5cuHChKIpdMnz66acvv/yy/6Hwer0jUs5xYvPmzZdeeulf//rXH//4xz3luffee1955ZWJEyeuXr36zjvvDJJDjiSiKMqyvGDBgldffTVo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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/html": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" ] }, "metadata": {}, @@ -5294,7 +7453,7 @@ } ], "source": [ - "collect(edges(G))" + "plot_graph_comp(Vert,CEdg)" ] }, { From 5d292b25c1e7d444ef8a9600eb94bd65a17bc941 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 10 May 2024 01:38:22 +0200 Subject: [PATCH 005/180] code sous resultant --- src/connectcurves/main.ipynb | 80 ++--- src/connectcurves/main.jl | 275 ++++++++++++++--- src/connectcurves/subresultant.ipynb | 431 +++++++++++++++++++++++++++ 3 files changed, 709 insertions(+), 77 deletions(-) create mode 100644 src/connectcurves/subresultant.ipynb diff --git a/src/connectcurves/main.ipynb b/src/connectcurves/main.ipynb index 76b8109..014a1f1 100644 --- a/src/connectcurves/main.ipynb +++ b/src/connectcurves/main.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -36,7 +36,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -50,7 +50,6 @@ } ], "source": [ - "\n", "include(\"data.jl\")\n", "include(\"src/usolve/usolve.jl\")\n", "#using Arblib" @@ -58,7 +57,17 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "using BenchmarkTools\n", + "using IntervalArithmetic" + ] + }, + { + "cell_type": "code", + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -115,7 +124,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -156,31 +165,6 @@ "Pcrit = [ [ [ rat_to_Arb(pc[1]), pc[2] ] for pc in pcrit] for pcrit in Pcrit ];" ] }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "[0.00592297584970014544321252 +/- 4.43e-27]" - ], - "text/latex": [ - "[0.00592297584970014544321252 +/- 4.43e-27]" - ], - "text/plain": [ - "[0.00592297584970014544321252 +/- 4.43e-27]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "Pcrit[1][1][2]" - ] - }, { "cell_type": "code", "execution_count": 8, @@ -347,7 +331,7 @@ "metadata": {}, "outputs": [], "source": [ - "#print(\"Graph computation\")\n", + "print(\"Graph computation\")\n", "# Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot\n", "# And even remove this fiber for the graph\n", "Vert = []\n", @@ -5047,7 +5031,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 163, "metadata": {}, "outputs": [ { @@ -5072,6 +5056,7 @@ " push!(get!(adj_list, j, []), i)\n", " end\n", "\n", + " \n", " # Depth-first search\n", " function dfs(node, component)\n", " push!(visited, node)\n", @@ -5082,12 +5067,29 @@ " end\n", " end\n", " end\n", + " \n", + "\n", + " # Breadth-first search\n", + " function bfs(node, component)\n", + " queue = [node]\n", + " push!(visited, node)\n", + " while !isempty(queue)\n", + " current = popfirst!(queue)\n", + " for neighbor in adj_list[current]\n", + " if !(neighbor in visited)\n", + " push!(visited, neighbor)\n", + " push!(component, (current, neighbor))\n", + " push!(queue, neighbor)\n", + " end\n", + " end\n", + " end\n", + " end\n", "\n", " # Find connected components\n", " for node in keys(adj_list)\n", " if !(node in visited)\n", " component = Vector{Tuple{Int, Int}}()\n", - " dfs(node, component)\n", + " bfs(node, component)\n", " push!(components, component)\n", " end\n", " end\n", @@ -5098,9 +5100,17 @@ }, { "cell_type": "code", - "execution_count": 145, + "execution_count": 162, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 486.504 μs (8496 allocations: 535.11 KiB)\n" + ] + } + ], "source": [ "CEdg = connected_components_bis(Edg);" ] diff --git a/src/connectcurves/main.jl b/src/connectcurves/main.jl index 6aed3b6..d7741a3 100644 --- a/src/connectcurves/main.jl +++ b/src/connectcurves/main.jl @@ -1,10 +1,13 @@ println("Loading libraries and data..") -using Oscar +using Pkg +using Revise +Pkg.activate("AlgebraicSolving.jl-main") +using AlgebraicSolving +using Nemo +using Colors +using PyPlot include("data.jl") include("src/usolve/usolve.jl") -#include("tools.jl") - -#using Arblib function order_permut2d(L) # Create a list of tuples with elements and their corresponding indices @@ -19,9 +22,15 @@ function order_permut2d(L) end function isolate(f; prec = 32, software="usolve") + @assert is_univariate(f) "Not univariate polynomial" if software == "usolve" return usolve(f, precision = prec, uspath="src/usolve/usolve") - end + end +end + +function isolate_eval(f, ivar, val; prec=64) + sols = inter_solutions(AlgebraicSolving.Ideal([f, gens(R)[ivar] - val]), precision=prec) + return [ s[ivar%2+1] for s in sols ] end function Arb_to_rat(x) @@ -29,90 +38,265 @@ function Arb_to_rat(x) return map(simplest_rational_inside, [x-2*r, x+2*r]) end +function rat_to_Arb(x) + x1,x2 = x + xm, xd = RR((x1+x2)/2), RR(x2-x1) + return ball(xm,xd) +end + function evaluate_Arb(f, x) cf = coefficients_of_univariate(f) return evalpoly(RR(x), cf) end +# To try/do : isolate with usolve, call msolve with only one variable +function intersect_box(f, B) + L = Array{Any}(undef, 4) + for i in 1:2 + # Lxi + L[i] = Array{Any}(undef,2) + L[i][1] = isolate_eval(f, 2, B[2][i], prec=200) + L[i][2] = [ j for (j, l) in pairs(L[i][1]) if (l[1]> B[1][1] && l[2] B[2][1] && l[2] 2 + @assert false "\nRefine extreme boxes along x-axis" + #refine_xboxes(QQ["x"](params[1][1]), LBcrit[1]) + #i = 0 + #j = 1 + #break + elseif i > 1 && sum(npcside[1:2]) != 0 + println(npcside) + @assert false "\nRefine singular boxes along x-axis" + #refine_xboxes(QQ["x"](params[2][1]), LBcrit[2]) + #i -= 1 + #break + end + LPCside[i][j] = pcside + push!(Ltm, time() - tm) + end + i += 1 + println("") +end +LnPCside = [ [[length(indI) for (L, indI) in PB] for PB in lpcside] for lpcside in LPCside ] +println("Average time for one point: $(sum(Ltm)/length(Ltm))s") +println("Elapsed time to compute critical boxes: $(time()-ts)s") -printstep("Graph computation") +# Update extreme boxes +for j in eachindex(LBcrit[1]) + # If the curve does not intersect the box only on vertical sides + if !(LnPCside[1][j][1:2] == [0, 0]) + PCside, nPCside = LPCside[1][j], LnPCside[1][j] + I = [ l[1] for l in PCside[3:end] ] + nI = [ l[2] for l in PCside[3:end] ] + # Locate the orientation of the extreme point + # s is the index on the side where there are more branches + # s=1: left; s=2: right + s = argmax([length(I[1]), length(I[2])]) + # Ordinate range of the extreme point + ycrit = LBcrit[1][j][2] + # If it intersects on the bottom side + if nPCside[1] == 1 + # yinf: the intersection with the vertical side just below the extreme point + yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[2]]) + # We vertically enlarge the box until it intersects on the horizontal side + push!(LPCside[1][j][s + 2][2], yinf) + LPCside[1][j][1][2] = [] + # We update the intersection numbers + LnPCside[1][j][s + 2] += 1 + LnPCside[1][j][1] = 0 + end + # If it intersects on the top side + if nPCside[2] == 1 + # ymax: the intersection with the vertical side just above the extreme point + ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[1]]) + # We vertically enlarge the box until it intersects on the horizontal side + push!(LPCside[1][j][s + 2][2], ymax) + LPCside[1][j][2][2] = [] + # We update the intersection numbers + LnPCside[1][j][s + 2] += 1 + LnPCside[1][j][2] = 0 + end + end +end + +print("Graph computation") # Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot # And even remove this fiber for the graph Vert = [] Edg = [] -Corr = [[[[], [[], [], []], []] for _ in xcrit[i] ] for _ in xcrit ] +Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ] Viso = [] ite = 1 for ind in 1:length(xcritpermut) + global ite + local i i, j = xcritpermut[ind] + if ind > 1 i1, j1 = xcritpermut[ind - 1] end if ind < length(xcritpermut) i2, j2 = xcritpermut[ind + 1] - I2L, nI2L = LPCside[i2][j2][2] + I2L, nI2L = LPCside[i2][j2][3] end PCside, nPCside = LPCside[i][j], LnPCside[i][j] - I, nI = unzip(PCside[2:end]) - ymincrit = min(nI[1][1] + nI[1][2] + [length(I[1][1])]) + I = [ l[1] for l in PCside[3:end] ] + nI = [ l[2] for l in PCside[3:end] ] + xcmid = sum(LBcrit[i][j][1])//2 + ycmid = sum(LBcrit[i][j][2])//2 + + ymincrit = minimum(vcat(nI[1], nI[2], [length(I[1])+1])) # Construct vertices ########################### # On the vertical left side if ind > 1 - for k in 1:length(I[1][1]) - push!(Corr[i][j][1][1], Corr[i1][j1][3][k]) + for k in 1:length(I[1]) + push!(Corr[i][j][1], Corr[i1][j1][3][k]) end else - for k in 1:length(I[1][1]) - push!(Vert, (xcrit[i][j].lower() - exp, I[1][1][k])) - push!(Corr[i][j][1][1], ite) + for k in 1:length(I[1]) + push!(Vert, [xcrit[i][j][1], sum(I[1][k])//2]) + push!(Corr[i][j][1], ite) ite += 1 end end ########################### # On the vertical right side if ind < length(xcritpermut) - for k in 1:length(I[1][2]) - push!(Vert, ((xcrit[i][j] + xcrit[i2][j2]).lower() / 2 + exp, (I[1][2][k] + I2L[k]).lower() / 2)) + for k in 1:length(I[2]) + push!(Vert, [(xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4]) push!(Corr[i][j][3], ite) ite += 1 end else - for k in 1:length(I[1][2]) - push!(Vert, (xcrit[i][j].upper() + exp, I[1][2][k])) + for k in 1:length(I[2]) + push!(Vert, [xcrit[i][j][2], sum(I[2][k])//2]) push!(Corr[i][j][3], ite) ite += 1 end end ########################### # Below the critical point - for k in 1:ymincrit - push!(Vert, (xcrit[i][j], (I[1][1][k] + I[1][2][k]) / 2)) + + for k in 1:ymincrit-1 + push!(Vert, [xcmid, sum(I[1][k] + I[2][k])// 4]) push!(Corr[i][j][2][1], ite) - push!(Edg, (Corr[i][j][1][1][k], ite)) # left - push!(Edg, (ite, Corr[i][j][3][k])) # right + push!(Edg, [Corr[i][j][1][k], ite]) # left + push!(Edg, [ite, Corr[i][j][3][k]]) # right ite += 1 end ########################### # The critical point ########################## # if it is an isolated point - if isempty(nI[1][1]) && isempty(nI[1][2]) + if isempty(nI[1]) && isempty(nI[2]) #pass # We can add the isolated vertex # push!(Vert, Pcrit[i][j]) @@ -125,31 +309,38 @@ for ind in 1:length(xcritpermut) ## works for space curves without nodes ## ############################################ # If we are dealing with a node - elseif i == 1 + elseif i == 2 # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 - push!(Edg, (Corr[i][j][1][1][nI[1][1][1]], Corr[i][j][3][nI[1][2][2]])) - push!(Edg, (Corr[i][j][1][1][nI[1][1][2]], Corr[i][j][3][nI[1][2][1]])) + push!(Edg, [Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]]]) + push!(Edg, [Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]]]) else # We can add the vertex - push!(Vert, Pcrit[i][j]) - push!(Corr[i][j][2][1], ite) + push!(Vert, [xcmid, ycmid]) + push!(Corr[i][j][2][2], ite) # We connect to the vertical left side of the critical box - for k in nI[1][1] - push!(Edg, (Corr[i][j][1][1][k], ite)) + for k in nI[1] + push!(Edg, [Corr[i][j][1][k], ite]) end # We connect to the vertical right side of the critical box - for k in nI[1][2] - push!(Edg, (ite, Corr[i][j][3][k])) + for k in nI[2] + push!(Edg, [ite, Corr[i][j][3][k]]) end ite += 1 end ########################### # Above the critical point - for k in length(I[1][1]) - length(nI[1][1]) - ymincrit:-1:1 - push!(Vert, (xcrit[i][j], (I[1][1][end - k + 1] + I[1][2][end - k + 1]) / 2)) + for k=(length(I[1]) - length(nI[1]) - ymincrit+1):-1:1 + push!(Vert, [xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4]) push!(Corr[i][j][2][3], ite) - push!(Edg, (Corr[i][j][1][1][end - k + 1], ite)) # left - push!(Edg, (ite, Corr[i][j][3][end - k + 1])) # right + push!(Edg, [Corr[i][j][1][end - k + 1], ite]) # left + push!(Edg, [ite, Corr[i][j][3][end - k + 1]]) # right ite += 1 end -end \ No newline at end of file +end + +EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg] +plot_graph(Vert, EdgPlot) + +CEdg = connected_components_bis(Edg); + +plot_graph_comp(Vert,CEdg) \ No newline at end of file diff --git a/src/connectcurves/subresultant.ipynb b/src/connectcurves/subresultant.ipynb new file mode 100644 index 0000000..5e0402c --- /dev/null +++ b/src/connectcurves/subresultant.ipynb @@ -0,0 +1,431 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "using Nemo" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "subresultants (generic function with 2 methods)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingElement\n", + " if degree(P) < degree(Q)\n", + " P, Q = Q, P\n", + " end\n", + " S = []\n", + " s = leading_coefficient(Q)^(degree(P)-degree(Q))\n", + " A = Q\n", + " B = pseudorem(P,-Q)\n", + " ring = parent(P)\n", + " while true\n", + " d = degree(A)\n", + " e = degree(B)\n", + " if iszero(B)\n", + " return S\n", + " end\n", + " pushfirst!(S, copy(B))\n", + " delta = d - e\n", + " if delta > 1\n", + " if length(S) > 1\n", + " n = degree(S[2]) - degree(S[1]) - 1\n", + " if n == 0\n", + " C = copy(S[1])\n", + " else\n", + " x = leading_coefficient(S[1])\n", + " y = leading_coefficient(S[2])\n", + " a = 1 << (length(bits(ZZ(n))) - 1)\n", + " c = x\n", + " n = n - a\n", + " while a > 1\n", + " a Ă·= 2\n", + " c = c^2 / y\n", + " if n >= a\n", + " c = c * x / y\n", + " n = n - a\n", + " end\n", + " end\n", + " C = c * S[1] / y\n", + " end\n", + " else\n", + " C = leading_coefficient(B)^(delta-1) * B / s^(delta-1)\n", + " end\n", + " pushfirst!(S, copy(C))\n", + " else\n", + " C = copy(B)\n", + " end\n", + " if e == 0\n", + " return S\n", + " end\n", + " B = pseudorem(A,-B) / (s^delta * leading_coefficient(A))\n", + " A = copy(C)\n", + " s = leading_coefficient(A)\n", + " end\n", + "end\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "f" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "-x*y^2 + (x^2 + 6)*y - x^2 - x - 6" + ], + "text/latex": [ + "-x y^{2} + \\left(x^{2} + 6\\right) y - x^{2} - x - 6" + ], + "text/plain": [ + "-x*y^2 + (x^2 + 6)*y - x^2 - x - 6" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#using Nemo\n", + "R, x = polynomial_ring(QQ, \"x\")\n", + "#f = x^8 + x^6 -3*x^4 -3*x^3 +8*x^2 +2*x -5\n", + "#g = 3*x^6 +5*x^4 -4*x^2 -9*x +21\n", + "S, y = polynomial_ring(R, \"y\")\n", + "f = (y^2 + 6)*(x - 1) - y*(x^2 + 1)\n", + "g = (x^2 + 6)*(y - 1) - x*(y^2 + 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2-element Vector{Any}:\n", + " 2*x^6 - 22*x^5 + 102*x^4 - 274*x^3 + 488*x^2 - 552*x + 288\n", + " (-x^2 + 5*x - 6)*y - x^3 + 6*x^2 - 11*x + 6" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "subresultants(f,g)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "11//8" + ], + "text/latex": [ + "\\frac{11}{8}" + ], + "text/plain": [ + "11//8" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "divrem(f,-g)[2]" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "64" + ], + "text/latex": [ + "64" + ], + "text/plain": [ + "64" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "prevpow2(ZZ(100))" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Integers" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "parent(degree(f))" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[a, b])" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "RR, (a,b) = Nemo.polynomial_ring(QQ,[:a,:b])" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "a^2 + a*b^2 + b" + ], + "text/latex": [ + "a^{2} + a b^{2} + b" + ], + "text/plain": [ + "a^2 + a*b^2 + b" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "P = a^2+b+a*b^2" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "view_as_univariate (generic function with 1 method)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "function view_as_univariate(P, x)\n", + " A = parent(P)\n", + " # Find the index of the variable x\n", + " idx = var_index(x)\n", + "\n", + " # If x is not found, return P unchanged\n", + " if idx === nothing\n", + " return P\n", + " end\n", + "\n", + " # Extract variables of the polynomial ring\n", + " vars = gens(A)\n", + " varsbis = filter(y -> y != x, vars)\n", + "\n", + " symbs = symbols(A)\n", + "\n", + " R, () = polynomial_ring(base_ring(A), [symbs[1:idx-1]; symbs[idx+1:end]])\n", + " S, t = polynomial_ring(R, symbs[idx])\n", + "\n", + " print([symbs[1:idx-1]; symbs[idx+1:end]][1])\n", + " \n", + " # Create the new polynomial Q by treating the variable x as the main variable\n", + " Q_coeffs = [ R(coeff(P,[x],[i])) for i in 0:degree(P,idx) ]\n", + " #Q = S(Q_coeffs)\n", + " \n", + " return Q_coeffs\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b" + ] + }, + { + "ename": "ErrorException", + "evalue": "Unable to coerce polynomial", + "output_type": "error", + "traceback": [ + "Unable to coerce polynomial\n", + "\n", + "Stacktrace:\n", + " [1] error(s::String)\n", + " @ Base ./error.jl:35\n", + " [2] QQMPolyRing\n", + " @ ~/.julia/packages/Nemo/RGGys/src/flint/fmpq_mpoly.jl:1189 [inlined]\n", + " [3] #62\n", + " @ ./none:0 [inlined]\n", + " [4] iterate\n", + " @ ./generator.jl:47 [inlined]\n", + " [5] collect(itr::Base.Generator{UnitRange{Int64}, var\"#62#64\"{QQMPolyRingElem, QQMPolyRingElem, QQMPolyRing}})\n", + " @ Base ./array.jl:834\n", + " [6] view_as_univariate(P::QQMPolyRingElem, x::QQMPolyRingElem)\n", + " @ Main ~/Documents/gittravail/AlgCurves/subresultant.ipynb:23\n", + " [7] top-level scope\n", + " @ ~/Documents/gittravail/AlgCurves/subresultant.ipynb:1" + ] + } + ], + "source": [ + "view_as_univariate(P,a)" + ] + }, + { + "cell_type": "code", + "execution_count": 144, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(Multivariate polynomial ring in 1 variable over QQ, QQMPolyRingElem[b])" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "test, () = polynomial_ring(QQ,[:b])" + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "metadata": {}, + "outputs": [ + { + "ename": "ErrorException", + "evalue": "Unable to coerce polynomial", + "output_type": "error", + "traceback": [ + "Unable to coerce polynomial\n", + "\n", + "Stacktrace:\n", + " [1] error(s::String)\n", + " @ Base ./error.jl:35\n", + " [2] (::QQMPolyRing)(a::QQMPolyRingElem)\n", + " @ Nemo ~/.julia/packages/Nemo/RGGys/src/flint/fmpq_mpoly.jl:1189\n", + " [3] top-level scope\n", + " @ ~/Documents/gittravail/AlgCurves/subresultant.ipynb:1" + ] + } + ], + "source": [ + "test(b^2+1)" + ] + }, + { + "cell_type": "code", + "execution_count": 146, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1-element Vector{QQMPolyRingElem}:\n", + " b" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gens(test)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.10.1", + "language": "julia", + "name": "julia-1.10" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.10.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From f43180754ccb1066a6bd001327c5490905653306 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 10 May 2024 12:43:35 +0200 Subject: [PATCH 006/180] finish subresultant code --- src/connectcurves/subresultant.ipynb | 393 +++++++++++++++++++-------- src/connectcurves/subresultants.jl | 121 +++++++++ 2 files changed, 403 insertions(+), 111 deletions(-) create mode 100644 src/connectcurves/subresultants.jl diff --git a/src/connectcurves/subresultant.ipynb b/src/connectcurves/subresultant.ipynb index 5e0402c..70d51cc 100644 --- a/src/connectcurves/subresultant.ipynb +++ b/src/connectcurves/subresultant.ipynb @@ -11,13 +11,13 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "subresultants (generic function with 2 methods)" + "subresultants (generic function with 1 method)" ] }, "metadata": {}, @@ -82,16 +82,7 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "f" - ] - }, - { - "cell_type": "code", - "execution_count": 68, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -122,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -143,23 +134,28 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 13, "metadata": {}, "outputs": [ { - "data": { - "text/html": [ - "11//8" - ], - "text/latex": [ - "\\frac{11}{8}" - ], - "text/plain": [ - "11//8" - ] - }, - "metadata": {}, - "output_type": "display_data" + "ename": "ArgumentError", + "evalue": "ArgumentError: not an exact division", + "output_type": "error", + "traceback": [ + "ArgumentError: not an exact division\n", + "\n", + "Stacktrace:\n", + " [1] divexact(x::QQPolyRingElem, y::QQPolyRingElem; check::Bool)\n", + " @ Nemo ~/.julia/packages/Nemo/RGGys/src/flint/fmpq_poly.jl:454\n", + " [2] divexact\n", + " @ ~/.julia/packages/Nemo/RGGys/src/flint/fmpq_poly.jl:449 [inlined]\n", + " [3] inv\n", + " @ ~/.julia/packages/AbstractAlgebra/KwfqS/src/Rings.jl:38 [inlined]\n", + " [4] divrem(f::AbstractAlgebra.Generic.Poly{QQPolyRingElem}, g::AbstractAlgebra.Generic.Poly{QQPolyRingElem})\n", + " @ Nemo ~/.julia/packages/Nemo/RGGys/src/HeckeMiscPoly.jl:450\n", + " [5] top-level scope\n", + " @ ~/Documents/gittravail/AlgCurves/subresultant.ipynb:1" + ] } ], "source": [ @@ -168,7 +164,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -193,7 +189,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -212,7 +208,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -231,19 +227,107 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "a^2 + a*b^2 + a*b + b" + ], + "text/latex": [ + "a^{2} + a b^{2} + a b + b" + ], + "text/plain": [ + "a^2 + a*b^2 + a*b + b" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 196, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "asvar_to_parray (generic function with 1 method)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "function poly_to_array(P::MPolyRingElem)\n", + " # return P as two lists ci and vi of resp. coeffs and exponents\n", + " return [collect(coefficients(P)), collect(exponent_vectors(P))]\n", + "end\n", + "\n", + "function rem_ind(L,i)\n", + " # remove element at index i\n", + " return [ L[1:i-1]; L[i+1:end] ]\n", + "end\n", + "\n", + "function add_ind(L,i,x)\n", + " # add element x at index i\n", + " return [ L[1:i-1]; [x]; L[i:end] ]\n", + "end\n", + "\n", + "function parray_asvar(LP, idx)\n", + " # takes a sparse representation of a poly P \n", + " # and outputs a sparse rpz of P seen as a univariate poly in the i-th variable\n", + " deg = sort(LP[2], by= x->x[idx])[end][idx]\n", + " NLP = [ [[],[]] for _ in 1:deg+1 ]\n", + " for i in eachindex(LP[2])\n", + " di = LP[2][i][idx]+1\n", + " push!(NLP[di][1], LP[1][i])\n", + " push!(NLP[di][2], rem_ind(LP[2][i], idx)) \n", + " end\n", + " return NLP\n", + "end\n", + "\n", + "function array_to_poly(LP, A)\n", + " C = MPolyBuildCtx(A)\n", + " R = base_ring(A)\n", + " for i in eachindex(LP[1])\n", + " push_term!(C, R(LP[1][i]), LP[2][i]);\n", + " end\n", + " return finish(C)\n", + "end\n", + "\n", + "function asvar_to_parray(NLP, idx)\n", + " LP = [[],[]]\n", + " for i in 1:length(NLP)\n", + " for j in eachindex(NLP[i][1])\n", + " push!(LP[1], NLP[i][1][j])\n", + " push!(LP[2], add_ind(NLP[i][2][j], idx, i-1))\n", + " end\n", + " end\n", + " return LP\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 133, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "a^2 + a*b^2 + b" + "a*b + 1" ], "text/latex": [ - "a^{2} + a b^{2} + b" + "a b + 1" ], "text/plain": [ - "a^2 + a*b^2 + b" + "a*b + 1" ] }, "metadata": {}, @@ -251,18 +335,18 @@ } ], "source": [ - "P = a^2+b+a*b^2" + "Q = a*b+1a" ] }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 217, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "view_as_univariate (generic function with 1 method)" + "subresultants (generic function with 3 methods)" ] }, "metadata": {}, @@ -270,85 +354,88 @@ } ], "source": [ - "function view_as_univariate(P, x)\n", - " A = parent(P)\n", - " # Find the index of the variable x\n", - " idx = var_index(x)\n", + "function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx) where T <: RingElement\n", + " LPQ = map(poly_to_array, [P,Q])\n", + " ULPQ = [ parray_asvar(lpq, idx) for lpq in LPQ ]\n", "\n", - " # If x is not found, return P unchanged\n", - " if idx === nothing\n", - " return P\n", - " end\n", + " R, x = polynomial_ring(base_ring(parent(P)), \"x\")\n", + " S, y = polynomial_ring(R, \"y\")\n", "\n", - " # Extract variables of the polynomial ring\n", - " vars = gens(A)\n", - " varsbis = filter(y -> y != x, vars)\n", + " UP, UQ = [ S([ array_to_poly(l, R) for l in lpq ]) for lpq in ULPQ ]\n", "\n", - " symbs = symbols(A)\n", + " sr = subresultants(UP, UQ)\n", "\n", - " R, () = polynomial_ring(base_ring(A), [symbs[1:idx-1]; symbs[idx+1:end]])\n", - " S, t = polynomial_ring(R, symbs[idx])\n", + " # Get it back to initial polynomial ring\n", + " Lsr = [ [collect(coefficients(csr)) for csr in coefficients(sr)] for sr in sr]\n", + " newsr = []\n", + " for lsr in Lsr\n", + " mlsr = [[],[]]\n", + " for i in 1:length(lsr)\n", + " for j in 1:length(lsr[i])\n", + " push!(mlsr[1], lsr[i][j])\n", + " push!(mlsr[2],add_ind([j-1],idx, i-1))\n", + " end\n", + " end\n", + " push!(newsr, array_to_poly(mlsr, parent(P)))\n", + " end\n", "\n", - " print([symbs[1:idx-1]; symbs[idx+1:end]][1])\n", - " \n", - " # Create the new polynomial Q by treating the variable x as the main variable\n", - " Q_coeffs = [ R(coeff(P,[x],[i])) for i in 0:degree(P,idx) ]\n", - " #Q = S(Q_coeffs)\n", - " \n", - " return Q_coeffs\n", + " return newsr\n", "end" ] }, { "cell_type": "code", - "execution_count": 141, + "execution_count": 2, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "b" - ] - }, + "data": { + "text/plain": [ + "subresultants (generic function with 2 methods)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "include(\"subresultants.jl\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ { - "ename": "ErrorException", - "evalue": "Unable to coerce polynomial", - "output_type": "error", - "traceback": [ - "Unable to coerce polynomial\n", - "\n", - "Stacktrace:\n", - " [1] error(s::String)\n", - " @ Base ./error.jl:35\n", - " [2] QQMPolyRing\n", - " @ ~/.julia/packages/Nemo/RGGys/src/flint/fmpq_mpoly.jl:1189 [inlined]\n", - " [3] #62\n", - " @ ./none:0 [inlined]\n", - " [4] iterate\n", - " @ ./generator.jl:47 [inlined]\n", - " [5] collect(itr::Base.Generator{UnitRange{Int64}, var\"#62#64\"{QQMPolyRingElem, QQMPolyRingElem, QQMPolyRing}})\n", - " @ Base ./array.jl:834\n", - " [6] view_as_univariate(P::QQMPolyRingElem, x::QQMPolyRingElem)\n", - " @ Main ~/Documents/gittravail/AlgCurves/subresultant.ipynb:23\n", - " [7] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/subresultant.ipynb:1" - ] + "data": { + "text/plain": [ + "Any[]" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "view_as_univariate(P,a)" + "R, (x,y) = polynomial_ring(ZZ, [:x,:y])\n", + "f = (y^2 + 6)*(x - 1) - y*(x^2 + 1)\n", + "g = (x^2 + 6)*(y - 1) - x*(y^2 + 1)\n", + "idx = 2\n", + "subresultants(x,x,1)" ] }, { "cell_type": "code", - "execution_count": 144, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(Multivariate polynomial ring in 1 variable over QQ, QQMPolyRingElem[b])" + "2-element Vector{Any}:\n", + " 2*x^6 - 22*x^5 + 102*x^4 - 274*x^3 + 488*x^2 - 552*x + 288\n", + " -x^3 - x^2*y + 6*x^2 + 5*x*y - 11*x - 6*y + 6" ] }, "metadata": {}, @@ -356,45 +443,111 @@ } ], "source": [ - "test, () = polynomial_ring(QQ,[:b])" + "res = subresultants(f,g,idx)" ] }, { "cell_type": "code", - "execution_count": 145, + "execution_count": 213, "metadata": {}, "outputs": [ { - "ename": "ErrorException", - "evalue": "Unable to coerce polynomial", - "output_type": "error", - "traceback": [ - "Unable to coerce polynomial\n", - "\n", - "Stacktrace:\n", - " [1] error(s::String)\n", - " @ Base ./error.jl:35\n", - " [2] (::QQMPolyRing)(a::QQMPolyRingElem)\n", - " @ Nemo ~/.julia/packages/Nemo/RGGys/src/flint/fmpq_mpoly.jl:1189\n", - " [3] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/subresultant.ipynb:1" - ] + "data": { + "text/plain": [ + "1" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "idx" + ] + }, + { + "cell_type": "code", + "execution_count": 204, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2-element Vector{Vector{Any}}:\n", + " [1, 1, 1, 1]\n", + " [[0, 1], [1, 2], [1, 1], [2, 0]]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "NLP = parray_asvar(LP,1)\n", + "asvar_to_parray(NLP,1)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "y^2 + (x^2 + x)*y + x" + ], + "text/latex": [ + "y^{2} + \\left(x^{2} + x\\right) y + x" + ], + "text/plain": [ + "y^2 + (x^2 + x)*y + x" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "test(b^2+1)" + "S([ array_to_poly(lp, R) for lp in NLP ])" ] }, { "cell_type": "code", - "execution_count": 146, + "execution_count": 129, "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "a^2 + a*b^2 + a*b + b" + ], + "text/latex": [ + "a^{2} + a b^{2} + a b + b" + ], "text/plain": [ - "1-element Vector{QQMPolyRingElem}:\n", - " b" + "a^2 + a*b^2 + a*b + b" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4-element Vector{Vector{Int64}}:\n", + " [0, 1]\n", + " [1, 2]\n", + " [1, 1]\n", + " [2, 0]" ] }, "metadata": {}, @@ -402,9 +555,27 @@ } ], "source": [ - "gens(test)" + "idx=1\n", + "sort(LP[2], by= x->x[idx])" ] }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Base.Generator{UnitRange{Int64}, typeof(identity)}(identity, 1:2)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [] + }, { "cell_type": "code", "execution_count": null, diff --git a/src/connectcurves/subresultants.jl b/src/connectcurves/subresultants.jl new file mode 100644 index 0000000..b91b75f --- /dev/null +++ b/src/connectcurves/subresultants.jl @@ -0,0 +1,121 @@ +# Some tools +function poly_to_array(P::MPolyRingElem) + # return P as two lists ci and vi of resp. coeffs and exponents + return [collect(coefficients(P)), collect(exponent_vectors(P))] +end + +function rem_ind(L,i) + # remove element at index i + return [ L[1:i-1]; L[i+1:end] ] +end + +function add_ind(L,i,x) + # add element x at index i + return [ L[1:i-1]; [x]; L[i:end] ] +end + +function parray_asvar(LP, idx) + # takes a sparse representation of a poly P + # and outputs a sparse rpz of P seen as a univariate poly in the i-th variable + deg = sort(LP[2], by= x->x[idx])[end][idx] + NLP = [ [[],[]] for _ in 1:deg+1 ] + for i in eachindex(LP[2]) + di = LP[2][i][idx]+1 + push!(NLP[di][1], LP[1][i]) + push!(NLP[di][2], rem_ind(LP[2][i], idx)) + end + return NLP +end + +function array_to_poly(LP, A) + C = MPolyBuildCtx(A) + R = base_ring(A) + for i in eachindex(LP[1]) + push_term!(C, R(LP[1][i]), LP[2][i]); + end + return finish(C) +end + +# Univariate resultant +function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingElement + if degree(P) < degree(Q) + P, Q = Q, P + end + S = [] + s = leading_coefficient(Q)^(degree(P)-degree(Q)) + A = Q + B = pseudorem(P,-Q) + ring = parent(P) + while true + d = degree(A) + e = degree(B) + if iszero(B) + return S + end + pushfirst!(S, copy(B)) + delta = d - e + if delta > 1 + if length(S) > 1 + n = degree(S[2]) - degree(S[1]) - 1 + if n == 0 + C = copy(S[1]) + else + x = leading_coefficient(S[1]) + y = leading_coefficient(S[2]) + a = 1 << (length(bits(ZZ(n))) - 1) + c = x + n = n - a + while a > 1 + a Ă·= 2 + c = c^2 / y + if n >= a + c = c * x / y + n = n - a + end + end + C = c * S[1] / y + end + else + C = leading_coefficient(B)^(delta-1) * B / s^(delta-1) + end + pushfirst!(S, copy(C)) + else + C = copy(B) + end + if e == 0 + return S + end + B = pseudorem(A,-B) / (s^delta * leading_coefficient(A)) + A = copy(C) + s = leading_coefficient(A) + end +end + +#Bivariate subresultants +function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx) where T <: RingElement + LPQ = map(poly_to_array, [P,Q]) + ULPQ = [ parray_asvar(lpq, idx) for lpq in LPQ ] + + R, x = polynomial_ring(base_ring(parent(P)), "x") + S, y = polynomial_ring(R, "y") + + UP, UQ = [ S([ array_to_poly(l, R) for l in lpq ]) for lpq in ULPQ ] + + sr = subresultants(UP, UQ) + + # Get it back to initial polynomial ring + Lsr = [ [collect(coefficients(csr)) for csr in coefficients(sr)] for sr in sr] + newsr = [] + for lsr in Lsr + mlsr = [[],[]] + for i in 1:length(lsr) + for j in 1:length(lsr[i]) + push!(mlsr[1], lsr[i][j]) + push!(mlsr[2],add_ind([j-1],idx, i-1)) + end + end + push!(newsr, array_to_poly(mlsr, parent(P))) + end + + return newsr +end \ No newline at end of file From 936820576f0c5f3a7df107d616f5b62948851eb5 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 10 May 2024 14:55:35 +0200 Subject: [PATCH 007/180] list argument subres --- src/connectcurves/data.jl | 4 +++- src/connectcurves/subresultants.jl | 32 ++++++++++++++++++++++-------- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/src/connectcurves/data.jl b/src/connectcurves/data.jl index d7ff222..b0dc223 100644 --- a/src/connectcurves/data.jl +++ b/src/connectcurves/data.jl @@ -1,10 +1,12 @@ #using Nemo -R, (x,y) = polynomial_ring(QQ, [:x, :y]) +R, (x,y) = Nemo.polynomial_ring(ZZ, [:x, :y]) f = 1594627541097114368612385*x^16 + 24126594979283487048484560*x^15*y - 648897523515553246784074808*x^14*y^2 + 9227671981881181765203810480*x^13*y^3 + 775388988595641728298874736332*x^12*y^4 + 10787151407096126900712389934720*x^11*y^5 + 77139559828286619230682855993096*x^10*y^6 + 452145503210946168432702707056320*x^9*y^7 + 1603450939087454055697523432885078*x^8*y^8 + 472422761323888641034023872620080*x^7*y^9 + 69254293553970771431091788378664*x^6*y^10 + 8171004998268972015374643672912*x^5*y^11 + 486748426688048642456485687660*x^4*y^12 - 12064621488868591078399181568*x^3*y^13 - 1468208821458887902925840024*x^2*y^14 + 12892282240123223587086528*x*y^15 + 1551343473382248651380209*y^16 - 7416582067989458752697004*x^14 - 86407846455606538783280976*x^13*y + 2644747193988832166794696620*x^12*y^2 + 4962811393512179992436546328*x^11*y^3 - 852556155710875435151137729948*x^10*y^4 - 9006223258524272797865687202672*x^9*y^5 - 37408868951040006789841449492372*x^8*y^6 - 96029136974599596104658658159536*x^7*y^7 - 25805546034923632520724584708244*x^6*y^8 - 5242437191813955076157431442064*x^5*y^9 - 409699928605220782678759186860*x^4*y^10 + 39375118017080555511082417752*x^3*y^11 + 4414478650057190403833967932*x^2*y^12 - 62266637085710610417717552*x*y^13 - 7665646840583710272384908*y^14 + 14233446085691566995553618*x^12 + 132571431253302115292123136*x^11*y - 3677320627079906075667837422*x^10*y^2 - 28335523591694036134043888352*x^9*y^3 + 186478273436442358105601202678*x^8*y^4 + 979680543110585521095162296976*x^7*y^5 - 2082167356121156563744172163572*x^6*y^6 - 30539225710419394554664076544*x^5*y^7 + 25429103844006118137220734342*x^4*y^8 - 40056866529454773916181059488*x^3*y^9 - 4741918132209313788162640030*x^2*y^10 + 120063392649421566997191792*x*y^11 + 15453863115268541628254722*y^12 - 14508062550440954802512688*x^10 - 115292786706841839957190896*x^9*y + 2178406370189758736513057100*x^8*y^2 + 17911006599365461837132806264*x^7*y^3 + 18721721306068791970712906740*x^6*y^4 + 140144222573062968441350663256*x^5*y^5 + 15151268277268342933019382004*x^4*y^6 + 14388997206020218965816744888*x^3*y^7 + 2181175955893013097832336108*x^2*y^8 - 116823607901494850142791760*x*y^9 - 16262571151436698863824960*y^10 + 8412196412628079801200763*x^8 + 60038503306269383516796672*x^7*y - 526872554079154536701276538*x^6*y^2 - 2627205980235442180204133952*x^5*y^3 + 1415955761616170935932891503*x^4*y^4 - 1207248891865676270007025776*x^3*y^5 - 411102077811099614734692666*x^2*y^6 + 59338125380312133254699856*x*y^7 + 9471776668272238878375147*y^8 - 2755131867388737857954960*x^6 - 16865677220581290594690288*x^5*y + 37152628773628751552853580*x^4*y^2 - 32454665768852564904473352*x^3*y^3 + 31405824474395795210222812*x^2*y^4 - 14499431708247069028795056*x*y^5 - 2982642484703489520084064*y^6 + 476197729395824935891282*x^4 + 1850003538678786657657456*x^3*y - 861756868723874605906006*x^2*y^2 + 1328290412641467896291664*x*y^3 + 466653249763538900703730*y^4 - 37550891878150349195068*x^2 - 32144769403583975845728*x*y - 33575411625230211328108*y^2 + 864999024811562109121 +#= params = [[122052108945321231460815317670274232129992226114393994453269787251191586772999998478131397177313291168794930288045095160607171215109769903956555756352425696420971136000*x^64 - 959032695327466028896923007278462984351139470332688180556285108098088661529598320753396670253784301046095380112992662697008888935637597834208399524065939904172979990400*x^62 + 3394978440692000014057928614441958536159991996524914295852869400764921537705344371827178578116630227593461086898603789268227871843165040143533225447517362520002264974800*x^60 - 7151371831353663495035969461496662107369926971805594266199814693934146824218470195335493405697799780940541485521905675079385537261608449869138456973383228166236613263400*x^58 + 9969225814413837627444295403089186126663063577024217974344348166293461403972870910362754229719173808528360575889159764318118369001502184631485479443883015454011986682401*x^56 - 9671970836026456572298276720419947917471887665345986456817982798052297567912195266544191601002444674028621075312189430899896487514797955240881296337049837774935220682554*x^54 + 6681253172122667315238370397663913411776674477687428422442566526332877899682627142356726322165129405054337925114753161026023235352332208537631829530720089337124514136431*x^52 - 3301410220211424089271602152949473244107752962675011991847086104224995592785126226533504503253978553482754788676052797285321438414446348241998541528575215579369013124460*x^50 + 1153625866312801287615810700563023657416207647590355069763669808767031346841963349314203748595540207647317590903229427229222903703337667856594101141720943044058246069661*x^48 - 276471592632708955049516345940728535991597233768181885239869998582202243235193161503559987330426394282206550597625187581438180394843195337797005605877049995316127695732*x^46 + 42737111275022991036352608355606704897004210791721525996001628183626684128731822288746507037652796985104971734258839597661990354701818586349532900569181156658317172207*x^44 - 3742456659729901795861910080707269450979334093567063228455494047866720922141384258882510820384796174299426197864998469723296217948916294920720322245806788642212733938*x^42 + 124812901359186404102761973487936940587045208569099655070567763717545194869573966522045794363331888832044983896823256208123220099774770839702377440264548366585875579*x^40 + 2402338897585167721834533757115848973167440112325375263084520900477387202262408067511574486301847230054475590188439623088746403126201859025390930755087726059729702*x^38 - 68509937805104958231250341298198031936556840566332137015619239026451252039955810994277373605204223562430671087252591788826574761461118005709558506131791338007874*x^36 - 624602767543007223732132614350621970157553190644735452951939828727474543281390897520224663781381549515690693601166843655358728226002634853702893282072044534446*x^34 + 13841266243479813050333800913292143354226161213381471885203716731691523929640826181288978526617610615435538667085754539706451681501647162951472291089154824022*x^32 + 120202491171080915413185710414618689298315719480659390922869136636343650585376626433724584508907638709141858027047096646486866527054227623638334411322800692*x^30 - 520591115945881824376922076313706995768341899579304100913919000966844639567084555161071560271316369176537001034660519442033156769127410794732325730833980*x^28 - 3485964685779200797630002115057298589671830992286919107804731817646799770252462542189098663357180222904705862318369496603121342757549021191050978703064*x^26 + 21960953746028294720952888991143449905438039053336576582969186618106616244531983175814359264493400282340064599061237274909143339406981178759294248193*x^24 + 73849240175221567401011603553831401615608762932323920532235266189598220913324575676844395015176244479642509332983260487654003662496573180220444096*x^22 - 376824027305240350061272895486201229386360304928699585073020054777149244212956978325887719740315377634155833720619243461026923211826746813178656*x^20 - 1077064125063587403221749603783288580367506330701672842182847262625730650810368754865855958990017905698599286814095848949968486760592194466304*x^18 + 5690103572241003396861444757775613338734813344268307690846513823537481856958196599518133023344306311618066441904169231969794689720488173824*x^16 - 10193839327115713468262671581488410024134801061440399158183138926040393332773799485810782661251229174430436880799884660484369504300179456*x^14 + 10561325681560734971801564218210350941952186355064260084093107402195122950258107824859961357557778152241183977545309415213720791023616*x^12 - 46534691368958178600787555636054508288151498256013167919729116181621692838186009927608371499220570421327776499385092138476518768640*x^10 + 112909129306236789340828850326424134729652275074889648909431954832582428189211468993530209558892954944558876736171329175238475776*x^8 + 9772474340268998156394334148170923898672647267241149302597227839920236210220248425669412935053351970347661778775772607021056*x^6 + 390776074003361993581463215777520753745410226728214668964145360784605806127348743913715665385142126139767899281950769152*x^4 + 6380957595087055938360705671638193919990757753374547762909246062754723245830257862488492320528552761664667467644928*x^2 + 44165363089227334737474203421916712589754518865024815570613297228753546509038442785333463624505223591573323776, -1368192012344681727956616390340957823931846743107613968547047038247652009864975311483829249542034828304106208468177186109897213301041365960681148287255726572280062671123455824694388079483333283217240781970331426931716543118051293991498277553572332365411820058387490863713026806679839812369381791869736815833258051753079818657689188473663735699896793926825586726076994203946003790107304951806641194581090402396487134875531081498273995715986028169156333078352782190633703892700599463666606348023749773307946959921402566397859894767121288556775964925003879539648210002806249836465349252076043086720684596321974852410750553123172136472747057211856907173052944174716041758633767658222201300129004726222343872497638358078006675373294875034880386510701698872415863067469172994685406286032450056285939390183363394396051144225698201068651075526052664612170498048000*x^211 + 20179380142058508207916676906504558798143137134737375383785775280984768957208053471532768862237394630651847100572145659197442068471994105818971953412359553848047639258980711237466127568136491950657667423064913892842509690301919818696920670025070952564708223774178129499149278154432195976091432031412813159091961852467961843055813500728034432029476489683648421062036042239824120325174625410675345948653918225847005348795421961265667452471316456471485600096018962769440789188379652275394790256255475204915671865590680811547632170483878886572397449831265119313007318519552300470951426861482606989674908683994641274427306221406443238710944557095693142842073423208523723185642504384396938089647389854462953877894563956967097056216471624008594727178292891644526937795488049194012031702101543134920519559046496025779124479640348143471514640040575715655497757491200*x^209 - 140846812204452151016691118025848692169927898973143181969051710658692136932221259668905618546441757239242151077999428212483831182609823008216088165029658047299798367463373201487920470393911768114839159533053205881035460751927902626133755372345640651966430432539046240996852741300610768753781840322779407741705522532350779329418971007246078682308061681822656654909604658525806393182497824578609254302772299729689843955508739207919166899148149645823289207060495287794763248511615148259077346815932850849376295820946126850072400065715244885630085632833676075511648910846385256133485689935691317197146204240714003181684233827290675236316967376698166478206364719180894152325308444314750939144742436368818054294512700083671739054776874114553439014951187621485806623166350004806074114447270594134744315098225235018196804207279903606725177586713468659430341035950080*x^207 + 617850548425398421318490550994412217939460540687984723468014289576242682070449060819068043285475304405438913749558197717498483201417907105491686732451934915905855911450937337571031144746933783404716230218772673613244281538309678120301763376986728284030583109758161010138517896729658080267047501698234343535686387123447512060958238110850388624915201609612973600176506868374627300878286526254964950314518317793603404257630053364727696580242403252695916288093696625777167698656787467358895333116634693796398506230149054146339617098017787609275109503209616015552677386534892952097436303185510006635913167939236208266055043864322861391495033160535097978225781273881504127849425822388845706106799016439313129298646900002277785354058549932696473245566217286663191468081358586195043333302368282282369033371814491348647434642777524727346508832155743779344146499633152*x^205 - 1906904277268660277588907367475306380508917709853203330438086307195894274881939047320044190970385803689170451728248777818477176051490164384912746178498090051622387399886336627161777075070491725914893721469424127812646320503354148061244383623066356455529505809009353206943124981561360345461401407610683422039108977873390201099742921646857649882366444402035503349675090408155736825237905125719544080234354477325695007207846905557676154651022883622808739112882459284945410317399178113832847385568591410161628041444151313414817506804504021504710954301094406298651727565995165856403977331140863303751449678309128834153324913897854096493254068817409069736930100229042349482394748680429353652625810496247092823033240986060278878306618467029954924136446913155958896671905833818406879392929986635890201616295100999581329895600023937957315742277995990280583100955099136*x^203 + 4388895263021271238869700364157499030091249698709308768420159315746514157264637580056081357752889656183796191232783909814484187649385277451523840436207304954910094289060483322022814980319947629225689105538681208925689844091901240986892086346305890318009829742079914236584107746614624047736413776635001808933587162183417059565126361433070104304769065242559577010656137763408749253817542033968457178385485891323678386871061455032274862627407085695452666046706097650132207817824870679882170547225051325392104499529647309793853314243762607193324973110863130391221818206003588265818761717800327582179926611362579445237682480071680631238730658337970564375332426030496309155901721259023727344660545018148114981468385194360514089033404696705750203330765486182806577639938868750565427831125054846688526723433224519089542557258797344410713851356231208025361475872751616*x^201 - 7779990408709871826411328035393242878979344266216902241620796964195385461167214233475198032015567019040176777675921747465996511606507122671463452586146357126130597773590077126046864414741457647481550831996679517822466517571402026178151119257392945472467054870640403969742484829454775950591826347292664870324107892723448369148535386760768984001409065665063225958365306722030989208822842480356486101626284888102072860370236555948694117800582522128211809183089332310019361836213363314328893027345102297467098755433544941969489509001049557119089628993162647227189102037782135878857579741777238371480546231032649190900060696213706627303894449612931146740035984298436058278068882640619854451697231290795691290266900486035948149534338028483671980574543590670814241698663240153160983490669793741997677462612463497893902441342842682038248452635528238648104780652609536*x^199 + 10792645092954233344852809500452909002307646454397854710957062723360704446966135828890883779900731490163470787121113219739566152902509542212532857853236894788962363758182594481271389983716947212137435226372887667648099179329318043305592886109879396618125887350372349896037761729298250882419456223541333017362297490419208290025262377294450812609880041941722851414757903221487064115386676502095625710895658486806502722111384519677905985058822418516483267962980815345733578942316155411597805969407016324395750123302231471755321345317117035116055177137569548222218024851505307480617004697104581987668765828390249015778882902042077867550413254104358252782770368652434658620028921996159574679586537098779051505736959370877490624803564705738276500916586914227511646322745126546085778421148188439005706802655352150826393766912465479281218455538502083606619484288188416*x^197 - 11735531541605290203900824746319173020529364076031186084339735270566090450117601490547645862067041619941722508321381253091798886372483425608365451251886460888037478302184983164667106891584088109860067130469934965358999331429248216772331571882227527936789122153766251466319456773451983124848550841765424781648969744109945753292661595813892661171954508042739282589623873189890350820180333678160527821614152238768894502853489150931018892097261506111175776657879652899731275129780576006228908207174450535698605858444242942304993216683632190541333307223806565851051827917751227126285569392648930936343356385601451138936682607965273548313472433951330337515996772594101595084809717835399546899369399190889104722864203223267155564661108698004850973322103272439818018427865340194340188108904763303176614154966596818973980874688251271945164518842678811499845223551336448*x^195 + 9826088871789155132153027049515574899410687705267317420948478789065146905053980885204296929892594301550977604051938050024796589922529977076850662264706016958141012496544024462053182234251237696961269943766957567890921755866206643460032436290707844316008854753429436232912253376049932927700771374419187731347613892399734997390049641031391833106274923426438999754707408181091404965999420770660367846503324686974940661570151720508808780262565362955231781109576537273538014853175457641353797008278489044798004710570614628035502784056502255758893243558999789053130323161125627602122912480465932487667209606126822240820818516770888384671302090566122915365062826654924249722868621163946461419118690936015623276796734896046157232199875951119657621335155753270021608440025534041422127917649311645657733412961446817058530943616938936386846080356702239104101204096974848*x^193 - 5963045374386506218578821314737405135457730415211690292207804277869705694415727588334953385007786502842978329378875228309417168140716062921338662842464235766266039166391263221823301277782710685216032267136941681186704208704722991892218241844467425752234301813256513884248781703880990055655212347824592567779843746443501838310794773221402500767168134377442720900231501043864806001286402574666661120477141033697084455196325658060838759132730570686871777108146455398864741523002878879748869625220827864027561448979659156745436929450516413646529193616546741361416453938676662308051400088724349003685583570668905637438390934054365837614467070339517822309646279417917784670137039441889965426665332222767746402517629002667421154162578503899393434006404928194426391327163659337478362641570507993716681790081088026720807921783145245106157899389923201614593955700146176*x^191 + 2072302934866834318566600447118116070544006348431904807334308176663317289715950361170779446367591870239560127520901818576850420339003217259802501810477408205896236070526731690267017866790422663188316901313682604433385822841732293618849366603484731110898636717548029245255277653294199682429078034880532699355172376300603258345953936707452326060900695517149736388307227240426333923976104292760533644163594979346547156764491820463033441377273383629295937979192110463227890573824037587331932506353686422040472058065744173422154026698284127360254548991387271062266440436202814880933225268146357007185370524038290004992251255369654997148562642181753772065319430349041662103562793298266864400308209021862002302307718870819880548337975910352105696527840126519428949287861979493545184902345210439977577555228947985506653629848873089932123604225656264096326144707526656*x^189 + 344732936251195462398655212297515119566524517029167049776953614722870980908674934543025934921050724502914643747700763730173241502880473507223284907120674152735132327431512692560093146676426380711850213090722095278334000372705441754847241158358825498679703196476293707200305209862447949046552280939016320735010183156220850249119039545289597758330857147710010800201858392163192576442538559270250348632579910645197094611962184879536730826309974228348455207314397915532073482687347394315703282978817989388546487057169521932892694585578876001928343939639410770780577385745094917566681033012734447777308218398644670535191439537029202719560427335151186615320528370769498350326210896135778155931831587223246790074991005033096238721591980424874034448345910854656782945120654824810589637971535634414084417284969138241023769756787202242448943911046985530408482621095936*x^187 - 1056253194628677361018549111671950618344113269316057249967447893505172984917384616787304999571489520684705318265979644571867532386076265892665119664516501164975070659383063934281484420099950801589656571963772998440856593656837112635950684097793576169282626966817825460666192131054640911561995770356904227964346291794192638532651770512655561890119178749321117463772224309694590727979825648976017232453407862829600595313964593267883688957757533950533970379486603387354790388602778367585355179661779377753935339209426138154367826460528135690625619899833887039213851424972525030011136648864905070485646806937472145248819401958894268384700495422647865314439091372344754069380437419740283724551120479400429149916430099522691121935201923502133114297706367616912160361452937608514213986057747986327004409711766610535612408923499432933058983401988544630199900939747328*x^185 + 772012019154773487736142357298655904585409308251812275472321818259413483978238669833987815198243545293814314828936680573653438037820167548967674694589160429586817234138273169000384787103358372095840425819759996048423003512574002256131235031530295141407725136622376126628631701908108352778710181548799949120010731907316068561471750076966536653917332001775802113428571401805717347214465934901440367433530475067047670721889831475327408928991134012903581418985094756765024232641612950890198639355968147581015050037166608660502479831333222837558036636123442398701495837914239361794835156420487411660840582270684038201028590754010404303641708721157254788854673271704082132541303746147482181886503459894071728219330767976144694954630445410218496358638366843480307295832341845559602905572953775114950337780468472433698852321578640989118893625340979920466004718649344*x^183 - 295435062968717170298458704692183084214648385916914440156304678266045594297583219216175292456112625855596700871657769950733538251570023114616117143510690302312731554269829427436858534303052400054138744988415846893047192298395220773232586849603743180579882470652383194636555173935352980921480396929302731590723603938339301735571737407494539317027157129238647325508334282082143535834135352968621472438461664612591483296312683570483716348070054085679932433088601984618169757729851244429364584406582337626907872874386532883394052198922283386095785404023540847332834102435298174718520262316208852027801421772195716595534358171054883959001227876445114821034276093039245314457739850038894344476671428865198538617955335404028537861437083661719912549398867744734811513923982037214872655978773153542506487405487043093749641623734791169594458494733772826549716619624448*x^181 + 15906523347465503204137213317470526160536921667828981907968142883944559723182228741590748370178220096554701979949900496335123132667811483331924706837383050115481415808865496340762761960386282599458769947736412728170329525654536650996717355008213967599993202656077108835532734177082465545418415836283013148164830481772377402266044728038798415671496698831204569448359185621252515867482809805399106988741709543483715919401372308443123849237882280326424213657061095145472503726275895639907459783400784665317178925702218638272365082800241058607864117343327006154327525502919635073138805144191541763877151522105905957280568188969939070155176194034864728158794931633963841636047167862632971836193541803696486357546878043581999312144181537393051001520848340572907577855488334189254188420039491276834823131068973134526481217036779675057465154806615060705838456897536*x^179 + 56327823220956601855358303520043229084000485398795183959911825563711816414734562623958164924910360006421156282997684992003908239248417118680859661273230489349979336449228426589070229453554534425545328808670587144288051647738891510035006584861330722059422970475222211125623049787408923749458636671764847833650049211795213852588239642813621546316333841434000937969148472094737455960983153045991009314579943527313998555652730734376225431621849966627751484070831241286753664428113144094605165613928889411362183763677834265922441124850416535306367359572499951464653060617534597795270197133220294272199631736291914012798477587123903370867123832515370157551079936189482409997179008037895590890692305229058569412604844313025311638586947360309648345349369945398123556293910997339180652607449693611406446338223510214369435918287430813923551499079879558180364879921152*x^177 - 38593099610628495982938455394624560010775064004003616133940644148366120526183056331265962589478564308820817090941059168031523701333176636460917615275804336681009107743613747388773036595675539666184191406968163084009113420864552374811276433871296584678679273083221585550798256220300661870118763582006685988469873501280331865699581307434010244456797040858833874722126398526146583728868727898044082517681656822412773616076874233562839469779252138700905233028993650729995582352667094411091967510051637789549279501468624558066659311297511361844587172180647932684852816293181674825481606295856502737948024179198091015528274794193458690381211345871498960974639107357181844233686784040562111959211604605130439567243431279508331687574625442898548590609851177120675886686312595067125770027294889115258846293642477534234289065477502302585167701920579667322395607171072*x^175 + 12635696227001665799977677618388882373222278911399881866422106828928004387470204961020574172973845244111313825676671228286884889386931168269943481560508757588206627141194375389330609098942012025547349504658756284639456869374485904641913148366585087394012805437735755906487870143358826394273158580423373934454158094646110443581287155711279731326589630051816064249741389951069917826298701512822117986233771517818329671725603380268170064453828825695334664157345223307534914086778678515779775739202466463750341819350044200880005042109623009360731454409588568090665135769286980965919117735927242927374337449106940441652451307676910549754552357997181936832696984124512970546109900779854585469174618241295577265711479546325003795216642343173509615112416409357927108801425403301704441156338657266352621453756298732715986283452049356671764746707598779054221655277568*x^173 - 838219741592425647028046567336567224559312183240217598984403966278375605367588645676237446026596065831730477882113943700382328387053627075763061289471686845005100825132711368961708182690633578075148017997860102181208672123909056277980316685329702683187208040149217591390054802805916796025234765316740811717818270406866860396928245808007279026673748050487635876746765451042653838198409576958044584330807041452336040954386525266003180204541699425706493266219549181658691939699485729527872557533545569856685540917695654306663745561090685092902747578984527102026725736544518812985526368346584458759115260812490360423623868911024784723528453222215810553142244367983070780886733236296209477944436889201565660263067171501202395055259962391589842296179968149003009763592031996658178271961538411132131298224016439693268286677221643731001672845687454404428959842304*x^171 - 1369361621882343886926750589011399090426774103070122294879530615115329098087702014295622831319028697052434936060146891682743792320732923974043986574621148138810322285036947469503642142123844615355733307623066765460292945740849261164418940176920220060361079553642158256974288835822223157553427597283548657648355933857266121228533656801409924861487868007017061697241880468384896199138362756102672165478911069264457294097035184723608866019803691774911690095517338574949613482376426286945102691331374875883663067605081624947980071269745829497532464632704387872961441540664251353595299408077635141875682365611342144987645972352263298146829914526325150985420957752868495550758178154283374982649138209512181548724860657017174084764828671599424981260364531953733670462501036130082121767288199231480581718875849294353362237499735144760925368247432866082852526096384*x^169 + 796419637454318128619099497966357472555004023294593535738422243196390226919266888957290446610133624591853946011812812766651805140836806050705683024051308101547786000753468996389587236236603097827943247979417153490004297800150190499872585269834233121351603599540418370240012567816518100556882134373369086927683176761956816637396808012189831506594517905661309801217309218792200431542680389347136502234276293197174911984408866306925655757795058947102523956107558030275105341325809561440668033733429550038515391599504932088845500158407372529725357901493223560397928994502367293483028972173017807890828193848555855070753359183883072069376923357732690217962279087776391338524587689290309970836406070761569085403109902731646980722368016285333305892858190970164559640057906524858327279105250325091709595251851339339262659203154349080654011121130912053116522201088*x^167 - 227602389956085074132176805775119463486425506469504747675231806420927732208456983494276625078992509332424201946880580932275532510561873401547905072056971767524416755101356194912317432106172455740703691149160006659513354423796653359858150689153338968937011332691216131852443702570451454080856589142128320234662930710819911992971541518080913039392996518255446257206017055745517952159932577711859831630727888478536960864793620824312075761946512243429885007129230785655722697178898785025478385982757339998111485047490316777848151146062264324508542053480865518521868644240701846778543664648879835063010351128931987903887764215155960152508631952292884554280790597366825513872888963973960851378849862500490776400217486612920389276134626733300824291163402298717878079237962977864812639259643752991224114523367185788037502152335509523313428656752880404344627789824*x^165 + 24817456537324538865399899231871887270038553674969271724040418931580711217020668147301502235861687448747291972771043446430596426984637583394775408770542131716816903398074437081592305974845507931476398683829231982725265304931817783813877306145162669679525055109915453070721459634508737839500661624804277895570727785899159142934786670168610384892704037630432438334876958440244459813685466106973656016722320386533116607611483921887066506262855425203231951050808589394325183402614034180797143151478938786965017240012530023247814523435838505620731053364649636434005692168876039079100445760133626319218798413507403050162383298854357203273306951454522768802591451229626011209604088794047855506299148858831936083966022294606033063878863506720427657973982359821229385070744515404440214355917458294882600920484145614402594500899747693680919661244604715496021950464*x^163 + 9249043781320867038458057054864158958997438718830542901578078177410737176316957071448160889082203558682261404850603039964623543878203528391079808781928690048830130677998023346685622355227132376152655844483793731062708312697471729448789157483258794454599213339890812283519831433710290379465852883579003400857268574980876921449315729425989424150688321196063448875086273889298693721575971209210407778646448080466948000098444118386708823045782259277429824680589141793456206923415012674004394024740501879745438948460529083556857548989567725811358170399507171443002128950266792476534356415162624743854695076951240844920865707277810011138570245674723091732864167453074188454195751697450253352171542089754460557831374507183246017654551003039878391537362841579185253147086529288017578785600333492987325805530257712355118866653820802733519482627407415880445853696*x^161 - 5934917183597523715884162180841948374522040043684897855040652262322664086191567223656924569698500889982837093640097890532077858360945452898853507238770470436555392517873294243505781840041926580480890572389324314265947375062353614095308717547986536071242344534380311210362755441910533192082522038123675912035857857078279882330487760216521740180351956779176913732488805252239005873214391818617354403981691015739344694470980428286253550384218273755912675592196273172870642479854530954248441541526702825327541883998401494605039757294482096972471976539510196644107452417358849155548768364070718695259696523124725584765060791172722804412967397037506937908388625199119168866652760183500958135262331769125961858626306637748765997326122843150895164217113034858535124038877489897622546200844705532323397729834677531439193595512936632237076710753530423636182171648*x^159 + 1849874298698992989561364207938527686068473466573039211412233320056121976152705191145689736633366622696047416563334522468809508002389822221462932037577504807422422267335036220351184204656786339724579203526880157383920365762155782446947326530695614995742394969382859184862077353078214768247449553167149375495505892923708903945216861905296203906699722276158718890940663973846795337509217897947297288230096400233436297857611920630305396767791062761456456738987529665542040217029070136396285642469087377816353882225309808104470236965487816432540824139174806306891436732145870235804506290993895620568239373524869853798401383262983336514024454017724260138274077791671349840907411598195509374043431217275038384663624209013184044997010962482823743064655039705002139694378972493809180869857854491581113027285206972817160516596483175573185762299189444644247175168*x^157 - 401361677187473764317267203760444329016842358019162991408770672047557447626385438637127733409050673459053486089217490067555718112825383844280207104680626609790663929900104048622931376249540183072811857395602319716894454167849537693296917429106580961251476968219334150060748412682931551238584719392319757339024712134483281048362678270456398132667885139773457776411843590508056066028863034393888548292941591070372923383299841584170127662308094246559854394452851831643000884270485971895084468797570717581274825286187232141356181471689544902288758928113549597564447538659928874632105354373689851857515203453158336903729707624645007438596537245662785023075205254278383544253589468059014447404287531833737892289929908278397252578961978617260983240695317015377123097556084702156516563114991659620429581832281822140758958081174572361528600268088063085017825280*x^155 + 65486352502763038297813044282814262324601170901387619274837238725370179877827571845765650492656795125388499955414453341346552593276485019189748707942148212642028539522632548267996721059953589944323004964144201053200084516643855054848203655918970393825220045736816828041046249472396823282377252639226868977839161589760600648595832904922871584188765283591126863672794285620609411613887055871592299529194801279109538850365297655361839714678571700417016603810025832388151740178253969515348627388685266453666208742258823080987347046512833713541104353908868284959478498776634340777073981451188380908828373530078326108967914839613766201288093116399899189540315011072358263847368070580841785965633669996819445561008363330837242860113444333949103124137587347324464807987014248596194539611968686768201060720221331340074426906859665843401792400167436561116299264*x^153 - 8203375713558902769546705476445248123212012042059217036611042565393929130605082680198940127414402377243622530802571885602639870927666379185912723066685579344731612106975961325304883904573378387780546813586992564834530862341678505317873990026569427903281000635595855153274763378047234406166131815826184287882028302008407051496355120818213505222141859991386936116733008369666433694484800569394772647251476735798093840170524650060025224468726772308305118383593860875129118353246225465850675778183200164627536016399321789332671692681644320706287761660477438349072073196334658884781069524117788477007146212429909680283145127016688675920334851199457091537871552429226140251094524110364967652369837828371190163851016844011493500566027913045061841989950859635941859927501117652998863383195971367260335435112721347002805266945974105883956597156886257413914624*x^151 + 785128929103508946218944309423226491589569094771289526924184676944164421882727671021342603562401673653974415038676584902338964613263206505494380423565150352973629924172974182048357172995194230502676207208097353120260944309722675399847688753157360913194641329538520020574087569570928325668403875868843400209024097025200159778898653174525360559500132564301669324392777917979570116166251724053526497271692396221695206893210465440700176780413130136364616886876850917879585615219802418817161532318872756974554184431701818844999769391151915541255738638640809488799747997863686816076471901802986802728871940989986294254037739692867239476896193363825820292260964104032644978469534921433488322801530462354533077750665201859097311349830525332976112057128486812744681524851166357502791507954073921441416126239624607703330665583400273606201602738821631689359360*x^149 - 55708668050598916735323811288232505280588567617272539813853559662376029002113350881389739488226793618282943443386414454225975038756149587986153718841852820672047962332665456070653388232271296140304147433246700474790766977766356152621844722313348928494191896989415758631635199318170874181218087703735854456168893739848435827948512731722403461372840717235713288851325018074394788915824596608574277415314194311703385646164915628325737882955610953815093465975187662986575215081830349495479879037244485129407912656854289020526469652900922483289043097298497747577377363405084554344062981713754476165912056321532317036280600018700013472084073117612260704122742543978649879665516970140527870895518207355362428768734102475147309410902132095073074764157901154503940685577778394297524528587373384802575436388484246539008170528381624263038351326401946500202496*x^147 + 2692168042469448675314615340879243662217462642003705535610621636494598318525582059840419508505493113147477792967689821127819789529890244459842312527979037319372040761573958146258022220220002941902237471594227646230060770708491591437156711951774694473876094271788007496192989905847176432765989250792090519999209973031662696812839490551240872432312675153291533734474177495097707791439957073877043940988693578929740830470909832174758364419429456428287686610261706804063049727350720705521812168088063901559892682087163627558379881993265018669613732661218458133825240857318946092483548280114607310201711410224711140767391179867832192717800077349311307760950100244712045120435813116632887685103138192050906323422281128799382146262843026205875137452815713372566164229470242533631199695942231800419296839113361744715979754912199475365666624638697689055232*x^145 - 62404874854976164140019941071731026655945848337008480421287262173563320713148396888513514614841162167635183843038749203628509749100853206029025989704324674088790456192849481378319963495599481150016324390747515289629514427660638192715185735165023821011493889564789957386803273926218303771042077769686074389840180888011906716638114896730651239622575665317774507024264412852292203183128528523487643469487524324201996365428184821312552054843280629769388578287641318526732327267894949456765163128147103079907228178495967782307972617090014793071674937365561776224324134538667406879973539404095233746108271488997406280805249976723254525168021399468210162106341277270739297216509787303853941985346893931859970461409417653140184340723246557508858356926368856496911229949160328794386339763650340802979684217626882353079698008714849230623905832713043574784*x^143 - 2025790800242208237673365931156323830247792820306554370714486354182959168319812967848680462766299592725252023229550050358816976912107109580945973193589843671758188185938352460147249035769234056347291274053417131994298478528802237106787349667611295388161583534766597320124874629505920460650765448461306592963789138765139847350996091276973817735195138092321510118182322946980831567478933313571315589241834745593381677151045439028856526188695358991347754989829720185060036994059214139083674139029409272187532320066733246909032657036514413373546196153092728809367252234464130064410473207553872907043724923037947963623300028599294830624427497784068678311134078886393205346619831358653043300388336847472462692870618754155351301191211766155034189024806925971140644305646346508975786794346463916465846680717758444532539251298294413553549333513558294528*x^141 + 242715022634058785681614706616095977689236275532407301507661701192466222307551514965225206768294742360438725806202944017151402397064349916078456650221312261516836182008818653151518028319647306209721605748536504027323675605608838788791234218649089596819418800758375719107277827936344479703994230294808753590045461140090347535353119917747255651240052613243004232188953917973971348333693371692066691316193745055067665044935649493340243891095103888866660804674288608179845842362300193466814041770757317446769485775498908659414265377302566918683155749958117856191637917499813573166484315616251442934612307674051260253232585083914909974718425062873569725454337707139175369000293643061603198068365840699305357898462805844785903351381911854469268595818305709006312416826671071726011387317431376543618551278990821953855951057448668191300104629468004352*x^139 - 8468164061998106195943865366170164678787461450577831016509273482301280345593862251157809984538756925245635546984961545398160167837142835619962098557755063100654415596527480056289591722770237518548038895701862038910139364389518310398569097074503528093354965105835044335276556598149978751093157705044489844642679381199617342844652444987665069035568902408572049651131448680798626912342828681979658384961906890150073711666754142737111077482084717987858617640140817138651778614720904831756616482232328979621079911277875572073737070039735716815799415166079765221082984335665472816157581229332781860212198562358220927231022954714061099035815206450995082508913322276095489022095076154591268391129588211856996419153120677032220193567677468467384052823910800890038314378918448192218885785465837695166102222661273272020739434295910512224259412108247040*x^137 - 24849683858530273396960533495528101987714788096763461245148419447346125790077535816016637637261653731279945166280526696573790878777100213491614413424583600571457764455847757565375395310139846924160821537306134437192129915668297396970108933109380573231077727506309742598602626520110141510383304527794241519688827626705984426410737646147494759992036817359319544169487870870869370800964783244647326762547143276912235085621900059227164949693537697529586744181765383916280280337012266514118479669211736228173580589254015190342980625746513990489797052191606917937547340628561019351268793117524236786018724384366541528402173042123616930340467697621845349490553651358264650371933917299941597794185529697741305201524738829319942918181656527718327237384923001699410430150336602589379761219165003347776390802538644503948145691927598775273971788021760*x^135 + 13568819282670846924287282195789698277750783824546275135463978506071443839350880870085162444583434112564292189019432570821452253015246371975452202458015679596288102931758880907792823693685062706490631588024738606966703692578664311402161068192830050994844499872588192650910587478718942252615745964394105205017462588445761958162821816311512564419088585570936936200055129315071516491968606922457970041859377304886991054229495463100446784366743741056754819687383665768651081448622037599512059723185709220317393894888595517019187161417855944085308679902867887112417886048022799839609235286639861846531643610337981389214302528192819756256342045031615126198580495965177918913360376364935637656307915694612660477903107070501585795140656504592256528174371957652260751335791186759921000341097038844711400039775346511220395844135718090546957330153472*x^133 - 451128681604164133912697160722400945374247430150365595710627228166178172041809973036199097545169400985366885011556044441709394287242863513665364397383224487810083077887270091609719290498316335465170865838079923460605898667281819950531415039914916743628410260664178217126764333206933026224921340865150610080904718453541478515885581820556566349735377234572931339476620118263290944612813045496590437135270298172500507204518267416169678601542974024307687201162953810568829727777948574033527583819909549949498244144156503338220131631412061705736456459167771255495114731376209718804363873684352797063611321250682346529873802075018657867060930342575078648930641971720056041919573217073591565113394477208462909988714587707513693617866711060266540523658626791475581243008560582941784903291422982392184770548198093420049594585238990406494827053056*x^131 - 981248855800524886022994407935260792287722258789499185751450646542651912933321300803619585344202794846378487821811312184322704439654215532873357821837624472550464539516271415729884215108903151738300098821812548281811987811020823471666878437584181327415503063564306906612832515827039825461904178597104970855201679954809876696439656084594519585312776264293841105210209554857868628924549124648261950447350418550535332949669717959875419299752070667452557625028982741522075985772568811123473713750901362974813437666480561799400915396064942776920135298589373878171185038787177996800504629887140252565574543445725489539080586738366525510437356073649356292828472427194245344023022662199267392164861660754301853544610893746783101259626399786830920170266330343522982211463171372607917513777236469489299590501708326940269541383193064851097255936*x^129 + 448422421984697566168164758983240954087543444039384022878234513049201346579280664520371687783636046381666894146755337344387122058932971236191171189252635500729221842800125923024959047643984537007940631521528179753323700517854261928814076039491938815507412831197957633015094415247608361578113469566717539354962973208378875835158112033152865356358343320630706486151299493826389437107098434399351652379548441767350080056882536714655147084311773592287855309401364172857465238766430681767474114603382278683497761983225062042115097871232743482538591388934664256601657580005770571505157356458969938307271426540433012935107525920691699178744211431468477920041029762129773029322979895767841414898085697961324236734159549721019480951399979898934782835458459623547064767198166280087493173288106380175474859576965391577827498983757488012065243136*x^127 - 9185710630151657704756851053136252056760599918977520043618582671645352041090129362759651298399578060444177248292884610799889060494757411339361360284161271715695391341886955496756707902453036088686143743606242618514530858225520889814041535224703811496421262263973044571669536118427730182656397057579352077352857394205742033986470971882260796972300732418389199254176414496122396977852247416582228743560767222231142146721381473012122067716622547859216120988809837900121856663148197424144590220786939242805111949724379049660354903258190517320016097993632185376015745575068572575083756213952688054438924654754795521597325951722651742360880975952650468297313694146051022325934758537624826369626668449117536417198172498028767344555924268771882752521265142959523218797391414063822950031792466700755069911437223188934733214982049701543542784*x^125 - 141541574258836090142450727327112149136933609931863757138352614638266909452914728708849536777085097499427768244293221494788881939369598790837370189017850466854839415723642827955785848649892079824949442760679050396561010648291429321313231426873368052321416898106781658148907375082785713859508044840092449373792774858432027305071725529034377241457562729442103044335773066873608690741971866030065838934756330906634030025572227395066471135211582687249181604104772027018348675739027470982801037797586493647469289736323720584291612673914526565647073042705584204338670542665323833390611154530036483724930810560544409715630059705781305773255797284268129539269597179348810363803784029075124373000287287780683317700452544170880310989196186752410990865224384307125946074858318055133239232821991440197804302369217564809468394176582435987259392*x^123 + 7931028916030767253906307018835679037393490909218462636356610854240974792318016909137861176939046743130330140735514694052242110025736977632388441764881098161051412256369697405416941974913009111872574467653371977456803050475468594824619108210323826279812370939913819201662631344738147022135648929874955401910020201512072758673017160941060963633676671484709381376543641073494944085047512289347840883654180936830067531967346493946470269741938904496375362444860369504639545553936121250114611991646383586948392369090730733227668425110647021671241681966021204549448707259051182559640389059448072575353609004470680209149207197796338855876483637548346260505132765966124735153942841071707284314381843144735857477693955516985390302896137089201335184594038068686845981880478262737706564989924954909440417207358957637602911881853050747355136*x^121 - 33633749081088714991039092228874393568344047616457160306603771247588784425633068884920159851962086054057640778633988082714974454299005706692100730869806238135610489346964954451266172152585847305477812488619808775764022264234757146100634599487120283973115152658192432764858333127060805339842238060673931488039211620689956573641088819027314051446199378637822886900003087982559308621378775368505362138543935504985131200977508506100865419515381823706479754210123911763856447937149067600744495798976986051088546500727499496151699695593880768556160788660953558843610119137840866643791899256571419588611759794764412361441359925706251090175907298533246292989744323676723509658272490465519420126201529490047611736905528892892239911456258091124865271784392661809633790181962051987196694119976178535885797390254327110814059203159578902528*x^119 - 3335676037190809053302978177011982961794993194516424808919030365855968746878638300132173776173680476176435633171140344691882772815079109892897770740174277379568113215319510056094473564480396735753114181860492300786335011083465593621806126746942885324521187629229850619280598288420949170507488310372102888702543649088233919722914079024848552177654736124832347178643292376637438141414970308616148118218374045353838556586438567983192639146334841578205681674379376847628538881597321605624894620666815553943741299197845753383544320384503968559827907080940486669980605489851820095749168091002181610533047326980952300642543789769108741911992218543639684966685758200969331747758490850921427758225838510117752902053746032376759176738518137549150705336868117630752579745245390077864572248357556036584401891054445026048321394771232817152*x^117 + 47583812168759076181282098182764110055388748427709195849588739557773812224221361579534348511136221671290599774527650535603329544506611055389219733737543011058830809296018690820056201164172720406250348608180469191308935365476222974075004482082492544047296704484048409562962310668405231242415938155520984658820066818575825013063943925985997060191036403570284206481141487666465696422954905043656869320796621586347699177076073539269229831959730106808575682165289686342520882640980072052144178546438553085943677092852920226278605183195922928011800715039301218461319606217227336095419973660064897984798033084828784345835317488894157845237160062121310498804016293110381792345499221743030229405156015807087294417028226600053726059103444266447425036665519875883273032479737008729237041039303041138851101374195452472069960415095816192*x^115 + 804688148208109086249757712920651362326599079401659946623511106365542517478205285016446508858899730683157362115540028035836541454142369200830896901784146016775873029008032416772463886001747441229724607057730554358790164518413616080157748386755513174367011529927437372961361058856023291844310368416201575521865675437008641359694359493551176739897576034262850343673836959973029182816493352475332348694628854445182627340392570813062445494018495363352898904293877076124143596977290167633258905740315046592531243636310357902749829375182481565462369462305801563761276218503471300120833261682293536990841427913133461794992146073941230770431987825172147615244416924401214009229276401957066375855145145064259182240059281138099341388174822788453283748851850797683453249213933271520435252289550854966912077929108395601256989069410304*x^113 - 21229555947201823636108789947888148950761705935015734527168752471516836137343601927912263459900627729969187069682777165093612098022265178076349021500177370419473337737033670215410005987659903156468832516941156722485282405904958445954306292390497589968610729382149151117758591172661015143055503090082446616946208176993611962457131993528500964447118030027441901746724150272687614382262918578362389100054538701536292055857925031085878605426305437194030327114470470014322572860062590407338517977660172076764697944623009112381820029023829201565595266583905261621204606571370655239808347107539490224700041341379475386048026218776425925645674654992988355650914448130664943538771130106571108664300692891794996153935740214377051664979504697114549284875202299611370397854213455803659097216669372415634457115010858026996945953751040*x^111 - 94565803943517616512034172576021737218329874781312627634199763017344701249753425468715046443354653280595467269407159929547139913966646838269438918005126952727108560797237060791576577036617574758779251427705958636379446025462781447023059877059314084675447358359135395404795333214180863897285144873938256988879240175375688479306422792035932168061961471103692453639092178481743800182832808171253459377180290175808963210771800766976647058001885442143263274977592391254816242354611146729343718502928138816696814487104105000131376057048194220064781729729075463844549552104753314655060796847314641803949856631111109469615896209497147812688987367691031786646213237471194146662936084971770258498813863358013791531024071797927943791454781146414908319137966512822274653225703255151476069003212008438641126860047516826526141120512*x^109 + 5830644758232271766383521019356572180443523432416483641439986216912151255109112381586142706969435308204427192516515855888213118618774565512320687455383759317389481175007255370318710816124218621606702850444142035545643782214854692975230186726370239648064342766055939898589118596242607895469628714707148697710127321867779693965618639072848244455837923770193518289927025811373800426621956236393580260422821018518853835346636002829426961860436895197163046642184648630601185810824717383055935021514725327828468942992790312204687130518789671184238513451500263651418712244038772786982648208685715401131501724444304423197471088724503504980421094613842296917321454798794870991546091274200064661934788673059857135850118548820888868542756833296366371463933284485964306704974258187115055216619468554031870425856411767044271243264*x^107 - 5782493237874892721990720300323148765927053691103607444895943324389315569183541860949455041895126285981260930354250247640803962467985029254526273496010560530193365456031041323545757116963131829604702786688233811248827169320984649630861296295571605363069179630438393286444779886467383383308672909696220001103684448041202829255690721278317458422185497128297600078555638389688444151958725673200974420551803786791929175216326777078175373366051685502802313276690348046714068908657433480729156231481729561319768355701240804093723987952054220720754526836229717824321558769414119757482233971382523337048375666619482179958538144807152594346679568319348568949436757298196006424281004181138319548170868833052801431420324527487297429732797416833784724016902537741830506717834820206498920498002307818804834936982326206787485696*x^105 - 1117236106888986118873071476554856980862503528335368913318208292339356711864920580033860704725511596904193289649752813868418371695186997735592848578762590492422858948943048163747141551635172494589619670759463649508675458320122337872613353600546035956331392760546509044916266199520359680004852802356033755401174705862811203228440699918292401177989186504762528638952431067597384291037597352768609885018356332843835303680801854501219801811151284814477095821478389190134718643238259123943008498610998897088029455343990253278286450619910829942859806788899703287751906300407835699114905682965580079414917791216989722571209597575568039589083468885772465130352654992980101285168583966200344731895049666745011844224538810832996919030842133553353120538128094745470992670515224335221947685948607546328080281408428801966211072*x^103 + 4711183027120902050454978576015452409297783992847578403281926258963286933598819661596825356276864380763965709843597863610432910680236068989025120578715755137797152861966419583669944773706414982199234745133568059078488384109108492843409808851098981849173953146804284929983738296969984274161381755242692558066680362317944527138970228685586421440615534498169128652092720805843299097097732584460763488601957561779983280562071717748034107651157107211658214019522574775064442456732876743286884645677779234835247552152952781331873354011251360503009170079806668079665140025467124175051439653815706384830509331520855016675624295206745326207492018289312062746743530268337248521139851401391216386556701774367881347488760639621251579910560760032995646448169627831853137847245756291997266909754712838928873330376024287870976*x^101 + 156095396601333685178520765440823876214562535840642833294875574265857588295147874693209517245154459906159398358128328887007654176046076224870677513908311316174288013966155516938046398725347782888080783301222217636566835201328023142752172819526496404332821140105847608290408312238017882710001580472699377386178279223332565521723995535279862844754397418671188913480478051999697916184312870028840668819348820634079733099434747336306584614290478175491671264884443330744108768300649994073767997276996485886512909679523749229570392791010765460945324408475594161500163227805004155468498320296263565354326843040321686250775563150126904912813443988061662311273002696058827934026470207496206562264615964917633717150640341281017938543665873178926968465000168944428779777237659264045679769093622346913448056570635846942720*x^99 - 1008689134825232935219054172428044772788090387072696508586819923619780131846457072216549108793578919762953064702217588266360065408674562283685195181582669222380916881369158172810089886977491340264080040832682084599836401289182382395156387040837521867518548223996224000234573169249632752324737284478899383541709560026501066512204544954123999413573733712140001100341278287802490929486385382978503448080032728261234021234728286633726893333524225262818408837862986989977561265896945577524346611664479982198505905918296600111614843102028124518759550007197338933453421828551495267096974895539571419116178020219579458359610570283559990353892557449737688458457111279644203741759321540773839178480458724636627205778521957655636033454855273285537673223565371546535109668297815144355179036212058092519139526127336292352*x^97 - 16058974498985129899022231356882028481109290228777149537431468044243876836508802489075572444360505186046809560377256070971599399108215029469310841501567348448268694325798686632346457751620367727385517314435697986435725677623813999689487900393447807290026640717203848724074107030603929528903948924803924667772568885837477222493316090861754791815977044499925436886826344198900261195645087884027496555669645229342443509750184019709889952843768577570166285556544646091759064415054546725352876929782342515614351264531099241555163335707308902509618120341150240035348685584751013591799196086696091443372619505016816802506889370693878373158316297875790208022226472141078705679917856057755587768687811529263093242121786378734667722919158840091049084257494509162668349233338135536962523697098013280807067392948568064*x^95 + 133259585145177833915501733978770835559820168808433165299528956897511468685624584581307639922229382841625068074568503606991743101283364057236658035596410636940561371222075105899367276975048358780000531442081373362320885054733614902379698174346588440313890665920041925096017110310797755445207567438695593150032731608927997604491294134254143769896706540250161644112619610931977361478242894664518813705590411313287892338287070690141887925644883080904787487376243360784292636869199275110463735426376758705759342457831490083524805916842106017525529826614082945417614187528363099994189526721904271011340314545834639794971771111079375268327100601831180914618032712963035900237567242359478642844085335865022856954478185631797260336830942126630263251694100586774122975925854295744681889886882523794025167800238080*x^93 + 1190695433901858291333719939863039995424845166230233156088969157883561235114692548745282652470136609936038639643461410589721730224473155428189088155815752882282395201265094905144273763341488612750418582813397520310116297250370139889169841470353265497173730413607526331464741442282842963618802706268144450690079181322567709937798213757007273180344843040888550291989117448620297444077343858135494414715363645395317886196910719718346605773284348216599624719484565329654692694273217040968567944797552216014203660609983741935947558577101110443140057572617649552953764200740972758927059036576864537308772587394073571977176185422943040769139439767480978292908497524132884216730487070965458536699387819608948971604267086327683037810460844678535127362687061684750396413661721261419882009939984583623324471394304*x^91 - 12308381394670802710108833620036904621370729578656441980574899961463772425254962848323659321827517460639524359676245385416824927967786218507535884084740912019136311398427467085771773556610307777503265380538266369437319048289323853101678637033726896110537056445448908855733159519337301394186980111750156688772028486634090920937572114358899444784951008842545188747895965710092532083611445224115632644619607657917752430388944629086200354711190478501384981644101644913084797039594056567767068753295852927293846106626140834684636970347284717207755457159975947756823899432130712491670061742979380206419630302042373716868314001147160369107920873289092606036959541131385397982259098551130375158901990202100299371597485919615751816297281314320720229006991128451284501102404552306609769856528536941355130159104*x^89 - 58871242547405958595907990712437882528029775109863148923236264235123724827638944151694063412627000711900712776601528925141455290171469350819125841813444798339924181014210416137655585996849511864115349217831546036658629004805967578971545453332134136773973880712766405400139157305377251014142259759533677890292816309212978134382213199564103171192801674467748104953988143794929915383579284052815979175152424585017985410355575345404364346793167553640745234992620899399978578448139317793006298022706629633788466846175257227981378336670581901695870743040904612062595158249970114830571065251633836336865070237788886032112224722481023829563869312998617840743759002734767090040628665452735113580827337186173173649711110202885073591076826496458628607908159863373826989443068402437492094938157349713066590208*x^87 + 831089454151111580076582477265513349803406743624205441603510577713522398081530587740950373207315994560828395520250074163549203109375530975333349021770317494390671572783344417329474566517858995893566422904960485325368778703386427170020305551500027797197066661226284011028888574880495269903412193359814926497285711786008226731836281374249845911893613238493556899522831912603570005644761800912751214694108721925780045413641030170159694297088407586809022625536360101356218657188669067101170922994576407434575403340202551175550597352951180073800891585634274378303561341655808666432502623027928494446981103917192695142001187598117838204325884996543351571763569629185074366645174140611664165813787918923284238829879464053937758624859621392518790766208245877009302717210087730173343677434774273461846016*x^85 + 1443820933084241732930529800884085723833071211023742810104270290603094711298820151812181431598402306706044116038698835557579523035265140092855111040444123362287946837044357976670738506987960423315997821974274113592834133073746141131157158852831726835508554076138085775769476113028143834723409500108350435957910534752828075871624157393880896035795854975022258706191182736872968777785635488090812155705749751716354463491990594330475651502307037636430304564019744305856380410352542718869964441876889959003644619063285230079711025549634275238240959603046719562598993407586527886042088497519599158206492181364310448051626245341441336371998176354679012994929311604402167868229426597082794062653718583093053306671974136398708015897913253995679149532866295091520580196594480373637654339060593978245120*x^83 - 41564299638240288216080784445707232365643103551002973217364481910337140708792492253736534889484521969340971981100208601419095541455665327873874031307798748527214605187107740513016901919152818696073936772283332432013147015808087001874031944782670647492899213512953623472545588154846397511938672910193769515867069363127008654397487950990665468133622230143831736014524483271602753316763189890764842092637673509451375229636877414352558665957134813205559176460309307244852338012430330085584822688090927118927158702221305244674317601022525455289363310359936168964248556823905918003077301837069997711781873670105909891633470028920870869084193264288298889043128446561210744381172310225535926647226535983083128950534025949424711325913533114272639921743907966463027530764454639628681581755511875829760*x^81 + 29789653204482093556827067903321946950807440771300433089988385021117275053564974080111790822886155293995742275320535194578906083708915306706859678540249197093896990212873134387858943624767764987572440671953207436884398489541251211957394864322665385045153069493558790483323194297707118501374288532923519172275410761595562262416399630110542805603363608371505998959604653284493867370314289664848949132327464251849522431738382424897172374928284147003319776550515942798064460460858621325553966877018632470963294614789490262887076609375502093655437890163829357058924291641257737854867584026233791826581987885666052536351695466053944597264328936844968566461110636642244053265226955402933083925206168643394609104147698603950508460951266126592521015887700350492302917858255605187999954893237387264*x^79 + 1496060848595248327309839000265812269219608309462702588744674012875667377738085319938487797956962657888405762754282130126316254159956918597794294821311708335836379797318486266959568744103160532921408373189120691696336841637959981416042902435703195420145551572910420193211096475638663466992426434122853137836724813272483914230414588708716736148752633886256688863824279554770951859499623976769577271073909433119913790109534477990391418440856075022302116629950121944522358330695344968650753421715555605885704413819297998339415320393261582207451109463122292667246418562660294988726885759486592418269316623305753357801100159544802243817968568923533255315663728008152002530432487646355805930542346003115275144197861163771919919363244036756599151209298665847444485685758108898002041991361200128*x^77 - 4395796158192996899138512871641816407992326699091403169457282636990452668610899533928328947044491333150037396916166625236954432229830284275893600960394139082174829721697791755285621890508407317262301280080118492898288805799753151635312594020868255798133763038605457050421018887911191305127701486950310492184797558096981160443090666826859578202855854223467732356380402206093757607968280795400222648342541337758752550568126997990355809437448460793803124942433249325859381533348451600114743715296785086357998336152908105618899691483791633923951387806588659857739517899820746786157889814913038629277696245686125913993985034874546847023342930294056568785392500767959611858000470237698402381196398661069680494254390631056362332904755486663892528664211558663645164303829166269234114195357696*x^75 - 35881767414234337358553204681719409249400313994798372365635147902134373059111734194202668874376343517109768462922772400166813547277081888608547737026635756441564543482281775236053204035940773841713900521631462957784748284036890195691495233988252739901605417998325807496590562370092365940065788319039692887291374276676949844520512981816374455998034457377199121728203462230755722210467583188858108831321352492407248510815914847627712635559581606503331277609045264678547699678125930685541015902145908110113467294260250794972752165457935315586680873609725803584127709484212755063529686675714624548669934993532576344385828448713950593423213230119537269920820392623587022284580310823080572533921268501348511077460457207622204893690171055777996675715019762624070002599699763613605803589632*x^73 + 203092535737121948493028822171442678903093186641401483023432704042683284160989236649463349791737417410329282441503907781117286134433930382714451738206717953275752787794879218681941737392528685698654519452362128057949456850337312921898291285270634194678661480760528561177527490349627246897756326307801680405492782476754405366806988722888491664228580867766259945790620647177744258867267446328224499660447637506316443132934802488190350635820558624768911282775065227879344335879845029375108917815115911747627634611356766600114529307697742067840324380896248115297212493693987102456130064312223195061953996999239297857375761512066469232310240046573417479046258263346349986752183764139003373661487019862258085666101262391851915026730064083291153560715731411898364098406223200292733714432*x^71 + 440718464893359607354213647624471709282680434331859169298394473943131136412751481830336389154202954414959282356160348922577098699743995081174507283784188772632610246142991729721961191590073177013393065830920911325580239090246938776828508942517585470430307353610205293748929230627967658554609494886013006468981871066764540095089995673130898837002807476254572973257831604119204274867596762896113633505573370296457017627347815045144874056073239088852470863779265420798291008464826089112378042665548594463424751454922495625714904708392025142022392400570350554322346663827696521351571662672302410728797831142438546650841625944653823349879269791073325667159033039990640722041500765387991096409410792096789822322374927860837382373246156893279523622247141967746969199284844767041552384*x^69 - 5536822049008674334029219031739563974822166091639052850720349992908874373833757826916113798782687814815314808727701143675133191607785309943175005053104856241655100373172467563025567507435735518993639080382889676910895934561482951049764208152661392905272048991389421501181931149300082411323961283970904393323382765377780048663841846394711080184524000834045586740743439945560967666388946184943124686203767351127121350401908778642296955929707546707734260343023977400070421657683155642037725035948490003240978027343231579929138484938932431951388455466020108872288085307013878201518519715184922304048155631096720858337200372795204364410229196750945432183041664233763991503989987872420361674087156404009894134376235623141251734841177520213827960675293149280480907240132412409118720*x^67 + 3228381450043117809725560938548278948817493922131397896996653556021902861475792847042371876567955592212834126425302088686264189181206023900105324053157134703675969622091873596450211666376674644407139689821581780667172783121624534458138274417900659477739589653094146281490401014036972707388728075530570632434200802778216024545344336423584371460705347686664697867159424364631751516658272055985952325544458692142214313857282029570331280570996658618970898018691293879765716721887943341372588641598714488644598272864489767374956870205882039508324535731262310199541956459508044275332796284492508360394448795422682503996054709419739928746623646997237915563689469674098083899554418148163944253598467760801068534079794110800350928934092457429550895492296997330830283033590454288384*x^65 + 92437576656685587719766237707106023625313888963755302348671223140610332983340142155262901133030424292366833170088628163218811448307609874603383720292374823916842142907053385555035574467674261809173065678940962928052794916168399298074182723995541321951574979032776421324129633212620672507299139768884000682352457215744456091948957311029214119191741422216051465497116565657077410712387310228774552414207384569042392855430425942964556703366865331888180577371913814449136901607011991622200606414774761869320563016326069085705828192241728658405552672638717275265610756657791239018473378563021959129907632550426261205635443854997290689309230995817540804011295836258106765032360134004269938317921451848017499458164373859315606575520163662429173440702889147124650931721963831296*x^63 - 254702370702416629475527616863377238712031334543637015807390314955442028196144793580417761277571430744316453949001131787828455483060574758563509843614318220936588254285452952496525623538593053911879550047044947932747609605065055059706329492957533584556096742480889481530981927818097851976461059818555470881288478911287136911185248675821528547374730408994811724192445848665248669086101651352726833641162146171946950815913829730834728817122679947476470269407007172077320835815140491108201938040050909207541109285733308160862233324941570941857657176108006678949932784505383922034735290448343485450096048915733288147350301208711378076413619171424262549624228050707413729015073042236634384483419846492250534583944929511477371093057651012540506654636247207053276297673310208*x^61 - 733063391206169307856777940584012932018072485445288541813462440791057969312182555166481386822284700562942152383070802548474516315510197887463583606253918284155871554673726350316256296615575544521621012778255783662442039190775462562822778175356936190765910160907285847693394824829377518407726111040558977808092653180873279001375882226909650655486644472634164719841099335044790278530155435454500216537497934902546770678877624857608886409332597613276296312110777109186816950638733706586544550486271478095039357165982131877967957391016947729026810460584392933808706339084548837041308791550725330405856576004946479477310487975852155131092763480743116476135629127806318751683619209251904619362904547059926934292569106043787635342211646790552904854825931235311274357161984*x^59 + 4890315530662093868083127686367993245256346340598070811017732938623512896168643359580387644839913797361247199872276868651888238429939863438003477707910006550429860644974557583664922330013860881857280496676409811989915711059801337965118275627487113302845208865007864230924736349643888264729605679970236322295643092726968684075934544006404978172436310550163255233117846621644686611984317320362121837798354934028092884728845285913780681171715468027085386920316757819426358901320803656353697067833045585968787221295729292315048148422894216790877991487631529633972252847551676233168803369928779200528416580150458058970488278344628887188068815073813445068264655815244743779480222564394204242637230160686387639829376540273554785841086167341024892551443430505098525016064*x^57 - 4191312565738717262749215665903101381309420588394457750677582107011693518076501184399079086953085744381219272993563442730453263604863854399324107772919158974884940945956806297166832288765819755182352456291976904428553132220983485563587392440659721706978267215304215571364616669275029487337822655708590466984834259793602294356336222193698409745348171968621871567171686872884644459713072647905592315445858195697440158141024580178426379969465980757175249686721700645231295242532453367079104576874009384911652845351520447060967447365830403175462181522261706085387371959798366271412137222489711384744888768040339994053658356442506901502814627186017570254042726723828792174316502565460596869141766471354054433855309715765785120705742507742649973595424116219846852608*x^55 - 33917209576118815665985503786842539037435302425304928743487490379022920015430946901764816586067401695043283934979315287867388770478737106200704338666761517070345887151475794170228433200274611443036264286858566166502474329331290523077804096041972179939823124587743134645332763736211005431611687840829720569889922815963675781944156659518888621912724044882732839994526348202512068702431843473826032701950509786823326076726853413733838993883161825431499500510762509673319998365168941315488039158087858320064179347423875219032284537472394301267288097628546856445732156308057097093563843668478094299419565709688145791106721401450682452693942448872763417059021120445260216790344239231230504056779173783950552251579723475367595208107710328229498321650583067099660288*x^53 + 125246948824586453107389687453857657097707988074887164217177926744413716395153857641781466203244660648525915547530352763124072509448966730555454623629790621352780570122160926001914525345248427721907685751003030587733828540527737750089417354842846773503017618534734942104453406677657340665392348634981991536118471326944281533637411587779857714350845214363478462624232450952142557205327595014225334115663161575721433627427225114307182820258484109304489629096447277409646786898682889773048825715702764556445080854390302424901709559674429648677019498023473426528275115503067844433261398079215364473967051985894432039930039934929518972372383811568566433566505160403764771326008060564136823284995950687786437979884026167704621263478856745549938177404807248084992*x^51 - 163807799710001331753961935531468989009182717273529674163308459206984705924414405130977992904781613181040574704275327014866271149887420322340837824090884967871360899521152510662639534587741703870635404878093476303702894962584628589053765585609197578597899614856621370629582672512091671753397876544931057204884764395414798668873317998062436433403846145811626279707588725213801300752084663898831419395779703251592106147348961917902908141284089662484623080299029192859040513264170920893468144781987663893224732669951199981198703952998713581024891582498414706663254095493662806937953056070933215126352854901326718080378229066196050666888704178622487150155020240387843304247046643210482733730270112247472768159436722704673063752740442296856379374969246711808*x^49 - 27508370668228403691356619146402835354148198441811309230144398495629926708818813104332050959826748567624383362119456913155213162263548373878249303820514095855277012927443338522504744036699039522922223081448934277610143318595791496231978012811759406211910408206025121939945437268049063958632420838854329002688935699063553943088231853130846293794770597764788381169342846728807875174606671553092509738831711097635132533878410031636289185609993910038298055754732633720768425893520838009635760023820236877465648011269666278661585762398430372044498221502327980291017511346481089060126278594271315518239578614478092158754424222002217252826583375878933903536652855953932777591947994338909781004312180724222931895789688595864299929466982582216533901871939584*x^47 + 551271521331577459479711340268614192256783533369263563187565150477052828115982772018321774792403092530106912404714973479533511924880534594682829835043914653118212769870386280174185457175249273467466703095183908855405095757384985788563267807678124017094843692984078941955291161181097394008088968295101595974529868793405100180234479908999230977002764420918818562484542881171300273727466679027986743271323532084369926000209706885267674370112763638059496823978204252094076324562174989133900417878595311060903119466774221263543791001983804358349424098939085024704104323760568751764758237599176432888581874936071087358486028180407764601239866038380985105325853357366412759141824208261347913812823510949308340731255824968290515714090257752807704692260864*x^45 - 2194216270946462185065997956063274551912556461482244369043750931362050829685224299959869557595716691184012186201992935860502691916674455409364458714628580262097177738824818264249825215385851720789167612556654958450690302157512561324573743675373131085222299904123807534093683942961639838679410736562374211762983603518712397416001371017255076646115862435413284026995601449277898109857813535609247037455145026537768247652198105853350800902883777990577638176016277114850570603601011444078328103831329992770850542018858326490367309619694651712314440243022452092202780641702092810839145955908644909213719231931029277631481102847161985714113550511475206339007033375851736482055957737694376989387353098905344092076722993192056775595174944546118130728960*x^43 + 7617368092719772343348730471115197802853880760425792475157599817651638341910167697204327272212374367261958680919912275024017448310439738767707098583057767081850882343050228681905299625660264325564667543643103338338802540967029617352038222041732750844457470275308748295519254846402409475645529827331080516303649846260874471522353117748959907612958104476645805775158169275371560641417768189541907629661023069192570975506975561324940081032787443502484591182221905998414858629557790474047369851351500136515099633685841129648290228293788189320172253484415333117376410049309508798077181500232897390980238255651700692029614020641785840845121843005561790234292396069623799740025841513295597437941270245359445627513415552789650037600196251163354464256*x^41 - 18676392876498041819326345762094106647924969705628487296523329135607689163809344404474685369079854721158740838144109901052994445105560883207149085570632740529491201882119285525162516783297472878597882196114370576498047368229430199231976520646705634884334380963860509068808032661140770707629842742798561502834472935238289859941655237680119769701542436327753626183879762096222862054701693288407366552524187718433308886222873585802003406296068885859287791940910802170172883625933611233160924735436259361286178412084905453545635774327619781969560846152812928341967419723317367778214620417798656056558108068154136551095717694656430853611865641494497473917486567349010459370983790033705506228478426318739365061698178652245767630248601836473810944*x^39 + 30185130275170612466674403537581336050995341688915767696823762839434343364573983479183355217335369161493126310010110595636594742502318167315267750753527906081093887291828165662749594382566171591243280457286156718186736530340969114979728278232056803170057337611740749888349038670735875623871699981179245015404106511521042837991595048240166412048188755069380213846090668823060929136896360591530953294999362542914697700289650559199533638954878352209795018341217152662983487253281095635374891491417352207934506582441703411633275142977722852596130622438776723481261754288402080737664041104606199663397071553975433999369257009895016031135858951247650563194384369579625329761941577063925739074181887457471089502350266449112401789110722605613056*x^37 - 31726133781499745610953921076005678019912131877846769440232083313473188422476479749270007105939379231363864713548924264696497631335395688350037222810711267764815744387613120461414756903651019255379040492363701442798135254171937251917903051332948851300483909299144089370427142905502609379637511455812694868916828036280689469767550702441198155456311021414465007753748006693166154382020000436763223243678822050685773111874678628660717314697255824469549636297509522121530190085092081532890440258377684767494099468862366178944138335873190348422295892099203422426179836603909517152232597459832815785921512294428645353202793233725438856540376489079426251444975672906424732110209961806594121940871612651322216289808794349892366839411925581824*x^35 + 20366659302291602780149596818637044260207760915744990203352099433416616307258318687884250977881196631988614203589958313164044881469237191492919231657776361399408358573119954367435191771851804627478086890215336785409882717259151170949452882515971162674609206653780345959423558522311991211836271399414095276191715013825091042949975529671669507946731465310743019578348436598142930327496383226178262076258578757500215530166049283678972575394899027985553340796606510729338433727502545953585911657298962972573224390163630695227353276666525864921988023121936872186648046105441260086458168938478420132392664813597497373488223321732684743148031183006322060828717336611638461985371496295969699506051683654996019340926037999089980979466469376*x^33 - 5519334834316373357147219710130941809962689244882701286766033727741028153577638504167525355255562889011476656945083200594885943417049113889927393838719326142861640179056656615428182051115271992708826999020443703322613797069464829443048148187966035338972352752170474704834680137760791381980713971377569517822576694647787661447313025754459370257593679559324240060040017665552232670028998718040449998734189682872062230258593570938736550374573527161926559851550683778983224117816917978333054853947191001954188175342642459846796394144203842474969593681643283341002074539327090401904413250586411027357937999408118010039217767772517332398979418531593778780076837425825278365186289514965486373133557399492966226246552487835470376468480*x^31 - 2739563747567654321392801680284439987016083622789572856303330458352357135956190606556880130962165970153295117994184271422149748993042284734214090807763753926576424448044232461056560797815884354046976579586757188065616305459804304931079297736406828092913631108006263191992178299884273592410149689569430593323510960587141699004454324656671768219510397701174570489198360003045095320143385932867572605412097997155781575846097532373652983895358994806425285224079877744332465611506819616130879776620908539271633234306673408386316225979477085460047381585672402280750838328466590544300964713990025961732759286322867480777976186718031828070170026262873436316509226160083034622182742146887703232804887627248449983776773407722656759808*x^29 + 3603082456975717991454888910435302188702367216357240341197599914899481842005464697489709938604921318262584818457320778601130434234363814178020000601752977529980093144560721060697078386070913143380803254685038305394332952385929086258569659656601438412241772395828602719170397370879560308166839604805824833036366364473262160577681784277033617213327516269586097412816760253555252354447429067231996309262125866725378125635085509444618423943327071580838682287618312532055487308394637770547109039481573572987585988737013651140384902486366409242178122087401424753283914306301116147971185975034805727096210432225859714872344005790156974079963145156787954273079248048754960343652003620102831768323397881018519875779507674341703680*x^27 - 1805490584006994047972792634159343336567444630083447364897204300559048587277934995050074122981040335677066805227782768831294483677823286369718140064303341790585892568833918882697887404148104737931217691163863257604843031548830592572431978397060970943260172509929671616117598441468843808027709525442504247191085194599002245959011671865370068253477233209814738256593812849217191911990494945052600212420550370901769016906852332455320912990931973879346566748480783213266474411868406047726528072785671387951931255548049156708042340977294090761920449455662321649845967384606802952337443212613690515683444033951723094550620960174325893869439095557140445323471885564709568512651734439602291759785039207656504901383700625752064*x^25 + 514737769176085585790544860043910235152974093491230804813001884327975161713777154897324026802224572620548575731118282292055933041899367388324815662311128542511945039503853737602076525777338733739049760633716618617404149085328792506342269633603847986294527999029767520553744674797653099282373752207507013959988054248415762145720004022855081464658907702572787518157541988266847387670995284671710884801662392034039878839126706985411195102668632027337505763379906154743502837177734122626830449738456973065193971866665262676922666083750458448605406412363332341594625702713701840668103963899271539858279710595201497813062799576747370931865052345387482156587525930552465506370723329347796713027390692911231862458919419904*x^23 - 82784487157148769335818339657901978086104288338366021257456218811033709210160140867784010687764555603933652823250808715304683589901303425348408732051380042055669562488834216021224810742056176413592133556411015934311922014814895230186634147063287401055968706452257693395699586373187273192321044400414667304668954079535520363162585497019608748695066923622672951967777028428359584002861911128276544610934347792129205447891532731685034614104301948712121412564976217663950775775243856235835984540916629555179749253601249458732089811819499511615143073238718795544344263333392774172764636979641011360856930370634354966773920434706687641244390678071100896092738136047099894591072166334943279269499773477317195453169664*x^21 + 5750744141629020129751879040621654672840567209086403140962059372686132344042443306474750231561569698230060631461299695683226511089240150965367579778914446753303959420208492763544453760906494407651152148832106537103582533251185064383604088207957994533222447029706603330506164902403882385211345347994564508263169028299647030768016013100592570358384940042028782562011902308082523656400300392829099879923656281875454332736732940602165727568087084486138502502675335744946319324357848689478567763798996721796412272274039389580723687778667503758443615873212586861931041272113587501992945664622511360707885679621238613160986284951911229090375889477277839120124973502164349612851730199396605647916332138820211310592*x^19 + 120668316206450028065811804996248679626886712340546887088394214626503392517875305182677260994684349447241216892214411963815457191670156149938118670897010714116647879093494819228199697652876972050338767061431414870711674232591364811487193189256526382577369184911091976444784177334405538637507785486036574209105444926484136431409181700363289814180875449814648835864553189315706323817379364486148264292941780875859667936365152312952139034200619434229782131126423274679390908449231601310211387338646677256050034807082022049119588339044039895156075994997923597263994725827614080627635177186259893346917771452024482280520005590809692674501783101241859999848851400293482446562049330167375034997227468317786112*x^17 - 18100127464426770010678755397639257669443839334417954804161089905773240529256097892047553360432933818719982115128265592783698727768877059952808032627921659207512157040352056867473015739026590383006136807711680745412071014111209306771049945388501591146115814158232366070896023225773458983495741814353471442975400067781456625691440018769684513009660592331791643198160488956751552072168039382151301903331030666469503399549168854546487751502378149430228112383267770805501907913242179165673891549853185300686588758525473247125996182858941855487658749601768016747723848535472286624440529456934868456264119469699685867584802737493027036079394033494488793016151100821930809246137913733312013588961733640192*x^15 - 1702820755049894003504395119469980551789773613134844514532831770895101782203311363219191175802574056341222846625007589379380294363005806533924995712493145006818197679585876200903742425887491882711511430826261061722347871483342909087617258208708793644207244585680764520569296242727466828179307834063758957566717724219136290584113277612007378822339016631524004217964900205845389035204561853967112219183756078964243800523408597598900721112374328106318079459484695429545773471074453557862241246061054631176482810299828232994595497757088587175964107622835103567389193800882430697694470158357906656128222077581814515454700302452201454495749279654936203225646124752589084882754535583815075387228028928*x^13 - 36969417868876903693152336425244608214697498348530841073673844229711073301198446030432891656282218857385836099859011209011791731412296961418746607209398447503774492379727397701465150709210679580217245463653696888393992209798900633666615422541612541818192789263292227778760065469369872873994741239736163312627568676599338790565341628226931837825461059841503760058108318212741674442902599544557005309741123788452258103069402961211505698247746334124739084276592252924097221853892804226600818050109389752246475623684352707666452932447328920094385409034503345186046661000307281163402630147180545227705417482681308726831427230877856701386304842114696052291309711165459261108778149116321036500992*x^11 - 369606664437377015059446889991516264172195354791399496866374007343680486455339143783842541859053977504234921141885734877437120829588155455539607745853468834722757512174145691842876547073787176377425803338340894618853092804149648940610191782849238594238207838527389778944572572813635873835111666506769268993962455418368120066121775087153197898699007123595684011431372351808129565339804796019433711916006880604202438237817513631784982159200471328104142376260551999693049719033445899455640191395610599038455550308827693169940397066740711593608469227917264777079251256214270510816727920662591075900204479028536221897144025908924913852177034129886217181121598997857761450769139796879081472*x^9 - 1196888837091593486307161798900225007196202502386770337828906780892113848055176982668948634436185814709140117205856683040970944173235689185319032155162788788903681174857187410691492934659178211991317984451821737930928329652593884201209293069349019369335762060702336794286615991550766190226554890999527479867129367420441560934115845791841985170964629349630681530927253021934902938699084933957757290622643481428786347378279395815962873455940913446073735985265523623374125582788748009413710761437105704525193721344022934655159281386810719997455086264223643686180427313707382764643245092054133592968004301689324265783264996428233528073925611860557214397487378594663699199701765062656*x^7 + 495179099054521727351677934311649649864054639890731570456933582802981511119182158186391881584205537860003745667382436531715162217715345377625498563837380247868907502008084067772982188861043492169357692489947527153168805889905340329908170836501669509009348439954734800567468915586307327407321945703319951848824746172052695741714750385361205278907006785773787817725560124400172908008108605893692657307276015106757865189507813632751317590344876018673399475229314326375324036028461404249067589852488107757575417294129874762151206992904121733257801377658846969422165012823391351998489559573591935286472767182773693583116213762737542338939544628273066572495456834994309689245696*x^5 - 4380072305405811578474232905855047062842035667371024774940443379770304927234780911773879689032032669004174825306407121471533923907728285327671865809678719010865042774825581163593495204224365112237495296021105151380802181051473471292037607997034587625811807536661030893817538777236090483182933861642592041671978029404942950421194826791987695063955401297977869067989952474974754479733448743493706475520957895906975399324963397739384326775098229042819933091670468058160387862450300957592444408159931456103592064614912250536523921935338139350744117647016125153319254905032687171263454500276317278364355923938603663118942810686327978548725433218312751902912359656587264*x^3 + 11333327745666646965977471496221539400191106727123341444717710793660877435302609863398164936126801269742240595499603018904196338179409338763229734443690686975030656440724811316059750054427514782391321353414520636052122566431576026177962158522540919168209142775643386138274784990616734066192006260680972809763333184082728218969109291128929309820643783078573025875199652935400951175576125240571491420549354327140847265223428279716982984564074707883024571673367817153761359490972702166771925448566580550376434237560665486750112910853503781533275188834596284704920878355601033334177765852307682645006702951463682585354803296360590672008974599394299785206824960*x, 26712540491471473435475889155168302779591461781695119133580085856003550402938735324247351392128153946340290060536705501438347893009091829714657197369769302463639027893891664295298535627713646681542992036278312154406792622563293668902339303853513472687667817770507894475140107342695269096390388938817342295970686278617403662591441219459373048278662309226737398432405782151249236492165204771223200352801455292581251412617322209932520567852588446912504275251129336354549768568451672342461302819578894527514460035869536678858815266932434409042707259268305735427800227408062858003971854602594075764522640010307716612580852824265076969638352441114642408068704028356565057410104785476880297437431517096174359731040921227292108534253605561721543632299315077554463205118377422214443788696898681447398876631741985148730910148933909964175830285309029088544436518912000*x^210 - 368574534654969076062874939287690432843387446434917401597438878487511033091380789982293308581676343285989039550681951047547158539562914721887189361913249708121769476706236773633405015868601164731121824062225979689600713859590102105833259535022092982154557102512815464520131038639441551277522608323256619601078614073713504996445887308920757997452405679206485324886515725363520529842117430658999573484547659255273524100379527592608460197216314566000451824135523382881208829555449617296659795265052094112237788551694034195693299354044193754015641060103574739240699629865909234274709797836903803991623513289937652821469590748731907442962835718837953704091223658797910837837598149532535819527524205268112881680257914480413955237844185394545889033706106322604406787333471119154163699797849590904113884557376056538969129789284858555069459927142209059551145938124800*x^208 + 2399446749061276474156371934244276118853767288995152891419401901926977424984572651191188109515926235865487288472651336119400687028078052596758202529179216014726456535461767257611917935171793645476384991016107057832816742809529156661646607999259529589858626373417291342140155556300025125581217622977496399008705769292256808324790408595934260352738425892819156884069253164946014259941013353694899298155873981492642963959978003149361617134033468485359797536970036145030684287036516687046343530407811074920977966303532517725639926165113428488416320172517763791956935250315591324549677441660715107605325029502223433270035868460664432616704027648261914187978616588143797083205845457121259749214751154577322279082602653818808908689301060417632250949572096215902029426954198009759298323167043961817662138462547537872607526210837410725702345491118758063188056221941760*x^206 - 9782259970430959435701129173627402941790580589199913168193483379076940697080404904046097039093125353264154230643527400283087501913345909765765055710702141520033369674096376717194114307680991203139904050087643479268939982869222869308331697990428012305932884722526248699627027280514696597503106311785361009100778686948075543144812543292264915262159720640479533499764314613777578804277252603135292578239463931275868478373273403174744742084582462789477530799274294638248368879233883140480149398525378984809581681930118161707129256621704147618474311473288975854276851351340104414420172771042789034698312948576358227881016722564528874696060103180076099158385890500028851114007001301719155303719666566540202179874364377307355065314966534759628317066214056857932342407336322686024728110802923367035365025810004905473304076988413809309482720689418546658058491620491264*x^204 + 27935539757550201616645005545527648673129824361325596689525924786257749800289206405539987355224367608283443208408968199722517764999629149038794217604606468267626725971160688282029863540457507280034681758679265407978019395644549447281950494299587476730366252259873144603484417734297330049449127073796822143352383427665849232266195764398991475860237015147742731256760256443099574352159536768474294798169718159143619715586652555542004737929278238511290320853824086014520163783564218218296218587098106222999654159911724132862797092912541074458515136124886630581407165976402546045348635158534889288648275794697768711908497132189462956723409043895212543937007319761320592359071556127386402164493129792061578654665728693033794253858380011469242007554173182683469373001479609930873327628395352105419035512320804420857142096866896073306528151140659132329845210698743808*x^202 - 59153812908224344873319566223872504150305873408307090672459930352963687852561175322074734873317571064805414928978367594790136461474976392339562665625608796520392939665341759710633745891733142033672553130055888277041518128461212911595893057649089891025870521307959361703097047635532456179898652698774550968432121039879974282787434945617344714328697517354705800611738318478207245369284049163994271086621869199251845127971998086044966889301977122888495024404345505908305036620390843967098874014529865100504748906930030362302530172355637492595354377057249446637119382848002691505397076854158365530718356395891864415675792225206648874933171009527197508473428425498615141266124291363884202513279604612769369808645985031823513941594899872128213514905521655443551614328800699317567652836732334422578318914097822281338960178137647019411105858599848515654740677138317312*x^200 + 95726513378533678994492573808148269833740546975304803329264420057797876830380558340686481343321227845679236494498820386121161538520114148599022950323719020568067603611884554203292087562775839108184287158664179780932645679465076670363886795159173642229028523910177078396345931955580889602264293746870834389579800388482789570314239182668514556613303114304295674341057677653506176237393523821200314298335994865456838647078148641968308127986704964836088843033836052983156562202062670704869328742011643486235134748721200565568869247592737193220823458016939731196507146764660812192231306109218745485213483499398979998549112396391335190426687876339021431362393479127558416452842570270529894489311182811825238881097459602777857416609639808064445037842932218561402320791725114897696644010520438561827058527916686163249782927636099403532852030794985883736032610743222272*x^198 - 119846739724645397034281345624135763880222039440963971078088129626498995642134932631357806574167283529118199535211377630216730745754049298153841979454268851108105661189589759313732013602063174471329593104826407817560295923373328278412786825564792809365245430411883889086256991300458500362490379695103599663174850583951405528702017241010350385540903003111852667359296055364499231923280744397484463861936863083074147266535991661807457094831999652513857299241097879160333099696603181190749334012218645754842497646631140751722046471794466204069149730885691457186763178805369634380352708628113995822275353570140177913284650364164299549476078342302090813975461819995897082782849238313961246718005592005750948055487943247304120255607639585612871587514058380950175749623073500567587143209434246723816682890082696931858514121388557220113356056802376600344352888033640448*x^196 + 115396292829385795315907972788859025745949111135867452745777426952169403884356370100514432062972000197444752017431115877793974090754868685525566277751083719856150105890948072250056199245716142401471857629982700869258655228971733865435844322109906326390669705002276423119211311075709954181767533830033101016712020163977722857727780414681090450339618657436459344804415518824705464028650040811210948045809856984979196366231408329121970915936539024751794604194214635803814052568950039476807239973576293092272234344487863798031296740143946650412810889395754137359503963192972249084991364821210148725184336397224520736840146525891916405514316920274762091839777537342928993208018348442463128474171514581314147232856057863432916906966197310489163005518407688120680447908294725686207448972880355787467498689448593115184657923254998882690128583604915529468135733676998656*x^194 - 82377112588858672819195492866416382434310516397267806547130650286513969223232951456901967752408890048789943678994599055065032207194574252541440488920421375359296662610329775116888902711350900050773344367348365449282986042838666533145046578427452668605886439048169964017282429281501681397807934425693376747573948737367163332850428527208135421195061764087259834627596214130864951502504524489708686832148703955867991669722674274262898007565292393625980878520462201273639357499329589873591047090623729531397047720452144507042094865976428562613996152662363158026589090545641308019618859887549105902671866226779770802088141966763266170030903297464560583244259115927812465675637966678249888031139824937578561434666814500294011862548218038294773364998385490359892839335770133125411087465358493186166753481726837928794952847854216289895619496088964608540078017901232128*x^192 + 38309139046509956106726382553111790821951556792743701011520891458570738204875258290050787581754463720257394213677353194534906466871176199086650399378351938314478607319025177489944528511748735997159653574994918875841190718251851479118700038883307201534361833712823333992312525003033618556471913994249825501065684926395025438128816733407774665456351279534623945704816750644510541866926989763167218129245771715631262008022776028839843823197838071487559082428916950384935818759036768567141619037368358995160877230720126695995336986838260363495812847158026397876360607201889897922456143269193090485619748951841962089614659894586339215242093803403250351533151162927811150032883942385873534266458957814763868252757256713251174698096155096650587114690656053875914506491043625233113239638729594845108279727678239961504147878464218751610002620800402354977402243399024640*x^190 - 4156230432833441821183582817900992285247003665529467308875613381692160175750247421242136441890043603259618825941330741836240489230982012864208935613170537375993508447617212970878196066745812280827696993064539786768837424741080769861710848019064676742995604252707077854686119061126184318813533119925006162977620808272909287628094864147679717731482643884299839903578879396203350195912679431643352232798733779337621634075682908058078223090301298187460158208667219373463773620063799576726654797760105097003638429823903293726571039454907804956385594629575915442201896336200548581605100452103502573042687450216402364709752279319235909632717091379101541587416226397274813567192750574545054162814134623150824179715386686415936742413357759952486712961568943313373885757240772427228481206576653440200743956221989668555691036483923339942543131929929746269621775811739648*x^188 - 10650764130754046875123842100312944793998288519908290687134773901537451038692614061891541363188204434341395795326444020052003152389030301539205192672583094918303611095622062655714011399085635510227196484626920866431673124182311393478387776145410071142453479369814832600234757496717698416902801851315721963288387057249287348410941366792325043369696264618101685365997448878594595271659425289914324635213928420033670659699983824527023480848601378288905692104159237499886307085684726232344308346229345163212129503231483345770715376330000862818763785412472700624719276904142639952818553849667295806796692419133721959638792883892727958812500734980444887365070709924710053352574796190393497288162543421050827043442479324084365555920825647656297969788311753205586788474705896231496108387299990375162665225955884887183232273851854951532292963527651852454927564344918016*x^186 + 10514940749235247717077901698833925928420084571692929296902681207302128765611777659549561683519811363078613313232086291551528476567138487397212799593956209411882653283481368799026783016296942712338254413078126826970171195920570815385054765593167471932507939973731195191272615772801006368906520402368850233693605325123449335251798745004776758915950763287074217336397098566352376886401860209859655430274722910602584575610185271669828810641495718997733701822804090625013311981386222055920827495792290176785249739365942099486957551163606882282384665684514170415305775487289217751672015430371324759268344426369955568159199363615244422131435736687161250511388738689093974225915125241538490819600251949489896190552632983698965737890614882415709003162768957766523777231671562884262466845914760010600880057771219514432690230542076059418642143456699291934799000521146368*x^184 - 5104023443828823815490063697876522033197376826195028193329555981383126260221233962276569826807370214404730009670477769138367758479797924365564826277035562413902641513658958610757981276935575374266754649865063136061541656323424129389906310641135853415879234310663726668841928862594724907084799058237864599148382997458783758640698390369078703961647457409711482840325514048671512858716676133565615533833424258380514681889085724647314591862436514397540743545673908527586636296355018395667629697041538315684825008920323478868567584257430179483349259054840473886530521073247416249893065715604783993682017631614078498419297017334868291744515589252358870906719781362006107383812566181038676964175765360145716810613817788254787288461027873428627542407302385727770325996600747862990733548601386266992853594173777312168340696447505687438578505091559746514197997416349696*x^182 + 932466130842855754605872444099963981213629180964011658158089321381044604396809459675131229897461045269700718604555026821878619548517328267303428809513230535067256373098794172833102431555386954937814566156144668422414875169543228720703320008929501614970953790872223849173015174827906929156891793332191697646299167347767006855171042641251185381733360095852313610107975229151923289437371340754805771491957428127396339238910687195947781714263801259601812114971136031627781286582081084823569237614210940855530896625099284900979724195429744349614161331884762148615025070759396627507235527741900332983752278464643261986208380024775233500461764935014803057739299935067053430541777502119274056490312597737428524417201934869021113391197264821900957325550702446646797379849087806662294608251554676093532534343254079453792466173704002224469966082262536271654548699873280*x^180 + 571319806929444560519416043292928498841036751951030291344390350940464416443077020486942899438327050286182784219286870662206109004551712442739035023904066725058010271760042159372819997753360109593421457767267947300410981562168373105574711458800744617769192182840465270912000902939779143555393680746946547246542420871920376691462766072066052897302237224079603652455829514595276734772697542228553220771057651342602004643231897969458385975816456088561091189340768456540702856643447444017250005683219784947176867158958891644522508020875520080387916833810241382328275362586561861171780860366585391218264546361876319237705795016783438242162834476503397059100295079354157383596419604303160860518936934185095750361451641692599587770155461175319308296722206798338331402232941893168028799699765690024660626338676957481409831595130560035734656827382632039480702825136128*x^178 - 557708952190612005696804690930936186179957566947062523558036353026503432180860217967919835719354627656456007673139198379365799946687265788389748457726166355137130022261630812914558142529706036846257884374106065653279502626243611391025272964866776474979437126895152326629269672467192555584461039232130419690605978781864646860362599794907311219217311975033984725912528741519911929759270233902437579140164596830756106346353569653131401760614333928864917756585095030720095268874610186532623103454559495638379347142208928648810018862793808556329544456841438901341063110133893256000018453310306949784166451919027781732132692757511518603784599114839928402558486120911079603224034573212512471687073035915727818852434713374561013529233240013873145590694680205399776749940617125426104864185992652985131432128344211161824640084987694514508715882455215079116270022426624*x^176 + 225092504220207626429808237543412307196914538905262615440427193302313404346874331885111053593220723617933487233324712247172680927340300875968105958775038923174969925103730338475282503445933386129326806627307713118918849864946263989126383359344748742817751135059653517116820621933695143617575978476312251198607406491599365645960232393591212296884770512456324186961532276048062458792461213122064947165483541875399261925330654643543615247932329592542618280566411408464645032223304987626626228992614082051518432224081410970507396425476244257520519763754515112490718154245589560533953444774374369391767604468198722671707227243592862279884652269997885561268495461721513202164342549660180509763035080648552227791945241661495333869354773024564806240282976317833771447918158402576920982186741008069003121142396081620701002671398309401739462099813513015652204538757120*x^174 - 33588153427154157635195938262294474041542306051473022119628014190109413387619055535682366550102795027184228660477629034275557882280499475263801956983265663316160038183550968214666575747761696517760580240100042593282521314995922551818689991149041191982972277495018391290456969499422998546363871947466663879008533604383770906588678714250035209467914957988476913975165476505442172775805331264854176943524693624734351073746311945031077281398516610344716448871276903097799270270466207804837386616081226921225995215627595437125519367543794990010430678119100175537317528507626303769848146229790365196044580973756573690728085183260398428205090882140182404782871312344872006210957140149281125841155284521566820886615099418568757373469080827418034273652191587414339350974081542690085418786686561854035148052207336500004485577498396310540263825164558187421984689750016*x^172 - 15398412519970619346963795231241423918388574031106607417997308135597092386131648433251271391622340447501377371753440853240454470171713840551365356489323515035937822090530288090886998823038800154515574452548031680750209472745597217506400373701301793063607887013997016438743005955831261937379298305687448389037036580970379027721947287650030454387018297045764123542988551056773474142644804903838481997920825810882520599900304848978232850456296545688314641433606287746345133871972517584585494789428118764112957261634630487093376243748729645508792058028307266446073453273016159992372214191745988686366018953481313426053526144343152115305840966663915253601870473094627766834736702639503241295032060722081353139327638748154676117108230988493246946458058049099856003075522776513365463087134538794072037783108879885664348764536454269337159341533016143600828054241280*x^170 + 12155200538472287586934021766710373076334885974638260518494384645302877430288264525475640991252533457023584651099906589331141978394176937568433261307663731239403598251400542525835124382348856267649138687951230104409538141695895388981732854325972067689550615335705321959804579466653143590434231474630983115041451863135579453445680277244382914816393164601864563105432426623268335328326092247066717231902742537239702008874212422556650785491197405103009707889475698135339285705317156145713652267351821941619432118259015232691971166506305909204358583839954023021874377268079933484103994344351629080049070338179117272615535340581791207975521093865143506779349618897564647072046246972441692974440362056316216007494358844313010321391325343345804711510405093752810641030548072690813574740907697762262398460743814138814757573517038279542522967136342349691265352728576*x^168 - 4049243161201360669576345339216633645980600435235198516562797105500955203773578130734280069409691707897816321304763361779427701770766068694744462174315737518680282885050266701963146269617190175561223969416467674434868854880154556591923510112440173840298375023701337703535975777220736210786162105905460295960591261665861351545379532449190862531991453870485648944100427787708186684821740108762478912984050296482722352306162710074578734137699562772159543025048721168705712298063758643281006866340741697381761240204282262033160070263470652736510228455407816679249225783696483513496184926925327093870049923271052219577793674228132006413431019376338784711466234501316527646047843548771106794943611273455013531847462473196911802081635340398554207270308610128385752973076864723783680807098027939077434397052655915301140455941982455777705365901895057015542867034112*x^166 + 612798031001801027934250494227420307272270200402194445778202436008080514689553761902110523733919767096325755866816607365865840393691796550661424919166454581694875309967366503549128939470460895272846293701998585777750671081460451758380020214626139659830073290779525495152515066282093159698249356674647757251883404578661358329210489239734252044887974657216289807346882625016016867039844317543577739047069632877136784674926160412870162288203689388993192589912422211560774172394702374379928224996345231368545410932111400153557221770277798175686721121179991250974637631683726492834733175731219046858911926499825995877489738989973162782396378137720667585818907481344662324166491498659179111147820779889763294686756660267901424072157920443371141303696874155866578163727201871228145308544783516850696167016375892652504160516255033114697228358466176985373471670272*x^164 + 96409425005175698674751542824994589351476199481484554505571556497257418202268340338836955198717298656027055392285294338011490058033235762345202720207347415462622204222458702339155374320142784677909243095212478664185437724229467629688603517033873522575869785389955575811312395313033343577778790303326718303815960794392986232540157192343167387313494481767587345267103800846177501904096013984994220876948523536697938402977322542780768776511554561233022794731498386097632415172494504377455738167667641369650070160256413334104087564054359006809936163162970938591986872591020458786879477800852308967332464503506231229062108444898298739178769768721754581203293754033651388183093122861986736116109528251461821611761936570576895877968138816134501429022983197636211200619251594958177001620781481959308250386667328472931794076118840223776964708311553113536356941824*x^162 - 90205056108645177509985745960428708803914791187338346015685070814365665655517811979129974858840951032940621040142637977792310703048750217536599009845371401480304084461819407071956354078297397310341629624158659999761675020140474200922574216094557508276563855817366284809571169968139318268017799371587160605289459839759598413655964856088618441086586591940706831535979139689788557696729112075120905361792996535332515002520671261954909868104354221657019489946014457464186275873729688006478098695947154254581094725710448451671500046199303332304905200253207441958262897799782368218858264041564981446745900778393982621163251423614957706997690660675671065257388226869460838592828221512387478210509718895199326491544192641973437283911781626416107088279142679213119533781766984461036451972147236820675574068580479224491270903138347333300928888050357281228194840576*x^160 + 30762696866270744744838283351646926788696369378849004264796515419025063096485108332934953298193893445396737188855467420909280065555571377424349025045503001395109299028648475349497880428101804420000964752498771728345884239215599043717065120314818575832945385788137286756139072691923492168999189486207888683442869954327287866709734943356753799146096872763349322458480619461861935376015431502917555830602118804789280795868503713998488591032216415348863840464566294442111468685135571676099430941134361164583572253197328667076706606831700558687030910710476005288763685922351091822272670623242458837255395891728934765446904806230924747453064337479781507190242466612844994243499052339613196532487109398011470800466536723747107714579477495875923433593956138284877367115879744288209412384208242748541205985198907907914030324535132713508608167059444990245131517952*x^158 - 7005161342887676353483578407929437738687565604823482579348192530325437833161974290652182697643313056865580541208236254473197688127034930105083599303172821623869330233729089896967208572320983496999972190752365113565907154919110604968373680617462674981908703531427269102046722266408612029283327900673457503378178578055938255602021473841112349580581868208216006452250100939668304862452395997481570922191619829088228051556708474002991255946629027142899396379937885426616538811086376344430775095651444509068290552512472744601798923837742146426186740978869866337308254622470675325198918296664309855358662585968522248940908628538962805904506278676952180909257891403197020647098057353095911182196741171105589673001400414102237144217122864794583495995180708546203709595724965447294677104170575328903350395482805512074485950058070898358740850558729974882003582976*x^156 + 1179757982974397996994343536802654735136654029120489328097581370862700720346720956591523488100751991120694945829000133648225454633985709281877727167736541137340547511897954914225403216477903348785362660739680230425008587292064061028338350390044013045011404917582919509959568605105326592990287989135624931583960349083761056907641239350381408944214683234924754871715433896231851168651439955998796116787757208098760002334737214773928747638820659756317441909853358278540523782077552169491827091065781437796006484422836443197343036326500531319219202905179381366165532428330904491559334562595797392048929064323285613793456135135451134042647749854960975119918091845276873322042395793303099659781452966372544950911207644122488182831477951730628656394097576411547581349190439880179606375578612374799653272037031515875458609906194526630672683517028587959153065984*x^154 - 151215960080558483925872654668201470413337524136026514775487205477500653565656519217671095802552729578439387208852871231703868669645131404696074550562013472109389826528489354859152285720352419885597901558936722148684354375408402955530483349558446819814760218276274501122583032679308893679452150110087068693338130578155901081410204518486995722435917001436846686780213051339788332700943328633447388959026495779961563531077964486590875709727157008715507834502408362118510875252554736388643132430480684411700327279914335309964992448352702505475636552346880421820476694145633524700495772132267508174510378250592990490702382222563402750959622975657465046945812857967522117975760475718029123742926813934450073557272081384524389473926652567946459335406634138919887095562972865169162520678598737303302619203181369423512291223070053142062073355326206895586279424*x^152 + 14784810226012425687670256248763791865757164394610056008928822056865953768801803904873803172451132068201554386002331262842731452469110497846314398318238392980370950940033477329464943523205988319153454203650374392464761796570519347394642258498640560165218438532923738958326703050094612018510704165042191868950987995703141838533646745953162452170209158201826873950633914483177132003969655882222832745436129845595120358245617862879588179337347027215948915829830373306313331295792787249954901975360116926606268948002703393638427586727742242205075446308893570282636733920731501487607000131341963325680331127161446843667869694791138071793688071063921715074098575716870258484908075965379014915137888386886861200585213038774481989854877116024309719486595076252853781101020853125834266975486221546362477503586580576197079625307928169661404806311494529455226880*x^150 - 1086711929116707875446409901341663666447191810013943343150870793519838650553627740559201891460575008873024336837664619599112129357173385825245857762248786337032765035165075830130072979388889492767078572127769106891840798447968479363318006939244302612681928205508910428557370604784496925748374154412330540128771773572706388998786655769764659627109067692914508575806766320814755418769408513120715291758737416695704149594600811700252304484076447102291750448952970363097603288396916351527330777483433050891510945604049449081287385489732234038759633906944552951984435531928698158519584266499925775012349892176891374527569379531222082438766593501588586450826253184927744465435048262967781242510686732824238257798731143623275620019810770061791877592924278798992072094891707875152321990728778043626964509024646246069157100210122396969832483160449205818884096*x^148 + 57852861104510661560652959003088614471610995146494780679107140938947844769797308668489788548073532048797173930663824484216371608821964350603688551340026495147661436917312048274101360989764681808964723124672011916193819948487801560017423886388928721184859799055428763624374935448415448694952195130184410831867008098652963408346682408026892170713239865940867544722000285919331925017723239248012077098183040973695626466015590872766661168124121882089023397050697263075724313007070574943147744187938350290033014292992124215528427638580432417907153960241367076364855686950754019596616547045751722006008025643719887429147697055549692069592876706417091847031386289338519092839172339052715235243423129165365262436206485732093117980380737304908471900734721894885112546761824291642277261188484091549568646731276456755788173492954441134662341000661613540278272*x^146 - 2005734015880393393832105354651690331994056506545602119875665105588430080235325972041268880842269246692335043145527125405402640817451487782544513276533704155683301496215378388693280322371937111908465845031853597141244396454911481591955425058572726641353008592227647865686791706506785628876272550923955023422516934042074145088887195630728117472677779034823097415897323787847510182416023890533105110407965836728701816980245307565878382542743613047531479329633538773350093440329623242083389898344461028656553318649635274654167712560877887424263638788224181302337995124002105468768469805811153763139615730580023274040298610059640852255626584629884685544808993026048977862686420682554906258339824239874179076672813599015264942002787575472754318075803092549175762279142937885194264385688229856856908909681083834159607473422807060841315590846934648094720*x^144 + 23327880512428266900747361135081587651850876351295066315422494499821507498769485838348864065874625903646581425920625955366172718682929322749776541102020942276533766600367148735899303379037107923290478145172256445412093358900492233195594677026746482431626545717139607536651663715152307013627084781923974555126038105410792552852507495548306030706529663833137979372229450005649964744279560513631457091692576961775807706310579944636073331339234938963358689523846796221524696464450838310622792740307987955475700793974743410009289614434246343193576225679767545051192334505810122342633636393919825124904537883752183085732565298801477125967461684234352608182560805640149708178304624448818940049684724888757936885237424452683918471234477301327678308258558868527042915533897962578774722323553909190199078435132523624707882001736432707802306302012966305792*x^142 + 2059096054909215651983633313587085190945919891193033035763481431525580735434185865451578062985778859868585158287314777237723371294824268165145230199913685627977344629563382667588447630583600593692512368302171569769253650065999659615017131800583126161612663341014128988213156370983779444993785377855578065347981628604877989079440708489639233643985642791596324153111012893314610369784242495369888441036265295121765216105406585531495751628576986238436721309386996139031062662941113147249185942485481853937805026009534844549708277312259292364970602214912353862196429074492071704613809339551019724984373359987492477318617304537763553162564985676255178235323365030251821258571707645776614822318506735598473171236885970506004535081638940098879305001941100844511798114792877525176266528693477012909769561983584213661004605653617060963116284534778232832*x^140 - 146270836934227219130085059664459472518534289073799308024799293143319955131522973100836706804169191879478151841689280671321932449762531459629247543369844925300503537907936993458046807942308867105543193218767666603256426050507270052007826366953889157900150483602322779570110883804817548022828880590946116110362344889657553456645408769154736407641476736774206343139381352393838321897610015671384896066862717951320043806587677434108744559146247918615239938027852561447381225010522505502027238637342759700624063503515778028631285022491919684995416096660353246658208039589405579883296961809476605639640426153037877286167463393121060477472897244791053755740725622239346609737430400652931481914972941282248166465756289443352980660998708598963010078816032488087889010404108732481522709698225918063900802014791588851643983795173090943732197941986721792*x^138 + 3472036592910942334194599616609737132717524438846784157059231337554285931573443175654130655156683184830611553526083921904552857090010622970959855779933802363756836835489449338210178515382937044737987337210512205877890250446980046600841387754182408989963696546703603655986224863103114406472117449244393910599011425533319746496482997037379626208027333292879046440937538392721818066636995679200168034803575608794549927721689272404010722324860473225390094710151894408505458092949616980872897287587436751966501699140617799077915028843497665526856465449588795033703938323274868736668178247299098437935121866999681246748860338427538485027966762388259371929110711157924158367361025413779997936209995216239241695256749415496009528309733019453836049106014114711992375786878078108924291697534648703698195779643699849983350256476524790247733837749551104*x^136 + 91857870974867517604929848970020556987825029537474891069527685465936545894871304594353952640039430992656882164115694928534368693942768421721657235506719689661191146781496186326786174296322282693641895594677976737487833945379016637656557006198382210232347181148085682890192416570803773477553831551325992517254929667004799510083669078598315990698966607520859086534861207155895933014575775770930647737346704505680162886995632571356638643333401272737945632737350916849714014370211383830652828098513856330657268235303246314448128283035455011521115706115301633130736064380320301370536079549975483925155335135617645114405068198862623145970016669878765956697785606359318419692315540325271738601414715776486275815578992123735350797562942951516851674443548846958976077845309474334071129503439166374463834649553334677234602749537906025019075662446592*x^134 - 8639370790269848271672035605211697432776539626363822518199678300767126721846645652761337468650531886933490183933727977562306141938194559584652433785193369932763547758600753908645587660724835641486050536334234048013788391680885706873220036264511155738228892524332373460633010240107768328742605034223366884790207809774584452328244193151569380610663614955825114124353878691410117808593002158416854244594231032278137269527318463290622202408701585090259937835966761167440268556694445703415118952274994246888214835050575887867289266630423360571031605299062509498051418952103495156562463090690777171551501163366918806604889867146698797575897311803105520323700580149476833759404692189990511966076912488226552482911247948856496976703438022358984037627238630944757705001438574599368773147047314704407805184669669577027356658877567431491464437170176*x^132 + 157261030200837019547341480493446786293125905206628537429021751219170316461986319893778764571087479720833770737502609732316319049090520073801070339585471303610629221589080261449885584038423064984885497613798399116400783997211477083323215785081391465643808883420345443278756421388525619755713869419000880994569563216311891872012371155369959692270717705119954635078342403729957639448501911669059542664643007929665572185630200575769363069657148472533772840427848925294336033132369383839299821411855288608430889362426200479144279546582473521267661959054123107789900096103045448130442041657913492936149237978335418018520340923964595090426564622649776121629020738187048094579159336556420790221954244898883154053656818551464928722399298721182392347608936424337900273805780722139026031299686380557782655035840986559446849820816723663748996268032*x^130 + 5235556579438286166546021289972348428726171323603879801559649745898093144495679182644688037616766463896899800286048279184170820689821383564690380304828448099076118808517619441503345604880715710055570794083090925635924952365400256274184826657967265886711074093959194404008197030060272100427765027283551133859266850476470106299514458044422250363057610589621464744152465556374780715110079052633645398145618289856949867901876886580929915436245934285867704264750539948184189667465293355136334334287588542475802072080512088177550528739974252619860691679944844950050607068291463364445400098683891533536411258203197115911424222822025440630524980325887973658289708633812837984349822357637204253268351830454306301999706783930973564457264095562737274699323029537311941077872145916512831528391999682197436543007927743622109699672883735712411680768*x^128 - 260223483643754246681409304240681042938612629410831644461563020734908105369391244223551750950646278617659859675489541772625162131258875057235774957706177194540551895483399116349080141392803299713850278998355121044358887310101841419431571645009075903896092024938875985764287006168682347589766522238585147128360129262207420902195534530598209387179119279511710384434397843072965834347168781116396731709720498176440907940286237455455066456136975599846040623873872819601327715443338158736190577806526288381161610958940465816291116310682555418149438069403496147422714326420977372756100418377435559668611660588096757909596383541106927352226086850691719560080662397526114032970691308978077494244154072368406111385957691147730411337422171777596692989165467396843012202373955167992948696198841369591663535516798225572124845297668369429009793024*x^126 + 634051677415458393028968618255468308274810331648848609935336586436637229572895849208169144342153805198048529089490494104468588593600415767357587109166774650576568251582097588410658623870616130586713631314810886005941627099341413069247240723951065438557586552081182218240401848864441919389491239294604811359494498901786113058754447116465390461356442449162717660840482400524352205467248472589396598726829355171474123641856616189645208454615811837694830746304530364525794696625581625052910705808773864323325210089379369209818607051575671091747083530705468422089358201202059327629025881718049505069115501659084510589323468164775499563622155982202095925320342179790105057084406810698567640127335292076218361105318190823371055986177109118302137084200671127802880263167500370211587023501246800915031607323038599132187678931045331037585408*x^124 + 166629466298070943123032522860762043356132184581469804757082751400767607300249286782638004740785975007012958102104240835449863726572673659361430387360978356813556352199008230879104376893977547763998923458710820603167804690191569165140197655254325325513694073827130102169936119973522320825441097469384023060843982935862606776931534621920629095199516197851725487968767161120255437818646126241233528744611610615423449399007770607017069134406595590696021519539319190203425591314649842605482857906908205241900861981231422239482817236475370401528104845967130367774030507471309931877303496390614608932736366509389680705093464933917766602142098393275165343382671495103537648428475080513675541787400657056858720708450120830254318369791815004517757045792850638153382655198808399751257883735441877873401650903685909182980823939462940548136960*x^122 - 2526643365058483591129050529449655374020225367808006236295860458686898209112414414660185888732065470227195862322943287299382007452602374019020983167026331998949798593330378973851850139908694806908176756720392840580190009470216138023721581925382926637326306797587781002144290882633215700741249162331215589684851927073496980102743424931322961854485343307728196627645504051292651116254563081233805358473583006239106053579937618930387752487610409213667856221739028934937291751163954853663398695036418418498519194213096158713197734314121980074533952450769285449916790254860169475010501879966329247725272092278117563643250863440067002125181811785855652381923965405594001256960102801170688643254197216868211145172671203633904035211740932839955745630032338617588040302207262443913696653818286850724802264144749705160634187161726059806720*x^120 - 57105711780154182724712755528799761802823995037631940001198528876480029716776882423186118899135005492523656010796676565910507245437651190166623268535158418050343393043895322056234777590773729746481731243228340881216457738191817774724768895836555497028463070026903458928271661957073014986103791178456742805800559876129571595342547586634504598773433970595119988656497480921174515108611462796539668472868126693396033479037130211510749401664470847521908781843150120462686930857725972157830772252741118314716034982074738085628567504041041009185132729135237427709186835107549957089668856383416139215198088872255281171419322478166111835333133230983563307161192044118838517692897354434004027350075132173085060951845351497872908963285977368343767694199570318925430543614426383076590258497148875321162630255123933109365963514931021086720*x^118 + 1650191022971424922989969999710335801575017962108301409292262145842305154633970171140173363505094909555719990034599579973257549900908620119741087519676136608996366240476619560930931278271721753887553812539221214378440305837907516511130943063067452874391604447576029984084770699252287812735577684863114906232318585089341265777539479228095738877256552178820255636216662460557735502411813198029848570741603491855669541781679861565371148942131944472479661843808646188218844757738931339875965775438532936621091118533821034596586007563700364652896596480729082426476563433554547742850457399686045524643132170831780798296866905196634267138338658743683334582482191656537359221369535463004464233191466896950670734241829042971287587197323342397131284768099325916337004853359413759036680135284744324218665580940338763254453115665057316864*x^116 + 9212043679937777205353454354328043498470628566590690076424205252637569019352972192245126427806011066066911559356746325292960866819919902479647905961321164118061835197603906938699352800942689087303810929479275707059774798214161473035783253698836489143515965253155550776585421009989564884231762102324832448077767349876862753391991791954837140906843313116728499837640856288846971844390837863307663698458313088418111160978026727449359217647311767939327784198927165792404247952682504343917942517636119695703230384613653041438797713016181785906823191227695685504600296980044843031873642513950551069203420715416946200194100783630258155584403433428384428711332344421816314011497586004395462105608378448001461893689989771216419071572097874761246218473994371331107095378765005385855777695093426225799423888099842387679474116810768384*x^114 - 624850511566110691010259235069638457913788196209821182993532748123122315734674310831266729364948051588262737730771967916807503890406925092552373552230709708554898224868833784221510227681009107744740179546418804901856936794991052518961754955554808235286551199863221424366828371758360513441085467211743713673877460457994103043225769984184393862332519658140170012847238582218190568833541983899356682126664645377831742925991337779917491597828253224760749359824840509948544556862029536481846046380925720023168610776244387633842270528924958910242218487539511014525492670335602387109938321153463485125850598485342846230243261455363167533624467654963891793500432789937580962586182026291513098124822563202576966884246377831658089621826839207641141799473925493422724378297338399095625621258782822389501615537082726382087268533796864*x^112 + 776333580054094921198317978646608986060191292629176527457967710223722001693120679188854185880755469895220170430858564401429532129535331717285031834359579760840200395614285556039226479355966238085818671953684607395608156453825685851248050370527766082315473828797661886978719097984878680132353578076267640164539101641628873612928187734942769791580689832094428088572951829765556803142213307678375634299555110898189619258891923132917499843837090374810670278585588213952969421504208299721994174971420757919533937430402344489199960550266128282540336017654370522812907696516817807136353400123052647908708309851828761036074553476654048173288015965460594052895809764340101748020965165073714668800075011170349915069226211214630119758357300057063438035045674835790591012941941750819988148344004604474800412973904505661219227566080*x^110 + 161863592232433082149148215568969752486562113867542661351543268729631392216305343943762870817267439364547073117303632734160248082156744988440928629674412320908309791044809773641663869626038949466736142982817540114707078682854524048849548081953725787326433961235522464495538966367396240026273752487483649741492959668652854059156750312602371984774942360594017910347457001398628069498386948086592424118089123702913822892135979089583452803335260598207704976055673155262476114557042349551910231749627428214198685004173653869717535398723544630789357144831399221979791547281433443733287723043209758339322826887187570012740550632785279298370192899494566150589244142001137850527902547325020190420254052975985216608854472279752812125148217408799666398394129279748997932150229950187808088055201096588578005214456307176691415908352*x^108 - 843032859653073398092886963296029805596829694361934933971622564665440904485612581335569048493649806468843810479307059781406058481544419177842977677739960113140847883186482108732139965787626678642849344318051385928618365579515432575470615662127526416244953402187671204194463339019694353792161402800191402548200585559085491567101073202791598037216731163439981167355278473980511463769268122997984826320218442215396177480778833578787432586812182000895733029638655337975677985703417257412573231102509100423355164853142956205261981071128288954059378659350626174152790109627684640875796248132775698164863359729260424728649160912537434626434200118547230309503099071717721254152920928143441288714351710572169389179390106171344369720530391317727274774112894765091651232487838254206509652353474739718706640274684582425794707456*x^106 - 30504058278548743352725283606222594947143101461133036193446979152035423707250401790401586386504561972741968899733237723282189440942916456423305667725677928357430503455417309179175954600846027343602872223231659677184962704543827262571009710160253835114392962565962039503541514846524280206922546045754576309203837323129406153487811716024599117756240583465263727247431772171403805610618639905414055279848919489410415077537588761742239626050406330040796112776084989710918088041929124815521373157490757602041087372751451846548889664582300686463088786357348574254384142817187440529500163445260040307698337969336553437749527196620493736262893836186767985847224098686008295894022821086387832962387035825632131562158542435424558612779532011484800041234305112176566593939497706298768058817173005320822594581342888870117638144*x^104 + 243544472735071678876457556552554522894356326998381791053211651478396834634981555236949522601984249626435190342600898457842392356689457507466619349946623332782941468606774052293167334207989998742199150671824093812719862942669434664200360133681530761517278283133386755313755461616826924442332622020778644374063019246179711210084570236309128226274187869852064068855843363999342932144672660051052609234363480599662284356987435374538865847686453674546446306134538066256763306977323432894962089056567851208771816785397767842948163268359619785111525070826765569514752705657365168333724648286293427853272099570745623091039050183827920481054106892986363537016553936552141689308783027592241558754082173505407330711441430841648820833240197572518464549350106904487529314580834942134188960801647993787512790492013606069075968*x^102 + 4291759673642806422738111282617617877738362775583990799399582330391329341486781269067192928789813329106121472669397832628987684997307991817575299024436183555401323016337311392764966699760976699545493740457166960222828904753057432359269287470422132079990215506787478431695733426052282218953165144400125213428317658702268111782995112008762362225780798438138761554505543859283589442054602908613452096439920722305460039125232599705833480057246818380786935591427612830295436703094077025990267502318048154250190757159059286952033738561241290704252115165938196894995168167427171192875853524717636243222388026592755650644838871274916227282526791685469522907209147150090345280885278516980909700841015782777171539681167264398557194127507402673146116742038523480751093012615177502146692445274630575218070955404576908378112*x^100 - 43787987230771901498654672270583875965348573599043782204613600804302648477442596408492377935348147883336933429254884356486890908380793925848052473452931872853817594775670285623817106448781191475767469795211542711758297515270195345273168766229316879695687419418279764674575390566189591659832456255036094318733462138332644210383675237058802046230019835636042576038799281907279670416854056205545833613916593336518324766527809654721708120656069547652040239160492812619427260407438006417542422242949373788564807460869153521297844014458718142397179683301979592655056808706082843916402348858109007302787652031410932361434503628341328360754573860251031317647229505155117280188185236018655023830958269322099449111873714346811210066944296295390860368751356687655506477073345659989296400786416980580707220813882977157120*x^98 - 451987148725845757295010438539849102143542188865170109946211085238204722564298538236199015776476394122157795182330930275432255152529440889415334768796932976419037346488075499373772539705498819384176664380233345038997326003660835708434263224412725697286722369282803834140918464241743228288861069684394170736287226640400943622027151241560639900955435608420160591710386267718433042520410072551294621112182019986132483952083205178701940305428345549025474333852867610190719958724485268036812540769397352129729360676004631711699131733035037475620412715409302279517151929384898525569798688418061023311690826507926996108130055208665245715263394378380811344999392950141550625976695355979135596988911880139825489432044990981513571544998596277652306676044391493336912920744507538964859924966924473504501354094703673344*x^96 + 5562137313691520137138279261672486561423125708276400961243445952130447511465914532213458739991100929464874221882879201386702572169499200419304339383397733685536659918207355105795370568005294696622301249819063532243109294405181496825474635285158308206208537261850073047937440692991078194120074134976912332593242734012633269659252208424434344192492856753151813754803752260176918262521586649999849251121531251243484938983700342213587917490753619429947102371518986523039870801332765369426849154131357002524993000369240989260803819988100648770339394404284199480377127619283497643155813554808851446716649473608670367909014937181313410976018228226104908849663713309755203119794381692646778828507098649730223344572025603912318719393264807174252357228596813854926550173418787364596588731892220995579957433906233344*x^94 + 34735974357194117945113953428419175268859673530443632793675234204527341850760851459232133158521819191072556056276907959613540433051986310093102282888470112771437505152967990911622358320021568635651767895266610109230402073638293847411925618199724541553789209693204834199445219641070470024916809101371261961696913699282988055238779430837902160690475702605856548155095859077148665891163883580233580757921977682947687661070442323915360627856321505810147892375334352673929406871858577104336900468553055722924341934240165942440442151415148744284264279566910292817809904083666431046580569540105690181928851941762861491356212184304199826856874005394811799331195336855742807123296931933203876269832418287399240007108345123008289777790084062813713540285366963373260918380698432238482503385519130584545715508215808*x^92 - 522118159450649305774179890357795358113156330131598051451409581890556493033677675790081325477341050517594791155826733905950434785912777034284191120095860368876102713339080622725418627071182952732262928456804369276223594746984249757924843965011305458989302781457282171367099795818033213167708311661562802857698235592653752211001501425075456963257651316525216627470828420920559068817822252025997728684193822601841384773004456878895417000241855141467256887528236089244674857249922638228642531688933793004119988047001398100159213100156300217206189800386808845531197977829041192785860953925086357263979126059477020624285431164928310692023169425624608027009557513679050581559610931653048607925617722273580119582379924515826943213699121309145823205351209634962478993732615919002175460152011512510962305335296*x^90 - 1793166329411765455674977803709063303649935220078163619294728028689186758969151403352373673059146634061630155837153344964476993186672271781428345445243298992629724831240955184767202524807262480957194186142938885472291860247569318686834112359792849391576534437140458322140972277721502558376849377632455697461746470992187227722124098328851789019428954093950687620873087089503859277043514789257512925893753412758297900455004075473785402458178247127422705329898854344238305700729280962976767017643619788590707119434858968097815532118998615967822101251367515592553272017776554116270055337627991393210074405496523709541687039352161537307221853511065594528239090436660893232869406849134431897033266395574153427513857441785732862968891935746064119790742500391293956263606865321646305562729975478276954521600*x^88 + 37004611185046792398106193589816787882144106298799739511293929160027305934315805623905387547761402224813008734065950258235851297993926882979088041706502657227702438518213388777949624705833689431475176765733628470837096443036344018122229359665272098299053395739120236244799666474503719972916603994084619772644635156838971757247732942306350849840991893399708269331772584794174813393530726638859174716375012163437989341626678232849444959091239929046249401015842116960030977093761231927384613003923553172321020946092111361960592068192685267038807889212681109455629834355290482495789979281582225609830980343126044796520740980318440849495254459342132243666413487755467284803396433468569264406130030292446076515294795306672977298748458427186281279798835628902060716324514315308315634605228966867277709312*x^86 + 44742743085213893472917949775585763467736988183175664646401525489137220630318276975999208051017139493888969515676901001176952543499384510010525247117352670719351186281334505603654234779620147509244574459043050154689485211913967017191950244530121317399287084062302658599106726893057845722733866085320952121398691305532892759680455337186166913077261658244027115238497299451772446300512234683144618596206511353360404650684590690453545421155583871732393060848560931156955075226158399382829985867687659296285891637305947419815429611929731236408384406408943973819161879087724428659359258330562499241714697985396060512991313666385790230911084495616928210507156782679374265973526666128099054764773001558983260359082005842653326857484451292356474228347764969094678181569534475082703035597774537072050176*x^84 - 1992147380522492310361205835905373111824258921064660006333303849048140951731347805532304672367100981014692551380660499526180641117645562096186399209385556561987969650310600688295220980133458299131018412199309999770869930384307855665548686622191135872419089090837792432184680717722421995281141504249092506814279669766739081051566500998981690684741594769164070031234233395835474240865212979369048844746472639781427062269548286715064782681950946303384434120429891527166916504407286407063455278436270668356298495217874856975039838491752312115399145170891284067381557846402133270080417223569515566950412998065528965876418669192693834237482252439306867556012250434204756819789708809956530033033767991191915440948747844405766014365839145011627272296181659511052928082857810890716433924358855018414080*x^82 + 1321689317928792178316460486018363481506419539609576136428669992718726855448528283782244779489121491311610971824680966365155785507062475961783019777123386737072019180966400337673739819172294965973001187293269934738206857336374882952134553271926613094212780787593840954190787675654514687872383261717800698697861856111906833804892221244088275588522705209566445928225344384387663478147341910678950771959014409044696991724452014969206627743237928496485278594814778422311925363763216159938904385234144915280792645085601251954815995829018958740602867325756619742964140035227350336268176193508187580113541893139680149233639113994298100891425074260132421297990469262333988926332606698237778319410815720467754770326840905405006801122419096949802506087521810714807381055484320363568705743512636751872*x^80 + 79941603963366015845204858568231466761010528960451059834228408979263397347271204215327675089593287334558043820084362582292675644446098628624140911048735630404701744303248539792863906755985401120735085687241049730003356870165539523795202496959488073410527565326731623513356954120615063206786412056548867209692409750233185082721906379909923935205060568654592971114111238791476705328853594198225298873817312308149757968947871674488164655139198851026115814301534160522704778603827473201027190937556268457835749315065638259069463171932957633956700758518841833896796867238797024412878077399295952411206915841095778910665349137124656974649724899239715047649279128112057044953659772518462974061812831989378290587738419533022796759458968890600504814474559861393376871997597823540957080687363489792*x^78 - 189027212412238940602620048878921243562658434299272287906307083208866834409025195705504714591798483386682161753164150541086824824640009777253975622086677886994727039236676557930370605436941776556886099951221406081549125193619050761829740416574923296001977969393721146320597817728185213975329328703514819049520248586278983423208734764808913728749349042281024786459000787430217693989210886981415747196158938285029792995767129362047312709564329022984009425758860058297687183753639220414130097775275180232994065649768291925164456525471661326341063400288776720201638147694108650975358744409778659384137057584123563992389080069721861379706229728179159513482135948861800864234919313769173085850646663765107314456786138807142656780396064800549706068751371518758068202334660772318953261370441728*x^76 - 2291353328941140144483313525580964622177601638589253404690827639449935445136187836838099963499043391080026765685922283667458452830891827938618426826171072193926009174930653658296176301656507912611535963837341985870476982134990468091938689421183756099861330273949890163271270996535205092184602021232643926243988673502330379711652162528063449603390789444276233161084804556795548466621740072316424325654439674802744680089842473871329613449485927956567647828703671591121467075425182459125957445155730718039622302229820069704342926468736771966839852184914414027410933708605652329078050752966851505096633406645371879551410538347870305645925245590827331114375174091273646943512762599065377819342700668612423266152662194552753707975611746270112971626854203092088731327698130072304996501684224*x^74 + 9638175036698793379085434442428170026599051788610434430943765960313743176418623748848264448560584156534029510949829452136433713572672317828693463290087722707865081491455246093544873149145381541505263972551848917517899049613700799763759507842551655250054417089294331177594944028258708268294484324654710386915534195410154011428832835649621517703333585543746276637179829961546044848863256947647863526885104008235644042247070062702743693042362387364111116853429556120923166459266233987357470146258952268293039472643037470826898290249690615268467472784793642697511603184064268834441731506762534718663364688020195594565313031597247678641707177262569008087513377637696280785892966715641302956753769773894098660335493769854312617880296291299680538661536424208257635758035654374446950514688*x^72 + 42443235720799742667168833553624160290736945718843441425027104647284965657432100286885097690543040320095279674046837645332209986776793117046472299103456456836121825828800066265421549775637505352232017983014617898675624712965645499769864168541614075989974421297257985218758527070184982102829042896104262311285660984816794824097015922188313100423231151895613609574882811926885008152581457033414206920158094841363286955358728747187368661516620610124413568664365055401778125466921127318642041741023158394042919726103174223402835512979810722561086664961921538309715233506774979047874758142119146270458783627435378886976019354432716282248754994867231410080293133956683505213769219589372732008646638651522562015358597450604423497512068101289326166616387576495031212575011882858417487872*x^70 - 300789164135736171254635593476918238279246981148088485083190397534191839658896992404634730758248579480256301278321915264250390810907343337909349487996629272243938131010635412029246424881654572192935827725008455183412259702730261992374819944212843655558107321524702815670155012015349153153473010927369318536263620770194787272495968062159745317391406902861542207922586429136995259981899639200667474327544350191767820260730654056223692860977347083361288044252885782226723884488702863302490164294230865265368903418921460794102223251161262204734735398824794183730141849032397507025222782121285130182195221717251737852879832746294387124375061066552308961606351127359329577649879655870707667368343213036321789808214156442697444270142267693774122330624283032608452642023536322076999680*x^68 - 324993190060740353078547738887173663261713619204476730412711131645822386231630098802088916827022475592434969840707901712074744239629536628643420673850453023332236187131601096922239176494239308100765982848713709936190981659414620930978379004658034371574746626969122653296373248192330265161039807582836891278862023363282879817982639835002954239311129523808145113492660394129339571723822919714314563796115014880260507383902646985572087680983143865694114626387885540147906194495198517364615130692160204409230335945823828329123104109074399300130836103800415822468388880325391060855692765343688378025007994573455018601279111944548616529034998590374302660281869726668789963114567921584870282737178434791587803457765190881463609889363555759627813412956799859498044939517919108268032*x^66 + 6113234809483638827108473207649444167114954050617173399510308198698265838434183487972921822310421815220312390402199640957519901867615216091893202024672663053075154433314421229481776512057060020756948234905155890145541948867752340316758639855651200352369529130076384727188900977538452526465947800118791768665541093323112954303266983594734062648762900404895259432026433342717613761500481726713699993425950181067227771608083242008907862496069754224924002923213484448372274134872142381420434983015466842147359663949466749168325928104402408888815027296138986402977273251339659848757456940308357272902332391768795697306711354611059939973374508030702521812248608086445631282430460643394240008042903046603174695049365075537607796759307566849008359212753801805434358860301624934400*x^64 - 6427122191180117245614989059097417759588072267539573538380340620102153617542984784938815725877795266954642846057058538282691019303167441462536352720775498236783536614183435070917592015960123792888873060508870876435704452047013883048798099851371076105529775462755094307790278908374720991646088693997000090013576977273810669198223688918055234376535089133472296113457227866381445750845505191346282866634482969433861882178718113933217325821933659328625902635326988442293569787797873733649743341645326605444709394288384663036351970771181426920545540647313103769314862194524742572752222195531898798272426117245785168398590545206871069980244897940173887940931477915293826247333034946007186691345728202114206450383039210053898745873466949113384884370381425532237526417293705216*x^62 - 74868594713171082642662242387119732376649123469892588972180524446772472581005580703506658613976983362155085784267431884139614784093630782352510563622874978794701012283551234535436038275761593957133438406029980675522056586378131408490892820365253172476796523403296302872199613154202837999465732837916524000369198724206335135523868111515530741359394139589147216850458831804140594042079680497366692882509013885948408754736537953936173118139472355438873100441767975594840624789028976376257169462252168444621821748854951222619274132322600347312387704315381837906650085792947266026473942535802299342624327650360569083619365733038268410051120332152500357735034370189155933516274907506169237398070640558821716755497057109143565170435381730715019143510399728538405387485839360*x^60 + 237885378133751810041362227019587686735295374276247894598414606042595864215147761592738451344141626519511067316797902956796836748811479690459634491605046288627998796303588561079707678970917687894437797825034866878705286860246844749647111381151719240541849816280975716932680168377940395848171678081616901489476205122468991536929212118977012816041467727341405161260411976667011328811131380295621716386207137230342755406408497226653749783178190775407411652741403882232236779475929770148105148558579345478204903908809438333950951452263264112012256754825947218870442756125325515267728190991012259274884029889750328530383167395406640959158492157746339642867209646574985025363314355572674214073741140553740848625457126270840401258721591365468548867038887939465684809940992*x^58 + 293151729650265149195092950172656002405255907513372546593240682863059769161260240263152408713897135700013229713245138779201289591158969993543262982333501146208876622914329516482956476529532491396715527141563919939374057921437149674622584468278667201011773012976878889811693358433771550131189263382387048433967348764990547784947035666776063356086956903441843329441316288260922673426026333847498846042515399664430269818616940110664522295850333995497407132561688684420270151698675168463036047376459219850333488962463576366360944934152550180729686213292844737102689518505620205586092662900426837736356325021180109995862714377720608224858557880212716274845389398076014401314858889323261348834370805460621394514395867373813087654787098925956390096009557388180076888064*x^56 - 2923412946315474133683449793302713342058245356163352791522723842114916386662279933437747684540683006564066168595215288913997265591158341346385867828271261688854901344818165863067303820763345330358306881985650441411019781339087639755807253376964266847102251332257394904454556754722856379561120562776925382705502487640560946511455293054876059388259770158779336017969187365231063130872950669065668175645475126083398772895410671222662418877647660664279951511888152410070888507619016566767944639656389262272947832205501761881006408772937131990049957902248900420601668174167752514381534934227776240853957447178291311039803190666112248092221310012908959294775506596820190515379573166696451535594179005454092101558840020723707455743523018502564896675140583515108671488*x^54 + 5022501654918287776586405362058332892199091198574341676347559269596212788751813453684402804683881713672021061685902275291520813888669785026132778909444627526837757908458065234971734502835510338564307308318091840060305097309354158334791125913038400522487011580399177092241936127562122061427426666080115669343772372768046496903012679670476254634951946102827233467579816860079963996420507914032177025394446076845371107530944014427162589947825737503665489733915659612400110449331100934007771442392734849355367329288134326572235456155760512251113263175954967913961411926147558746541782513598925213764533834554205946608298777666456526514625327290079951077236772124145402574310219116907219073346831795246365079043020644861015907473466094338281735587947156070203392*x^52 + 4729685669383807552035245507644265303343258803414629182614993525110197126970364169016562175265714028021472998573397868251306874228166364802472590866026940036010573112366094438440571783374626559465533626758129470517402274408055133617207381791149153059838777462750242158106649837060089977237536836637334544180314597722096032861201001020076920711948906072071558514804038608162188532490428720831310873479903131053769184790904941488714909701365345685539446626864514143437000875124808903888814488306812423806667296998182339094422028809477158609619228276355921986093416825439167214114478174143465395857318490155620876149644369727702966419474004953911636696480374789613489547065445185251923239579327922323710415116488751662932695284861089764648425214138862534656*x^50 - 34732331583512840903466623164959982988163519954670449213842382859971576034045640967115292471051749157368543263112285755598236262331843160876156118378173073826286705921194091587463672105205464058780562073045041937143868128761218954391260197788875654155400646239890087459882643414227827822076741661067453810152493952833168969117537618744141985576327859746046910276049448365857519434399086249547971721483651244276883599918696363386977606120970632717134030970966898433158355791235494929421588056664940808117069581652857460731875557841627730488972494986574294370335660477404745523185839751784249396812695129954432738443617111035371585233591068822715610229449275218125069214933724324523287584861606998656849004460525112956576754531884353247565194863434530816*x^48 + 83698513810083786566634324815250607134720668933605157412696924478395729976426713548444047214932940219998547906369351985531588713769641285920468216245733809981647415402593342990605741059465367910412826586766280133376576682471429042655050823148273930686050340889997962827360735505995762683259149094837993558885875927370054898826758002299161947952187232233704046490455249783266109190991034552730347613483885309417479556957157920752933941102960950110077702957896324233773616761607902006338206688807726940062292649323914091017781278591415027245821165479754562301245793654089835096844030023872273371868590821682576218100067187767939677573800638695995528991935802978762487678875201423839898167843433100143605523105755844146803821907147231974449107561349120*x^46 - 200755970154600709941851526602414394784526251384478777481073070282251340567390477533433086260811247706150723795296288120118441915405714003565841180820076598089462539479523136804439154172653943629651776948656055961327675872467758498071430602016065648341183689114985893677315740486960830206839961333043673306030897594772314049950060264406286413174387049772789726582883792476525049060327783975794530254795563400781081003628215482935421551130414336242231930340016438496846989751488016675874718095581591934628997148211948923836817624527354013620489925261958474835306015097443753826084391215699223566445518968099263115034461622587829624276612869424371509132596523109978604697032908917119571256478058924537633169069145207523570607203698918004239697444864*x^44 + 497069053476869431882976959198449957949812747525334656870244415797611874996420900242287736364128890966786500677663544913108532290323268115085033116782756799517800041529168981046748506591567746468141511849719933407978753095591191837783977173050000942392225359072716051812902672742945118526282944772286314970704605625064997495132658133970786424669602376520046975412200619931253878826306403757809953601798591516238603507035249157629793082685449877658497650118265750896945091258832656496111135170161875133152706338724783956680324315786261513680966149934798876141501063829743045305628871837882358149150135277469689532038124984755283639358201927023314359630109649135004209979987236865940563158240279142223836798152009392843534437227163278729734520832*x^42 - 844324353626885317556903169757515822432384102926313839064851256190681115469310854259618759723123133313872119334592157018096217054868485833907314709428706873039526822650251087509043713257062924527250539017383903423553039927782119425842127021274006151744333181130285675377407154447929943976235149219854749369443885071249341754113093491903426930323030236922855835817883630259469107355519907058921336245646000454534090441271267329330697649311448577942509085374360776665012019383310663505891081417534510542091818688976172460890016537140571117105572662915610641460968702557551286990023573815037896660514454833362051661020632433826791587170235473131738764728441194494924569135742168106000394676074224789794149091270424460121359844865942101952561152*x^40 + 630858936804266201309295441422218841843201140929587582223437048778720701706429176602557673567163826765764791424131568669533863856443079229982481094981356142886518039211221817182485002061177742790320012283517893567574830554190588966867432413874800975504891006261859975712269412312319047366653784209235376250899128419883204039605127245981028526771400229006022842735780607428240771185462174062802904614990564077753687983215022148003582342220653382301272172472250160449960124594425704936772729645971576163500775215403774883671876648851868708044896125715781838594111406130572127509548195322401670754680308874063760356390840511701542295385148414672618319205968739929566131976483933979274776749432831036697301402155493403803261609425163375345664*x^38 + 569205082655124422799483911739865753150094153118446397263319109284533955842522462279961903243728198707718866849304052632120291987316650574512086726622811199992966117284109569397231716117489385900605284655933631454559575436495621842265911458473301413018014329978112601529212875521301250112820679076648467751606995097808033807833604612216768996450364599460295437248454061801696970687047984245995744068996364774062415050139297345380715682181352192330246260929681261207667311498495018203611546175973246630521632310350924068400511316080886838185175016337932929930544491179043803995223667977260878078959032265702294462553450111837916904609086614198084515117524304184711000459178587102692457760101233008295314036038850598318587130344521072640*x^36 - 2071621689095317183792333706661863347694857149402824768997670079446049411732357416980472530235167454949536619282912840105194409773493629252718032662331803440753679457089251813490032167579697609229782606431622138708258193725255723399414203371944283804894162942278192793722999834510252509449652571417544931684305055613909190004363497351566309476307013959215025478164487548805259853085770162016082851675122763733963898055415472109943414658787779380820711489602010551916019483841774123522011975228888267713663148816163706787163521560372970114307823146442644701677568537179909013354082779591681648391691427685922032636707363406643338116107201874802505688751774063742198612902687151559052810275406407266021441276079708267935561162579509248*x^34 + 2655091007651855570102745815752523805771488285971897824678028101656239486474552736223781368309511545492808914713745598562735511477316576632986361643404064992337939026571590292861385411183661831411325218699965507816945752520841105615819353121805301710538609529256274311242565591419905200129661810178932504276579953430733790068423120450935371122989779981297148622597545191931027669376313876164685294892721667044905677998336276539936153249128803574506767693133830787071512651607015822565183865886290670864708847450990481454853729242233246234924455784921925500098292296437780958252848355735873612737469441043745780972353222628783116091609975762921841643184890510582386364574039059407398286922028830580885419970604575069086948817633280*x^32 - 2040243937716729479453939866775597438075811380398334664849490407039618202055026723006643446240624734585598322782946277866515789874208930259913187064608106043116895130095742765109006846069270867250934696014745557137276508841683755760843774234848419844833337631666027543778205184942023635847873024594557367861155105666028096485778463882203229742928927845585087179294986666104150486853176208995978802597849680405686005657719510771337091475678548839216658487334363641758145451267554688040339868586919417069886745907807899751137589719754204124319148469764444000764928902301192855799392995178535310902235528933222541994154929955307371191124519500832624118581018420575317069471838678878323201611919342506575913398368517656158085840896*x^30 + 1020052754080082969632235458861835945103912999029648567701086062131260842740453440334448442430954444653515825322520266995342601611701335196845487302398457023506474945712185678238127805872204385492788403041209949075836520678500149449846607448066502931018836819298155545065055007922301306146220364736952607559992037553933134015960143420388858999690150096121977834811470127562825614854452540344028684073358517006666234852356361143887419281671379568245770878383948492455946229419756027602688805609956313319015190630361958944003655193053803673520531745548829211437255649329025023533908576917022125689910605401217024029932588800640716846339652186992771671202170612342864433840034735604532620756896121932209694961152072876820529152*x^28 - 328542746994039528990683830538368748662822614424998874074480542339873661879752753767274804609732230837135071701389858106088787304640844540289249173244983027767402952843441813259510188608732052575493403174867799932354095522380896508909425920835484364022101340902163564348162403835548031631987407921247082402262239969681417023790485929579734361804006729180344780831371893836188883701250916777996743011627718434917800892329413735106793038201530013418232039440909130656728244988644719346177264130702958313297128898318084809758369503405059377062313572728941860493065614112585861258013731404233808000392144517324465782245598024216834205894390160959108994819542582314220468088480028960778173749733096605387973938171308004081664*x^26 + 61461325332565258941274939460796441514388230643882949141343422864599323133735085608853308558102105735597277975461583721448581105060010642245391889073832296819187207513866304330611872717887101099558687604009305780065196164873572653836350885305181041350153579697593899735993862233577362989148331609082396441480648309476757861766389129782395766147230027793561817798116072133893146454898934297001557991643202455274082855330573400684877225957381599670805368871754502112220158891338178950226119019155641191334973648165798390035879916194648308898650296712996311946709619162574858373126996241724581793174174450354005060569126710487808116392676743188986857526416263837045810748005915626469637592251073820868944927641456082944*x^24 - 3883324668856423612446092800667094150320259697151367320226422814495152338791133336877301068022001925013980560337485123317351271262815861959196520221284006653302789331259145290378430764735537849290861948858717815219822169071991253088266062471844292497150935376100568270612819903204041346582104295189187828002049752727073188767690513536835380714970240394050367058274878665426268406474621229783847244890466955475123457669618857838103478081719873257631606712223042304829240845135957063817601389057762099330915329545276327296389823137055060479088600984205450773261810290040287943375447007407561801850203550104551299284604828814780938712437668547090666687779610286822980928026444241790367419694027601081171160797806592*x^22 - 751535721689490635602726160758343740928826940673121338778302747609797410744715060289298071059289942912694073469602042157195159040645023416219148198990308955434330383762129537908570623448423649238094884469835715932763858841866906190150786482342054042342731140250272752591444502181163447348729408798021285148443833088516483233817616630213169669417701428496430042096983229714906048164441151780977111536642509516904668701606180313251232063095363820525086568769999715875585216849779150412006845439349103947854279557660478759928486358929520853026401648242002965746475781979082697376557938052223108305426560275321379681542136357969467395024769253074682371712000676608324171335903089428276627629775177410856049704960*x^20 + 135901623353313761757229850368703893196660572047067346516029092730489079060783421264594609820133572336072518801921313535152516537040517652303149156360902548376105565122098161025212249035632213470366306135040540427900037262154637463581460642807750908108717551472503069358218752817096744312686430601921320492637261543222562844289780854596340529155845588886212994871100235396349958542935568379229367083008774504804426543254888076302407193690076926665362835787349541609939803659127399095859507712450526415187870813189055235963671460519660610799239740025807008640197790341768222353705734429324430530837675812601867869272037336735309129419801429705939185609282276601371647865702193812112351258233643920944791552*x^18 - 50958306305261076752358194339545694928507225030977648408087258342013939142856432849435688263739731395545536680576652650614664539942150765613702037721485113551947052254944096341028078176408763257208616887571613527085791769294438990279685372266595708796958236334808107441480453944247454277990106070370209310487867543341839776224976660882151885115448375905140909308491612764101097483357455650795629993941539554136858936026910731687399963542017446590052917772745465122169873952141665708438415420812113553459654431408604060411703593440001667256744572894961800318472595793191253120569290991202076163616761133848506841893150781129033795641412956762867858036929543282950355101841180554507314361554629033984*x^16 - 650188828198774002608840858704113147631914846394013323855760348772792047346524954492186625027803588839315220838871634319050726521417767120188044210442093981652413029449454193656650975975894776142163898960873362301886103851593495066917817900263969777651081420250338544006366479876434720118406831137577459317141047860544522886036017588736646561174813636976484737265270943285246353700236811014018410144914516119477281253438253452458138457789066087735553584902114613337945164413501568205341912780924217797465395540143593317947955458044977117734754252914043829969697783422742369290142608093919671920290426399498353838549130305027219258730857042543675733877200926190057366962997563132098243424478560256*x^14 - 40861926570920959266184836493356487870101556498754365516581070114072518091189180068818820457863666698637605119857943187068983288250369863769940564758680953959887006279710923723611093816879531236700799224864997543482099048552660093498402873737977477878914142327203850612590518745668324625073167196655598853675048725291811822907221166746705050428592365581215053703960197023195029173397765610741357245733787930846305599947526603998608467466925663907160552791837303677050517769171384071139547902293479611126942596557163688337306547063596708855958776745722989329824824765024350932915546809460619689781927529121128775001574238746079556057069698886073721044771233933555075979271312038965197032914944*x^12 - 833124753794084640688037276215838669810167821426909298079819213895977644719819165599551266863818992602486166100521070732183379264504317517725873072933252108955469319806377299832404317039593724525658349695282228260134180345130070692615177601547359215253666584822098959395065183293676713007595596733366761959494919803119055875217130615334419699140906087798091373066854021813914501139753617893258163370781495356697852534020858303081733961286021174267574599891197148412999018401884051800916979269763700430554839848279393936903403968359843109042265627807071934454749450827071291058746685172656578386240531842073002002934511734839931947015408559751396076237632250338304856571567081700097785856*x^10 - 7658771618725884748391330938184669372433555954012241782723250710187787203760680649512963498992496408753376086439317515470971187550342509648135600256775055375747285598088997689403432718670035283922985695981614071033648198688170329541911963604718833139088728875684492770415778345349529336462034521272003610851542705422168047136991466169609285399351431104278602837041725333448163552986367470786589957095824606986581538902066418857879307622677635919790783044576891547878441671444126259908645368621950279065035661247809242239807623059271459188039846065519706144020111503573057674327408899865218627504506320806753588729362614715803746221825052026410921736413191705399088362911154772639744*x^8 - 16702567857203944352220222714963108829106565357395107454939865050669758612182200764101986747978197641921273414994875419667808215520877334939365038225290173446236643517881221669480017863871750927015963868760882719540147915762098906279786363273275742496569433501589826885468800735326031467965915990689273474830346752350933191146933485568965520419747935778054524883480013846734781978528383284809136014413009009144603902741385798034222138661411716892287230722920430565914506528132546014332668966111331666655206155742176355391236803719395898910941496600795040770285245449864139988840361464348390670081987574430726296881521856462573617660146588583291996940006882107441263477017018368*x^6 + 179782983655119035426809632822292010043322998080063145867493639194245739413644037741114955417763712148638757392745530307589858555969565820688419743815666086980304051170991581170290846672741818483159449120571441041279952770886645847890021249748579975059644805702156387722032257338446056276886076183359708839626702552458712083173844607335771164274124581313469178768494303465225020165590036620071686936758651254255162188831952375913152201628036706318886051165105008731971580811896481283049053883504571000628631550572045490366900528299775651342918932464482551071356622939013074872993124546958506098401663798133739760583386797810035714293101111354268849000352696905729310720*x^4 - 444197758052136116820947897695110521029794817251021934401181887740289358145846327491337544229683766554798883228243782871248641955973141102950804972276382531416874817011849504001105212340786679083467770811544278317948156695506340338722593025111105815768803766919105647251186565800487492140902716159763626654251136151953823895089730783501228795046526318604927487651461852337447878343654131635973382434640039782873335615115451925767611925478761250949473658982286038364626985823011552713897981212454750093123965724399560721568846778993595360108691913082816059008803044189452248953504408461730575921524060519694814257801237438618852560065556604495781368906796498944*x^2 - 76093196872372578373119402591542924336595309825576292045515391246379464763158228784639574310982195640136389028170516631428420420489719956379967145212728402543856172428301827720835720619511746291529555478771232044026977196487380606051408105650931853037339102824546133136096406879899656252503263781924026226251779704232683941753426157396355555386426406923634579674802667468556932278540083239541771095586953543174979462316844522007563225998088037858674707962626971083428228623682979720860644003550437215307280073434204980445128604856611045119274229393897316722277964178023092238372341675934924661369445149897548641019617913507175210877932947651340271616], [6632724937237287527261852691769297023363727031143321758242460876924284538586701521989667771710399423773044736837804283454360813172131111836056183140038977894555975957804056727276661033820859352965693686720587427132002318768366239280594470859360332883857529991809020176965367378626678187588894008462313473451960691511271027929756494520294488145920*x^88 - 103310263554236858618461388957350507115243753739195947689775837574858210762957538278097719447429690393514778103579133043539374109932017064024742260599343543985122402209240896957515579029645745942569146809956761129563197010665868734532865411775572639169249288390405125745034643028228401453259188106811503039309845612503977310826489444545662166302720*x^86 + 334066151367249521055262916784779748135291624281474868079794191273423634946836305203536085437199812613911362728082588852117951008627515459673945158638681136029095198763485880356126508970468717722834403864993466208915714379671719869042992185994243350435472779298139816802425513477661949846359707506124482456590827795782295835513977406712363545575424*x^84 - 415650752128487627818773777421155003753123374436289221773951100753971779645556648757986367379870387861817148918438355806532550001922304077272406189006833915487706781921183835777706627693038871762627631822956762909396544421280836288358620050285229857114937629780781686559440955763155028674361380265731154329248935998073608534409979426945040488022016*x^82 + 120669331275827278092693406976017025490348849815439182393138155380570079773308369079271211951235701027743570043530294819720203451380323359058506015868343496068159665181462506815339738724991919297408700540367022377011951695696349792100142451179497042351601968808709600996066477029284568597108605477304069273655498986434021271960888032442403696648192*x^80 + 197813680050404771146670740395032634619878845706319504162315680724353624310882791083683018252342652469953285262371754790293135277926156475840722615471017846733505635298094232138975105953285721785692620738258763293886817849867801340853398212484062582299181181980616709417369924669852823970029303155701755665384374560277140661647766739615759092419584*x^78 - 176551863395284657194396528206035765115460276813684918963926485056825595459677056432034144723904431005876204019790310856300280782875130427814410618828831511466330596460904174977866073062273087911356372789840174881513290332985024856110535461622653553894876380129443781617548421841423286909550655327125094697065475004932948489102148326917819725324544*x^76 + 2756857979306738824567375078195352047493802139668883961434077376344560608863209639134060948065360829629348962075889744043731368922905802996457399389964641045334869645112411365198410387986724351013840163190067348793956944509230265579378534949621010044091980435075280337352918387079633378102547132584578316422587840577240567036868498131162387948800*x^74 + 52185263757042112702797222968853754769468598062472355684814088668190828683307639557206754222475354420735929482738152399811776303776633106180243058765326853191706853132683789265642011685989388837267261746916351308999923715395521289407992223144318498334629364071191037589005401720806788694378051054236296226271736165295934108530683712426746822851328*x^72 - 16484017923734120062016498107661584168728425170716937829535644685872953309527541234710805434707100934459314427383159819148413583334797240568657844441196181777584207601163687299443782434921969110036300182754044439216214875360823775080838307230485258010371045531427862129095756257892719527720195110166565052786316737047431002768539978822085313887232*x^70 - 5349618105829613085228662571749618295144726733732069518252160403407161368476391888842311608720297901396219855628557150228712752282285654431720233577830200781316046681146144527024159623377399987985211377915323464392649440012931757996695853777738394302039581183320328457422047326753471573629696070652225102340764088375054613382277974543637252556032*x^68 + 3559997078446937054295804275302076651600408151330990829012936367967526035748764224625041497129057623208849567383644620714338852243028322738972345629146904963961491756854967081959843112344701311959433884172890574041483805379846264626343610900379381176113983217473588345366166694843013844233150637060353618021979575642047460181512052547720040344768*x^66 - 108007033481873274336371996248905679742848328641685835969175153717634934143492214241333957798045411763810044717601318559789841646488291786114713536885910057407333847378097697940637522031086279726363303314468058121723921768813282010165563965411613841341890279005711612006316996840984075118735035561809772136587644724267456485489518031402852934048*x^64 - 283343382017444200114718298412281258152234279350107017483144644806084844943889244279499026996122769697457534076517138674177256561966571773984659501321349143569270686550118606703859162374349270352899716679219342941224426040461712431736562557564223064293389341936840838528274059543345338901829246796553156962492161586999689044595586506345250968864*x^62 + 53588804675635332803660751907033617483280459384726809492223969103135094666514435200897828105832540702401646464961723795080276111255860629673039503582403294551159710718431043423687765642933148657063948539659353677860392232892742634021275027623617119162948008764414618081089947793130268633242907947797494169507563143896198267033242452721702762848*x^60 + 4710611059820928186137471066507482750771108924966165221872060438286916996892296939015384178380746635299800128219734655488810843742269032923386394143045080975856092084884639427648662778016566040530544032125648892793119494078811584733053985370076790990703164442935280319607391596613462523705704411608314658174290345086548485783868460211653002512*x^58 - 2408318342794604809869328309531680873261497731617392216390092221122176915196609290419047647097788926279881876285695417680998393710186750229161493426310477279342583479554505109105499036186772678562113567456818395243121260732651109806941315467391297771414720733584723781608580512505929053516356854203687995916226479886421544539233285766315461604*x^56 + 255291107265004739069420235008288214211497314557912956057541797844208219238676405234675442753344691074108673691601381693141064169774077251595254560952667000356876702204426904996584512868734088364816308873321803151031408622982318154830460947789661220660405995345966444220401935476182353346535841659309882151182635330623723886978022572715235372*x^54 - 8314288946994879804124588770648312878426530393797434367237092961851925088439771889162738972363881904834174590985196404211683027136338478897893788080863452676710286965838000720302331154984156675386478133007310249006645017573770036519602436179723696913264398749227113146672037399459012228367140361487721288637588210822651664706689711812831917*x^52 - 260326357384019035102544840090465904831631257667856794189412967623740556150866574684051893169875234675647093684808095878297932391024058945847498175260637162435514640868603995955777550390251689764106965056369755783929004728850885695097015351951441060282929906112523003637528813807969019603237225308797477506344207524454548240597965023256071*x^50 + 22670729540371948717829289705351699807940447402805081008264128276307016523262262290853703538055809312792135340140743173175428247528550303105319601625078977595341897537667334067675481220448867685783276818993158880524290124010333914581350061575049503439714238990777708593633351890583995467740499661039967655971094320062709741629582853441186*x^48 - 254789140369306606497631969469623418073338045662602761005757701426130881484024774671853238668906351608746745263593576643603726810626208512988563147032164279790641597178848562693395752862616518406092434129448159493738950006747333691097823578809514684565751194141086194820715007779404843357706928457731115496714352886468445982656761199891*x^46 - 13397632270725418891921794074706067828775601921857213675584946250334089893846730809377524493025273374114573911959611163600817310283566220338372884368159515193437070352252310053276141705327653460604343456110249914826025762317926894907075704963538320367138948821586221594897071107882195418848292686434754746749537194545827452907750913894*x^44 + 312624086738950109111821091496968550151998212404245868286172104189899137289413486405527056109430526876232047927147342820930123122520625978799559150615593396871099655467938210097923078791413682809135481540351256047359375320042866020103327091137065405310207759974067344903085444770100086380250864250655780348191543570832632189021296987*x^42 + 2996618364487572396130197894049653119849494018093601639708500929188940638850321405733771414146639921952887146670475482609267649532897259099581294408917288206699927450169833111224386793048605874741057099969409294634813830118349723734286088315934805530366333409097281725190303924773719471876451992280234132261830414865057899384214364*x^40 - 125320549050476984481560856957120488733014213311021476330855883083309736836877989641847274112825036571948824694259555995070859231665919982635373538397746951414172122619193568825113060274405787141493530657228177050522372575193690431452167549665086172344586697593539991477870327914339647606289309239410633546537751655736504172009743*x^38 - 107553406426405033694832374553175220153828613088985676978701217088415242249880152981977594520790466425785713934905436159708376786544657773338198219126056300386244794783179609434714297303258761038959746929819790234903036228129173980743693707215610806060475629862780734541682020956405178482670651047753591362167681496771871973557*x^36 + 25100198065322702064743631684998983025008928516595644360744120169931384079793770883177515371772716703879652878072149994543259714565500078557980881587601163269000541131713152278356573289662382987241107670639809346570666452523839281870550623522663896963031780138542652657829658051149972795436061968880824876885686043337401829794*x^34 - 68518014493511931674836313480125916725563846026622534605928744144707215953373966028563823993650584529875183632293102603124442198418851047039592657594831129066001405848330686790889399205840118829166896041087850279631925369669170987002382224605344283863864508667217860265494399368456769403131464791831565795673436818856864740*x^32 - 2597612294203686332257747089751938392839891545545645724046665040665848427526965512472614248102283521169760144864645101055222993514559838035000669406766484959235513607036669610109903822562027061480873857365161840694669349682606979508864284907963218279167492912136532355169038750755366697635248172563767400913004524129492634*x^30 + 12884930689653699715007335833728546133804057935912118161987593217135266334746797191222448472270525136831751177613468320919520952039642965115126777724172083189753891221511933551084241054507647660793547237975734809803943577711416209742424637450832861930418546899407906625454650747706723218613959722506613352316415046924099*x^28 + 114747716685057011644194746582094071628373840716791692038938790398682834536148029640133165159562140230614705807042819347283798874788494362481464121962900991725975215987857814510030277168363263530835906752508684596683682253167031228553578176603655263970896543952781046522807088750124454270337818316643400118866710704191*x^26 - 950901174371917080091540986608284027542301053438005311814247817357559371004364700789474328734136851662533269407414815791806286744388972352441307594368395459214612201779776657107236761182892779978521894968262558152488790380836347738278458870367568450953743523034670791185120022200354725487799404940292161007802051204*x^24 - 57013842218538009522313262741122438306867740213235129220269880833373446433138780864797600891646299851294310576247264086237319586859259133020275131718186060995109233789888466722726690238669350893306016580740771215421828191354282528794693491599050147351019011479706241461965068683712798431047771363445108675576375*x^22 + 22423103407650612189038122794594360608398763169113811652310059896767982275335999138152090997469657600918528874281019451311817815942955743879657703114610467880255962686886647301881889809779205523128179808216667907365962701788854873621708407788008383741466457564021284338797743097164807085156384452878888557516622*x^20 - 101474531253295677783897336357151244613036117461293327914589667728467373998845629842039722237701129844806477640338082422270340663239109268242785564189894410675035485456016642393477803760528874908457609811968692893802117705612400314593879246031697585747145662722164094911689042772081227132783809723438997693789*x^18 + 226050264179523591063729351285769573712495511271820168722317899136386026857167417931964366172372417250030847456376662601469320397010003707559825763029432050570085832474462734326655946956242988963033129228628050003703213237903814138732234894507620476016389195295526203470940580714868008329374453458882979774*x^16 - 298667886590757199542679630165275771748636980846727563161816168037107813011811330426873650329665160114057655412670932641872949185774353175390809736789876926564298982215431894582546622866851460972903621197014339780060732243868484248831812547292313370618438612494517396293334836793614937179424288170145353*x^14 + 247134621824803476280528631915121654142449858099844099987533127511319945537751785512807780260576007347022787288942502071911764586370398039328971932028436294840964073581116642372595690774752248622280080544523550203314825915062642986438054382714968398054002650884345055973873370992981952346809077345831*x^12 - 128894011418933382741195741886733817352580020116405299963586777031600776197254737666757711109243888160564412297721744009772336738982451458299647654916131545923059063525764954108806484547304074730214293073665350344306640098717574335380418206076712797853206151020544919597811539877980362967983021432*x^10 + 41022141185817588007915635501732354746223238413645351498999010820123853202483489921755842811800381560103806277517434276964279567698348957320767740160379069442248296187268152139507128237378917218354204315827518949551588856052481935691256577302392554973436023333520036778938202628773402333077472*x^8 - 7256259467117405283417011705973519847836534560923149961944666100567564890993022895881197737510602635432391577191190037174863149909390526192534261173559678792948408414651718801582316576933669138426072442042688945524517529810310062717147644281838046009576354108975737170065507956204327746304*x^6 + 545665194240789748594834996267001642244904676570607052512915526905090059748233834626672503878623684555893914648022990294634099149307896486007610824310724824324424988274660763863689101555063728721516013462174360737276799530329611288225964695304157893070324549893273455319848579717231104*x^4 - 2944919921960014034500953550738390912387768482454152793355070292202322001412778251828550441095132449931253840914135263708249456743125586515113911557858612059575384853726006664919296198274038110739430282197695013860469628073876473805514602349210436070273368035886169623303567360*x^2 + 459636858901543158860708370712118367920752460664467932720609168788587357715666436605972760702339062895269466552896238460776992097969107237252459359840537824512392068312832721977094419248183102312383192178278108821838358446154384764627826797642213422281229894259019776, -1368192012344681727956616390340957823931846743107613968547047038247652009864975311483829249542034828304106208468177186109897213301041365960681148287255726572280062671123455824694388079483333283217240781970331426931716543118051293991498277553572332365411820058387490863713026806679839812369381791869736815833258051753079818657689188473663735699896793926825586726076994203946003790107304951806641194581090402396487134875531081498273995715986028169156333078352782190633703892700599463666606348023749773307946959921402566397859894767121288556775964925003879539648210002806249836465349252076043086720684596321974852410750553123172136472747057211856907173052944174716041758633767658222201300129004726222343872497638358078006675373294875034880386510701698872415863067469172994685406286032450056285939390183363394396051144225698201068651075526052664612170498048000*x^211 + 20179380142058508207916676906504558798143137134737375383785775280984768957208053471532768862237394630651847100572145659197442068471994105818971953412359553848047639258980711237466127568136491950657667423064913892842509690301919818696920670025070952564708223774178129499149278154432195976091432031412813159091961852467961843055813500728034432029476489683648421062036042239824120325174625410675345948653918225847005348795421961265667452471316456471485600096018962769440789188379652275394790256255475204915671865590680811547632170483878886572397449831265119313007318519552300470951426861482606989674908683994641274427306221406443238710944557095693142842073423208523723185642504384396938089647389854462953877894563956967097056216471624008594727178292891644526937795488049194012031702101543134920519559046496025779124479640348143471514640040575715655497757491200*x^209 - 140846812204452151016691118025848692169927898973143181969051710658692136932221259668905618546441757239242151077999428212483831182609823008216088165029658047299798367463373201487920470393911768114839159533053205881035460751927902626133755372345640651966430432539046240996852741300610768753781840322779407741705522532350779329418971007246078682308061681822656654909604658525806393182497824578609254302772299729689843955508739207919166899148149645823289207060495287794763248511615148259077346815932850849376295820946126850072400065715244885630085632833676075511648910846385256133485689935691317197146204240714003181684233827290675236316967376698166478206364719180894152325308444314750939144742436368818054294512700083671739054776874114553439014951187621485806623166350004806074114447270594134744315098225235018196804207279903606725177586713468659430341035950080*x^207 + 617850548425398421318490550994412217939460540687984723468014289576242682070449060819068043285475304405438913749558197717498483201417907105491686732451934915905855911450937337571031144746933783404716230218772673613244281538309678120301763376986728284030583109758161010138517896729658080267047501698234343535686387123447512060958238110850388624915201609612973600176506868374627300878286526254964950314518317793603404257630053364727696580242403252695916288093696625777167698656787467358895333116634693796398506230149054146339617098017787609275109503209616015552677386534892952097436303185510006635913167939236208266055043864322861391495033160535097978225781273881504127849425822388845706106799016439313129298646900002277785354058549932696473245566217286663191468081358586195043333302368282282369033371814491348647434642777524727346508832155743779344146499633152*x^205 - 1906904277268660277588907367475306380508917709853203330438086307195894274881939047320044190970385803689170451728248777818477176051490164384912746178498090051622387399886336627161777075070491725914893721469424127812646320503354148061244383623066356455529505809009353206943124981561360345461401407610683422039108977873390201099742921646857649882366444402035503349675090408155736825237905125719544080234354477325695007207846905557676154651022883622808739112882459284945410317399178113832847385568591410161628041444151313414817506804504021504710954301094406298651727565995165856403977331140863303751449678309128834153324913897854096493254068817409069736930100229042349482394748680429353652625810496247092823033240986060278878306618467029954924136446913155958896671905833818406879392929986635890201616295100999581329895600023937957315742277995990280583100955099136*x^203 + 4388895263021271238869700364157499030091249698709308768420159315746514157264637580056081357752889656183796191232783909814484187649385277451523840436207304954910094289060483322022814980319947629225689105538681208925689844091901240986892086346305890318009829742079914236584107746614624047736413776635001808933587162183417059565126361433070104304769065242559577010656137763408749253817542033968457178385485891323678386871061455032274862627407085695452666046706097650132207817824870679882170547225051325392104499529647309793853314243762607193324973110863130391221818206003588265818761717800327582179926611362579445237682480071680631238730658337970564375332426030496309155901721259023727344660545018148114981468385194360514089033404696705750203330765486182806577639938868750565427831125054846688526723433224519089542557258797344410713851356231208025361475872751616*x^201 - 7779990408709871826411328035393242878979344266216902241620796964195385461167214233475198032015567019040176777675921747465996511606507122671463452586146357126130597773590077126046864414741457647481550831996679517822466517571402026178151119257392945472467054870640403969742484829454775950591826347292664870324107892723448369148535386760768984001409065665063225958365306722030989208822842480356486101626284888102072860370236555948694117800582522128211809183089332310019361836213363314328893027345102297467098755433544941969489509001049557119089628993162647227189102037782135878857579741777238371480546231032649190900060696213706627303894449612931146740035984298436058278068882640619854451697231290795691290266900486035948149534338028483671980574543590670814241698663240153160983490669793741997677462612463497893902441342842682038248452635528238648104780652609536*x^199 + 10792645092954233344852809500452909002307646454397854710957062723360704446966135828890883779900731490163470787121113219739566152902509542212532857853236894788962363758182594481271389983716947212137435226372887667648099179329318043305592886109879396618125887350372349896037761729298250882419456223541333017362297490419208290025262377294450812609880041941722851414757903221487064115386676502095625710895658486806502722111384519677905985058822418516483267962980815345733578942316155411597805969407016324395750123302231471755321345317117035116055177137569548222218024851505307480617004697104581987668765828390249015778882902042077867550413254104358252782770368652434658620028921996159574679586537098779051505736959370877490624803564705738276500916586914227511646322745126546085778421148188439005706802655352150826393766912465479281218455538502083606619484288188416*x^197 - 11735531541605290203900824746319173020529364076031186084339735270566090450117601490547645862067041619941722508321381253091798886372483425608365451251886460888037478302184983164667106891584088109860067130469934965358999331429248216772331571882227527936789122153766251466319456773451983124848550841765424781648969744109945753292661595813892661171954508042739282589623873189890350820180333678160527821614152238768894502853489150931018892097261506111175776657879652899731275129780576006228908207174450535698605858444242942304993216683632190541333307223806565851051827917751227126285569392648930936343356385601451138936682607965273548313472433951330337515996772594101595084809717835399546899369399190889104722864203223267155564661108698004850973322103272439818018427865340194340188108904763303176614154966596818973980874688251271945164518842678811499845223551336448*x^195 + 9826088871789155132153027049515574899410687705267317420948478789065146905053980885204296929892594301550977604051938050024796589922529977076850662264706016958141012496544024462053182234251237696961269943766957567890921755866206643460032436290707844316008854753429436232912253376049932927700771374419187731347613892399734997390049641031391833106274923426438999754707408181091404965999420770660367846503324686974940661570151720508808780262565362955231781109576537273538014853175457641353797008278489044798004710570614628035502784056502255758893243558999789053130323161125627602122912480465932487667209606126822240820818516770888384671302090566122915365062826654924249722868621163946461419118690936015623276796734896046157232199875951119657621335155753270021608440025534041422127917649311645657733412961446817058530943616938936386846080356702239104101204096974848*x^193 - 5963045374386506218578821314737405135457730415211690292207804277869705694415727588334953385007786502842978329378875228309417168140716062921338662842464235766266039166391263221823301277782710685216032267136941681186704208704722991892218241844467425752234301813256513884248781703880990055655212347824592567779843746443501838310794773221402500767168134377442720900231501043864806001286402574666661120477141033697084455196325658060838759132730570686871777108146455398864741523002878879748869625220827864027561448979659156745436929450516413646529193616546741361416453938676662308051400088724349003685583570668905637438390934054365837614467070339517822309646279417917784670137039441889965426665332222767746402517629002667421154162578503899393434006404928194426391327163659337478362641570507993716681790081088026720807921783145245106157899389923201614593955700146176*x^191 + 2072302934866834318566600447118116070544006348431904807334308176663317289715950361170779446367591870239560127520901818576850420339003217259802501810477408205896236070526731690267017866790422663188316901313682604433385822841732293618849366603484731110898636717548029245255277653294199682429078034880532699355172376300603258345953936707452326060900695517149736388307227240426333923976104292760533644163594979346547156764491820463033441377273383629295937979192110463227890573824037587331932506353686422040472058065744173422154026698284127360254548991387271062266440436202814880933225268146357007185370524038290004992251255369654997148562642181753772065319430349041662103562793298266864400308209021862002302307718870819880548337975910352105696527840126519428949287861979493545184902345210439977577555228947985506653629848873089932123604225656264096326144707526656*x^189 + 344732936251195462398655212297515119566524517029167049776953614722870980908674934543025934921050724502914643747700763730173241502880473507223284907120674152735132327431512692560093146676426380711850213090722095278334000372705441754847241158358825498679703196476293707200305209862447949046552280939016320735010183156220850249119039545289597758330857147710010800201858392163192576442538559270250348632579910645197094611962184879536730826309974228348455207314397915532073482687347394315703282978817989388546487057169521932892694585578876001928343939639410770780577385745094917566681033012734447777308218398644670535191439537029202719560427335151186615320528370769498350326210896135778155931831587223246790074991005033096238721591980424874034448345910854656782945120654824810589637971535634414084417284969138241023769756787202242448943911046985530408482621095936*x^187 - 1056253194628677361018549111671950618344113269316057249967447893505172984917384616787304999571489520684705318265979644571867532386076265892665119664516501164975070659383063934281484420099950801589656571963772998440856593656837112635950684097793576169282626966817825460666192131054640911561995770356904227964346291794192638532651770512655561890119178749321117463772224309694590727979825648976017232453407862829600595313964593267883688957757533950533970379486603387354790388602778367585355179661779377753935339209426138154367826460528135690625619899833887039213851424972525030011136648864905070485646806937472145248819401958894268384700495422647865314439091372344754069380437419740283724551120479400429149916430099522691121935201923502133114297706367616912160361452937608514213986057747986327004409711766610535612408923499432933058983401988544630199900939747328*x^185 + 772012019154773487736142357298655904585409308251812275472321818259413483978238669833987815198243545293814314828936680573653438037820167548967674694589160429586817234138273169000384787103358372095840425819759996048423003512574002256131235031530295141407725136622376126628631701908108352778710181548799949120010731907316068561471750076966536653917332001775802113428571401805717347214465934901440367433530475067047670721889831475327408928991134012903581418985094756765024232641612950890198639355968147581015050037166608660502479831333222837558036636123442398701495837914239361794835156420487411660840582270684038201028590754010404303641708721157254788854673271704082132541303746147482181886503459894071728219330767976144694954630445410218496358638366843480307295832341845559602905572953775114950337780468472433698852321578640989118893625340979920466004718649344*x^183 - 295435062968717170298458704692183084214648385916914440156304678266045594297583219216175292456112625855596700871657769950733538251570023114616117143510690302312731554269829427436858534303052400054138744988415846893047192298395220773232586849603743180579882470652383194636555173935352980921480396929302731590723603938339301735571737407494539317027157129238647325508334282082143535834135352968621472438461664612591483296312683570483716348070054085679932433088601984618169757729851244429364584406582337626907872874386532883394052198922283386095785404023540847332834102435298174718520262316208852027801421772195716595534358171054883959001227876445114821034276093039245314457739850038894344476671428865198538617955335404028537861437083661719912549398867744734811513923982037214872655978773153542506487405487043093749641623734791169594458494733772826549716619624448*x^181 + 15906523347465503204137213317470526160536921667828981907968142883944559723182228741590748370178220096554701979949900496335123132667811483331924706837383050115481415808865496340762761960386282599458769947736412728170329525654536650996717355008213967599993202656077108835532734177082465545418415836283013148164830481772377402266044728038798415671496698831204569448359185621252515867482809805399106988741709543483715919401372308443123849237882280326424213657061095145472503726275895639907459783400784665317178925702218638272365082800241058607864117343327006154327525502919635073138805144191541763877151522105905957280568188969939070155176194034864728158794931633963841636047167862632971836193541803696486357546878043581999312144181537393051001520848340572907577855488334189254188420039491276834823131068973134526481217036779675057465154806615060705838456897536*x^179 + 56327823220956601855358303520043229084000485398795183959911825563711816414734562623958164924910360006421156282997684992003908239248417118680859661273230489349979336449228426589070229453554534425545328808670587144288051647738891510035006584861330722059422970475222211125623049787408923749458636671764847833650049211795213852588239642813621546316333841434000937969148472094737455960983153045991009314579943527313998555652730734376225431621849966627751484070831241286753664428113144094605165613928889411362183763677834265922441124850416535306367359572499951464653060617534597795270197133220294272199631736291914012798477587123903370867123832515370157551079936189482409997179008037895590890692305229058569412604844313025311638586947360309648345349369945398123556293910997339180652607449693611406446338223510214369435918287430813923551499079879558180364879921152*x^177 - 38593099610628495982938455394624560010775064004003616133940644148366120526183056331265962589478564308820817090941059168031523701333176636460917615275804336681009107743613747388773036595675539666184191406968163084009113420864552374811276433871296584678679273083221585550798256220300661870118763582006685988469873501280331865699581307434010244456797040858833874722126398526146583728868727898044082517681656822412773616076874233562839469779252138700905233028993650729995582352667094411091967510051637789549279501468624558066659311297511361844587172180647932684852816293181674825481606295856502737948024179198091015528274794193458690381211345871498960974639107357181844233686784040562111959211604605130439567243431279508331687574625442898548590609851177120675886686312595067125770027294889115258846293642477534234289065477502302585167701920579667322395607171072*x^175 + 12635696227001665799977677618388882373222278911399881866422106828928004387470204961020574172973845244111313825676671228286884889386931168269943481560508757588206627141194375389330609098942012025547349504658756284639456869374485904641913148366585087394012805437735755906487870143358826394273158580423373934454158094646110443581287155711279731326589630051816064249741389951069917826298701512822117986233771517818329671725603380268170064453828825695334664157345223307534914086778678515779775739202466463750341819350044200880005042109623009360731454409588568090665135769286980965919117735927242927374337449106940441652451307676910549754552357997181936832696984124512970546109900779854585469174618241295577265711479546325003795216642343173509615112416409357927108801425403301704441156338657266352621453756298732715986283452049356671764746707598779054221655277568*x^173 - 838219741592425647028046567336567224559312183240217598984403966278375605367588645676237446026596065831730477882113943700382328387053627075763061289471686845005100825132711368961708182690633578075148017997860102181208672123909056277980316685329702683187208040149217591390054802805916796025234765316740811717818270406866860396928245808007279026673748050487635876746765451042653838198409576958044584330807041452336040954386525266003180204541699425706493266219549181658691939699485729527872557533545569856685540917695654306663745561090685092902747578984527102026725736544518812985526368346584458759115260812490360423623868911024784723528453222215810553142244367983070780886733236296209477944436889201565660263067171501202395055259962391589842296179968149003009763592031996658178271961538411132131298224016439693268286677221643731001672845687454404428959842304*x^171 - 1369361621882343886926750589011399090426774103070122294879530615115329098087702014295622831319028697052434936060146891682743792320732923974043986574621148138810322285036947469503642142123844615355733307623066765460292945740849261164418940176920220060361079553642158256974288835822223157553427597283548657648355933857266121228533656801409924861487868007017061697241880468384896199138362756102672165478911069264457294097035184723608866019803691774911690095517338574949613482376426286945102691331374875883663067605081624947980071269745829497532464632704387872961441540664251353595299408077635141875682365611342144987645972352263298146829914526325150985420957752868495550758178154283374982649138209512181548724860657017174084764828671599424981260364531953733670462501036130082121767288199231480581718875849294353362237499735144760925368247432866082852526096384*x^169 + 796419637454318128619099497966357472555004023294593535738422243196390226919266888957290446610133624591853946011812812766651805140836806050705683024051308101547786000753468996389587236236603097827943247979417153490004297800150190499872585269834233121351603599540418370240012567816518100556882134373369086927683176761956816637396808012189831506594517905661309801217309218792200431542680389347136502234276293197174911984408866306925655757795058947102523956107558030275105341325809561440668033733429550038515391599504932088845500158407372529725357901493223560397928994502367293483028972173017807890828193848555855070753359183883072069376923357732690217962279087776391338524587689290309970836406070761569085403109902731646980722368016285333305892858190970164559640057906524858327279105250325091709595251851339339262659203154349080654011121130912053116522201088*x^167 - 227602389956085074132176805775119463486425506469504747675231806420927732208456983494276625078992509332424201946880580932275532510561873401547905072056971767524416755101356194912317432106172455740703691149160006659513354423796653359858150689153338968937011332691216131852443702570451454080856589142128320234662930710819911992971541518080913039392996518255446257206017055745517952159932577711859831630727888478536960864793620824312075761946512243429885007129230785655722697178898785025478385982757339998111485047490316777848151146062264324508542053480865518521868644240701846778543664648879835063010351128931987903887764215155960152508631952292884554280790597366825513872888963973960851378849862500490776400217486612920389276134626733300824291163402298717878079237962977864812639259643752991224114523367185788037502152335509523313428656752880404344627789824*x^165 + 24817456537324538865399899231871887270038553674969271724040418931580711217020668147301502235861687448747291972771043446430596426984637583394775408770542131716816903398074437081592305974845507931476398683829231982725265304931817783813877306145162669679525055109915453070721459634508737839500661624804277895570727785899159142934786670168610384892704037630432438334876958440244459813685466106973656016722320386533116607611483921887066506262855425203231951050808589394325183402614034180797143151478938786965017240012530023247814523435838505620731053364649636434005692168876039079100445760133626319218798413507403050162383298854357203273306951454522768802591451229626011209604088794047855506299148858831936083966022294606033063878863506720427657973982359821229385070744515404440214355917458294882600920484145614402594500899747693680919661244604715496021950464*x^163 + 9249043781320867038458057054864158958997438718830542901578078177410737176316957071448160889082203558682261404850603039964623543878203528391079808781928690048830130677998023346685622355227132376152655844483793731062708312697471729448789157483258794454599213339890812283519831433710290379465852883579003400857268574980876921449315729425989424150688321196063448875086273889298693721575971209210407778646448080466948000098444118386708823045782259277429824680589141793456206923415012674004394024740501879745438948460529083556857548989567725811358170399507171443002128950266792476534356415162624743854695076951240844920865707277810011138570245674723091732864167453074188454195751697450253352171542089754460557831374507183246017654551003039878391537362841579185253147086529288017578785600333492987325805530257712355118866653820802733519482627407415880445853696*x^161 - 5934917183597523715884162180841948374522040043684897855040652262322664086191567223656924569698500889982837093640097890532077858360945452898853507238770470436555392517873294243505781840041926580480890572389324314265947375062353614095308717547986536071242344534380311210362755441910533192082522038123675912035857857078279882330487760216521740180351956779176913732488805252239005873214391818617354403981691015739344694470980428286253550384218273755912675592196273172870642479854530954248441541526702825327541883998401494605039757294482096972471976539510196644107452417358849155548768364070718695259696523124725584765060791172722804412967397037506937908388625199119168866652760183500958135262331769125961858626306637748765997326122843150895164217113034858535124038877489897622546200844705532323397729834677531439193595512936632237076710753530423636182171648*x^159 + 1849874298698992989561364207938527686068473466573039211412233320056121976152705191145689736633366622696047416563334522468809508002389822221462932037577504807422422267335036220351184204656786339724579203526880157383920365762155782446947326530695614995742394969382859184862077353078214768247449553167149375495505892923708903945216861905296203906699722276158718890940663973846795337509217897947297288230096400233436297857611920630305396767791062761456456738987529665542040217029070136396285642469087377816353882225309808104470236965487816432540824139174806306891436732145870235804506290993895620568239373524869853798401383262983336514024454017724260138274077791671349840907411598195509374043431217275038384663624209013184044997010962482823743064655039705002139694378972493809180869857854491581113027285206972817160516596483175573185762299189444644247175168*x^157 - 401361677187473764317267203760444329016842358019162991408770672047557447626385438637127733409050673459053486089217490067555718112825383844280207104680626609790663929900104048622931376249540183072811857395602319716894454167849537693296917429106580961251476968219334150060748412682931551238584719392319757339024712134483281048362678270456398132667885139773457776411843590508056066028863034393888548292941591070372923383299841584170127662308094246559854394452851831643000884270485971895084468797570717581274825286187232141356181471689544902288758928113549597564447538659928874632105354373689851857515203453158336903729707624645007438596537245662785023075205254278383544253589468059014447404287531833737892289929908278397252578961978617260983240695317015377123097556084702156516563114991659620429581832281822140758958081174572361528600268088063085017825280*x^155 + 65486352502763038297813044282814262324601170901387619274837238725370179877827571845765650492656795125388499955414453341346552593276485019189748707942148212642028539522632548267996721059953589944323004964144201053200084516643855054848203655918970393825220045736816828041046249472396823282377252639226868977839161589760600648595832904922871584188765283591126863672794285620609411613887055871592299529194801279109538850365297655361839714678571700417016603810025832388151740178253969515348627388685266453666208742258823080987347046512833713541104353908868284959478498776634340777073981451188380908828373530078326108967914839613766201288093116399899189540315011072358263847368070580841785965633669996819445561008363330837242860113444333949103124137587347324464807987014248596194539611968686768201060720221331340074426906859665843401792400167436561116299264*x^153 - 8203375713558902769546705476445248123212012042059217036611042565393929130605082680198940127414402377243622530802571885602639870927666379185912723066685579344731612106975961325304883904573378387780546813586992564834530862341678505317873990026569427903281000635595855153274763378047234406166131815826184287882028302008407051496355120818213505222141859991386936116733008369666433694484800569394772647251476735798093840170524650060025224468726772308305118383593860875129118353246225465850675778183200164627536016399321789332671692681644320706287761660477438349072073196334658884781069524117788477007146212429909680283145127016688675920334851199457091537871552429226140251094524110364967652369837828371190163851016844011493500566027913045061841989950859635941859927501117652998863383195971367260335435112721347002805266945974105883956597156886257413914624*x^151 + 785128929103508946218944309423226491589569094771289526924184676944164421882727671021342603562401673653974415038676584902338964613263206505494380423565150352973629924172974182048357172995194230502676207208097353120260944309722675399847688753157360913194641329538520020574087569570928325668403875868843400209024097025200159778898653174525360559500132564301669324392777917979570116166251724053526497271692396221695206893210465440700176780413130136364616886876850917879585615219802418817161532318872756974554184431701818844999769391151915541255738638640809488799747997863686816076471901802986802728871940989986294254037739692867239476896193363825820292260964104032644978469534921433488322801530462354533077750665201859097311349830525332976112057128486812744681524851166357502791507954073921441416126239624607703330665583400273606201602738821631689359360*x^149 - 55708668050598916735323811288232505280588567617272539813853559662376029002113350881389739488226793618282943443386414454225975038756149587986153718841852820672047962332665456070653388232271296140304147433246700474790766977766356152621844722313348928494191896989415758631635199318170874181218087703735854456168893739848435827948512731722403461372840717235713288851325018074394788915824596608574277415314194311703385646164915628325737882955610953815093465975187662986575215081830349495479879037244485129407912656854289020526469652900922483289043097298497747577377363405084554344062981713754476165912056321532317036280600018700013472084073117612260704122742543978649879665516970140527870895518207355362428768734102475147309410902132095073074764157901154503940685577778394297524528587373384802575436388484246539008170528381624263038351326401946500202496*x^147 + 2692168042469448675314615340879243662217462642003705535610621636494598318525582059840419508505493113147477792967689821127819789529890244459842312527979037319372040761573958146258022220220002941902237471594227646230060770708491591437156711951774694473876094271788007496192989905847176432765989250792090519999209973031662696812839490551240872432312675153291533734474177495097707791439957073877043940988693578929740830470909832174758364419429456428287686610261706804063049727350720705521812168088063901559892682087163627558379881993265018669613732661218458133825240857318946092483548280114607310201711410224711140767391179867832192717800077349311307760950100244712045120435813116632887685103138192050906323422281128799382146262843026205875137452815713372566164229470242533631199695942231800419296839113361744715979754912199475365666624638697689055232*x^145 - 62404874854976164140019941071731026655945848337008480421287262173563320713148396888513514614841162167635183843038749203628509749100853206029025989704324674088790456192849481378319963495599481150016324390747515289629514427660638192715185735165023821011493889564789957386803273926218303771042077769686074389840180888011906716638114896730651239622575665317774507024264412852292203183128528523487643469487524324201996365428184821312552054843280629769388578287641318526732327267894949456765163128147103079907228178495967782307972617090014793071674937365561776224324134538667406879973539404095233746108271488997406280805249976723254525168021399468210162106341277270739297216509787303853941985346893931859970461409417653140184340723246557508858356926368856496911229949160328794386339763650340802979684217626882353079698008714849230623905832713043574784*x^143 - 2025790800242208237673365931156323830247792820306554370714486354182959168319812967848680462766299592725252023229550050358816976912107109580945973193589843671758188185938352460147249035769234056347291274053417131994298478528802237106787349667611295388161583534766597320124874629505920460650765448461306592963789138765139847350996091276973817735195138092321510118182322946980831567478933313571315589241834745593381677151045439028856526188695358991347754989829720185060036994059214139083674139029409272187532320066733246909032657036514413373546196153092728809367252234464130064410473207553872907043724923037947963623300028599294830624427497784068678311134078886393205346619831358653043300388336847472462692870618754155351301191211766155034189024806925971140644305646346508975786794346463916465846680717758444532539251298294413553549333513558294528*x^141 + 242715022634058785681614706616095977689236275532407301507661701192466222307551514965225206768294742360438725806202944017151402397064349916078456650221312261516836182008818653151518028319647306209721605748536504027323675605608838788791234218649089596819418800758375719107277827936344479703994230294808753590045461140090347535353119917747255651240052613243004232188953917973971348333693371692066691316193745055067665044935649493340243891095103888866660804674288608179845842362300193466814041770757317446769485775498908659414265377302566918683155749958117856191637917499813573166484315616251442934612307674051260253232585083914909974718425062873569725454337707139175369000293643061603198068365840699305357898462805844785903351381911854469268595818305709006312416826671071726011387317431376543618551278990821953855951057448668191300104629468004352*x^139 - 8468164061998106195943865366170164678787461450577831016509273482301280345593862251157809984538756925245635546984961545398160167837142835619962098557755063100654415596527480056289591722770237518548038895701862038910139364389518310398569097074503528093354965105835044335276556598149978751093157705044489844642679381199617342844652444987665069035568902408572049651131448680798626912342828681979658384961906890150073711666754142737111077482084717987858617640140817138651778614720904831756616482232328979621079911277875572073737070039735716815799415166079765221082984335665472816157581229332781860212198562358220927231022954714061099035815206450995082508913322276095489022095076154591268391129588211856996419153120677032220193567677468467384052823910800890038314378918448192218885785465837695166102222661273272020739434295910512224259412108247040*x^137 - 24849683858530273396960533495528101987714788096763461245148419447346125790077535816016637637261653731279945166280526696573790878777100213491614413424583600571457764455847757565375395310139846924160821537306134437192129915668297396970108933109380573231077727506309742598602626520110141510383304527794241519688827626705984426410737646147494759992036817359319544169487870870869370800964783244647326762547143276912235085621900059227164949693537697529586744181765383916280280337012266514118479669211736228173580589254015190342980625746513990489797052191606917937547340628561019351268793117524236786018724384366541528402173042123616930340467697621845349490553651358264650371933917299941597794185529697741305201524738829319942918181656527718327237384923001699410430150336602589379761219165003347776390802538644503948145691927598775273971788021760*x^135 + 13568819282670846924287282195789698277750783824546275135463978506071443839350880870085162444583434112564292189019432570821452253015246371975452202458015679596288102931758880907792823693685062706490631588024738606966703692578664311402161068192830050994844499872588192650910587478718942252615745964394105205017462588445761958162821816311512564419088585570936936200055129315071516491968606922457970041859377304886991054229495463100446784366743741056754819687383665768651081448622037599512059723185709220317393894888595517019187161417855944085308679902867887112417886048022799839609235286639861846531643610337981389214302528192819756256342045031615126198580495965177918913360376364935637656307915694612660477903107070501585795140656504592256528174371957652260751335791186759921000341097038844711400039775346511220395844135718090546957330153472*x^133 - 451128681604164133912697160722400945374247430150365595710627228166178172041809973036199097545169400985366885011556044441709394287242863513665364397383224487810083077887270091609719290498316335465170865838079923460605898667281819950531415039914916743628410260664178217126764333206933026224921340865150610080904718453541478515885581820556566349735377234572931339476620118263290944612813045496590437135270298172500507204518267416169678601542974024307687201162953810568829727777948574033527583819909549949498244144156503338220131631412061705736456459167771255495114731376209718804363873684352797063611321250682346529873802075018657867060930342575078648930641971720056041919573217073591565113394477208462909988714587707513693617866711060266540523658626791475581243008560582941784903291422982392184770548198093420049594585238990406494827053056*x^131 - 981248855800524886022994407935260792287722258789499185751450646542651912933321300803619585344202794846378487821811312184322704439654215532873357821837624472550464539516271415729884215108903151738300098821812548281811987811020823471666878437584181327415503063564306906612832515827039825461904178597104970855201679954809876696439656084594519585312776264293841105210209554857868628924549124648261950447350418550535332949669717959875419299752070667452557625028982741522075985772568811123473713750901362974813437666480561799400915396064942776920135298589373878171185038787177996800504629887140252565574543445725489539080586738366525510437356073649356292828472427194245344023022662199267392164861660754301853544610893746783101259626399786830920170266330343522982211463171372607917513777236469489299590501708326940269541383193064851097255936*x^129 + 448422421984697566168164758983240954087543444039384022878234513049201346579280664520371687783636046381666894146755337344387122058932971236191171189252635500729221842800125923024959047643984537007940631521528179753323700517854261928814076039491938815507412831197957633015094415247608361578113469566717539354962973208378875835158112033152865356358343320630706486151299493826389437107098434399351652379548441767350080056882536714655147084311773592287855309401364172857465238766430681767474114603382278683497761983225062042115097871232743482538591388934664256601657580005770571505157356458969938307271426540433012935107525920691699178744211431468477920041029762129773029322979895767841414898085697961324236734159549721019480951399979898934782835458459623547064767198166280087493173288106380175474859576965391577827498983757488012065243136*x^127 - 9185710630151657704756851053136252056760599918977520043618582671645352041090129362759651298399578060444177248292884610799889060494757411339361360284161271715695391341886955496756707902453036088686143743606242618514530858225520889814041535224703811496421262263973044571669536118427730182656397057579352077352857394205742033986470971882260796972300732418389199254176414496122396977852247416582228743560767222231142146721381473012122067716622547859216120988809837900121856663148197424144590220786939242805111949724379049660354903258190517320016097993632185376015745575068572575083756213952688054438924654754795521597325951722651742360880975952650468297313694146051022325934758537624826369626668449117536417198172498028767344555924268771882752521265142959523218797391414063822950031792466700755069911437223188934733214982049701543542784*x^125 - 141541574258836090142450727327112149136933609931863757138352614638266909452914728708849536777085097499427768244293221494788881939369598790837370189017850466854839415723642827955785848649892079824949442760679050396561010648291429321313231426873368052321416898106781658148907375082785713859508044840092449373792774858432027305071725529034377241457562729442103044335773066873608690741971866030065838934756330906634030025572227395066471135211582687249181604104772027018348675739027470982801037797586493647469289736323720584291612673914526565647073042705584204338670542665323833390611154530036483724930810560544409715630059705781305773255797284268129539269597179348810363803784029075124373000287287780683317700452544170880310989196186752410990865224384307125946074858318055133239232821991440197804302369217564809468394176582435987259392*x^123 + 7931028916030767253906307018835679037393490909218462636356610854240974792318016909137861176939046743130330140735514694052242110025736977632388441764881098161051412256369697405416941974913009111872574467653371977456803050475468594824619108210323826279812370939913819201662631344738147022135648929874955401910020201512072758673017160941060963633676671484709381376543641073494944085047512289347840883654180936830067531967346493946470269741938904496375362444860369504639545553936121250114611991646383586948392369090730733227668425110647021671241681966021204549448707259051182559640389059448072575353609004470680209149207197796338855876483637548346260505132765966124735153942841071707284314381843144735857477693955516985390302896137089201335184594038068686845981880478262737706564989924954909440417207358957637602911881853050747355136*x^121 - 33633749081088714991039092228874393568344047616457160306603771247588784425633068884920159851962086054057640778633988082714974454299005706692100730869806238135610489346964954451266172152585847305477812488619808775764022264234757146100634599487120283973115152658192432764858333127060805339842238060673931488039211620689956573641088819027314051446199378637822886900003087982559308621378775368505362138543935504985131200977508506100865419515381823706479754210123911763856447937149067600744495798976986051088546500727499496151699695593880768556160788660953558843610119137840866643791899256571419588611759794764412361441359925706251090175907298533246292989744323676723509658272490465519420126201529490047611736905528892892239911456258091124865271784392661809633790181962051987196694119976178535885797390254327110814059203159578902528*x^119 - 3335676037190809053302978177011982961794993194516424808919030365855968746878638300132173776173680476176435633171140344691882772815079109892897770740174277379568113215319510056094473564480396735753114181860492300786335011083465593621806126746942885324521187629229850619280598288420949170507488310372102888702543649088233919722914079024848552177654736124832347178643292376637438141414970308616148118218374045353838556586438567983192639146334841578205681674379376847628538881597321605624894620666815553943741299197845753383544320384503968559827907080940486669980605489851820095749168091002181610533047326980952300642543789769108741911992218543639684966685758200969331747758490850921427758225838510117752902053746032376759176738518137549150705336868117630752579745245390077864572248357556036584401891054445026048321394771232817152*x^117 + 47583812168759076181282098182764110055388748427709195849588739557773812224221361579534348511136221671290599774527650535603329544506611055389219733737543011058830809296018690820056201164172720406250348608180469191308935365476222974075004482082492544047296704484048409562962310668405231242415938155520984658820066818575825013063943925985997060191036403570284206481141487666465696422954905043656869320796621586347699177076073539269229831959730106808575682165289686342520882640980072052144178546438553085943677092852920226278605183195922928011800715039301218461319606217227336095419973660064897984798033084828784345835317488894157845237160062121310498804016293110381792345499221743030229405156015807087294417028226600053726059103444266447425036665519875883273032479737008729237041039303041138851101374195452472069960415095816192*x^115 + 804688148208109086249757712920651362326599079401659946623511106365542517478205285016446508858899730683157362115540028035836541454142369200830896901784146016775873029008032416772463886001747441229724607057730554358790164518413616080157748386755513174367011529927437372961361058856023291844310368416201575521865675437008641359694359493551176739897576034262850343673836959973029182816493352475332348694628854445182627340392570813062445494018495363352898904293877076124143596977290167633258905740315046592531243636310357902749829375182481565462369462305801563761276218503471300120833261682293536990841427913133461794992146073941230770431987825172147615244416924401214009229276401957066375855145145064259182240059281138099341388174822788453283748851850797683453249213933271520435252289550854966912077929108395601256989069410304*x^113 - 21229555947201823636108789947888148950761705935015734527168752471516836137343601927912263459900627729969187069682777165093612098022265178076349021500177370419473337737033670215410005987659903156468832516941156722485282405904958445954306292390497589968610729382149151117758591172661015143055503090082446616946208176993611962457131993528500964447118030027441901746724150272687614382262918578362389100054538701536292055857925031085878605426305437194030327114470470014322572860062590407338517977660172076764697944623009112381820029023829201565595266583905261621204606571370655239808347107539490224700041341379475386048026218776425925645674654992988355650914448130664943538771130106571108664300692891794996153935740214377051664979504697114549284875202299611370397854213455803659097216669372415634457115010858026996945953751040*x^111 - 94565803943517616512034172576021737218329874781312627634199763017344701249753425468715046443354653280595467269407159929547139913966646838269438918005126952727108560797237060791576577036617574758779251427705958636379446025462781447023059877059314084675447358359135395404795333214180863897285144873938256988879240175375688479306422792035932168061961471103692453639092178481743800182832808171253459377180290175808963210771800766976647058001885442143263274977592391254816242354611146729343718502928138816696814487104105000131376057048194220064781729729075463844549552104753314655060796847314641803949856631111109469615896209497147812688987367691031786646213237471194146662936084971770258498813863358013791531024071797927943791454781146414908319137966512822274653225703255151476069003212008438641126860047516826526141120512*x^109 + 5830644758232271766383521019356572180443523432416483641439986216912151255109112381586142706969435308204427192516515855888213118618774565512320687455383759317389481175007255370318710816124218621606702850444142035545643782214854692975230186726370239648064342766055939898589118596242607895469628714707148697710127321867779693965618639072848244455837923770193518289927025811373800426621956236393580260422821018518853835346636002829426961860436895197163046642184648630601185810824717383055935021514725327828468942992790312204687130518789671184238513451500263651418712244038772786982648208685715401131501724444304423197471088724503504980421094613842296917321454798794870991546091274200064661934788673059857135850118548820888868542756833296366371463933284485964306704974258187115055216619468554031870425856411767044271243264*x^107 - 5782493237874892721990720300323148765927053691103607444895943324389315569183541860949455041895126285981260930354250247640803962467985029254526273496010560530193365456031041323545757116963131829604702786688233811248827169320984649630861296295571605363069179630438393286444779886467383383308672909696220001103684448041202829255690721278317458422185497128297600078555638389688444151958725673200974420551803786791929175216326777078175373366051685502802313276690348046714068908657433480729156231481729561319768355701240804093723987952054220720754526836229717824321558769414119757482233971382523337048375666619482179958538144807152594346679568319348568949436757298196006424281004181138319548170868833052801431420324527487297429732797416833784724016902537741830506717834820206498920498002307818804834936982326206787485696*x^105 - 1117236106888986118873071476554856980862503528335368913318208292339356711864920580033860704725511596904193289649752813868418371695186997735592848578762590492422858948943048163747141551635172494589619670759463649508675458320122337872613353600546035956331392760546509044916266199520359680004852802356033755401174705862811203228440699918292401177989186504762528638952431067597384291037597352768609885018356332843835303680801854501219801811151284814477095821478389190134718643238259123943008498610998897088029455343990253278286450619910829942859806788899703287751906300407835699114905682965580079414917791216989722571209597575568039589083468885772465130352654992980101285168583966200344731895049666745011844224538810832996919030842133553353120538128094745470992670515224335221947685948607546328080281408428801966211072*x^103 + 4711183027120902050454978576015452409297783992847578403281926258963286933598819661596825356276864380763965709843597863610432910680236068989025120578715755137797152861966419583669944773706414982199234745133568059078488384109108492843409808851098981849173953146804284929983738296969984274161381755242692558066680362317944527138970228685586421440615534498169128652092720805843299097097732584460763488601957561779983280562071717748034107651157107211658214019522574775064442456732876743286884645677779234835247552152952781331873354011251360503009170079806668079665140025467124175051439653815706384830509331520855016675624295206745326207492018289312062746743530268337248521139851401391216386556701774367881347488760639621251579910560760032995646448169627831853137847245756291997266909754712838928873330376024287870976*x^101 + 156095396601333685178520765440823876214562535840642833294875574265857588295147874693209517245154459906159398358128328887007654176046076224870677513908311316174288013966155516938046398725347782888080783301222217636566835201328023142752172819526496404332821140105847608290408312238017882710001580472699377386178279223332565521723995535279862844754397418671188913480478051999697916184312870028840668819348820634079733099434747336306584614290478175491671264884443330744108768300649994073767997276996485886512909679523749229570392791010765460945324408475594161500163227805004155468498320296263565354326843040321686250775563150126904912813443988061662311273002696058827934026470207496206562264615964917633717150640341281017938543665873178926968465000168944428779777237659264045679769093622346913448056570635846942720*x^99 - 1008689134825232935219054172428044772788090387072696508586819923619780131846457072216549108793578919762953064702217588266360065408674562283685195181582669222380916881369158172810089886977491340264080040832682084599836401289182382395156387040837521867518548223996224000234573169249632752324737284478899383541709560026501066512204544954123999413573733712140001100341278287802490929486385382978503448080032728261234021234728286633726893333524225262818408837862986989977561265896945577524346611664479982198505905918296600111614843102028124518759550007197338933453421828551495267096974895539571419116178020219579458359610570283559990353892557449737688458457111279644203741759321540773839178480458724636627205778521957655636033454855273285537673223565371546535109668297815144355179036212058092519139526127336292352*x^97 - 16058974498985129899022231356882028481109290228777149537431468044243876836508802489075572444360505186046809560377256070971599399108215029469310841501567348448268694325798686632346457751620367727385517314435697986435725677623813999689487900393447807290026640717203848724074107030603929528903948924803924667772568885837477222493316090861754791815977044499925436886826344198900261195645087884027496555669645229342443509750184019709889952843768577570166285556544646091759064415054546725352876929782342515614351264531099241555163335707308902509618120341150240035348685584751013591799196086696091443372619505016816802506889370693878373158316297875790208022226472141078705679917856057755587768687811529263093242121786378734667722919158840091049084257494509162668349233338135536962523697098013280807067392948568064*x^95 + 133259585145177833915501733978770835559820168808433165299528956897511468685624584581307639922229382841625068074568503606991743101283364057236658035596410636940561371222075105899367276975048358780000531442081373362320885054733614902379698174346588440313890665920041925096017110310797755445207567438695593150032731608927997604491294134254143769896706540250161644112619610931977361478242894664518813705590411313287892338287070690141887925644883080904787487376243360784292636869199275110463735426376758705759342457831490083524805916842106017525529826614082945417614187528363099994189526721904271011340314545834639794971771111079375268327100601831180914618032712963035900237567242359478642844085335865022856954478185631797260336830942126630263251694100586774122975925854295744681889886882523794025167800238080*x^93 + 1190695433901858291333719939863039995424845166230233156088969157883561235114692548745282652470136609936038639643461410589721730224473155428189088155815752882282395201265094905144273763341488612750418582813397520310116297250370139889169841470353265497173730413607526331464741442282842963618802706268144450690079181322567709937798213757007273180344843040888550291989117448620297444077343858135494414715363645395317886196910719718346605773284348216599624719484565329654692694273217040968567944797552216014203660609983741935947558577101110443140057572617649552953764200740972758927059036576864537308772587394073571977176185422943040769139439767480978292908497524132884216730487070965458536699387819608948971604267086327683037810460844678535127362687061684750396413661721261419882009939984583623324471394304*x^91 - 12308381394670802710108833620036904621370729578656441980574899961463772425254962848323659321827517460639524359676245385416824927967786218507535884084740912019136311398427467085771773556610307777503265380538266369437319048289323853101678637033726896110537056445448908855733159519337301394186980111750156688772028486634090920937572114358899444784951008842545188747895965710092532083611445224115632644619607657917752430388944629086200354711190478501384981644101644913084797039594056567767068753295852927293846106626140834684636970347284717207755457159975947756823899432130712491670061742979380206419630302042373716868314001147160369107920873289092606036959541131385397982259098551130375158901990202100299371597485919615751816297281314320720229006991128451284501102404552306609769856528536941355130159104*x^89 - 58871242547405958595907990712437882528029775109863148923236264235123724827638944151694063412627000711900712776601528925141455290171469350819125841813444798339924181014210416137655585996849511864115349217831546036658629004805967578971545453332134136773973880712766405400139157305377251014142259759533677890292816309212978134382213199564103171192801674467748104953988143794929915383579284052815979175152424585017985410355575345404364346793167553640745234992620899399978578448139317793006298022706629633788466846175257227981378336670581901695870743040904612062595158249970114830571065251633836336865070237788886032112224722481023829563869312998617840743759002734767090040628665452735113580827337186173173649711110202885073591076826496458628607908159863373826989443068402437492094938157349713066590208*x^87 + 831089454151111580076582477265513349803406743624205441603510577713522398081530587740950373207315994560828395520250074163549203109375530975333349021770317494390671572783344417329474566517858995893566422904960485325368778703386427170020305551500027797197066661226284011028888574880495269903412193359814926497285711786008226731836281374249845911893613238493556899522831912603570005644761800912751214694108721925780045413641030170159694297088407586809022625536360101356218657188669067101170922994576407434575403340202551175550597352951180073800891585634274378303561341655808666432502623027928494446981103917192695142001187598117838204325884996543351571763569629185074366645174140611664165813787918923284238829879464053937758624859621392518790766208245877009302717210087730173343677434774273461846016*x^85 + 1443820933084241732930529800884085723833071211023742810104270290603094711298820151812181431598402306706044116038698835557579523035265140092855111040444123362287946837044357976670738506987960423315997821974274113592834133073746141131157158852831726835508554076138085775769476113028143834723409500108350435957910534752828075871624157393880896035795854975022258706191182736872968777785635488090812155705749751716354463491990594330475651502307037636430304564019744305856380410352542718869964441876889959003644619063285230079711025549634275238240959603046719562598993407586527886042088497519599158206492181364310448051626245341441336371998176354679012994929311604402167868229426597082794062653718583093053306671974136398708015897913253995679149532866295091520580196594480373637654339060593978245120*x^83 - 41564299638240288216080784445707232365643103551002973217364481910337140708792492253736534889484521969340971981100208601419095541455665327873874031307798748527214605187107740513016901919152818696073936772283332432013147015808087001874031944782670647492899213512953623472545588154846397511938672910193769515867069363127008654397487950990665468133622230143831736014524483271602753316763189890764842092637673509451375229636877414352558665957134813205559176460309307244852338012430330085584822688090927118927158702221305244674317601022525455289363310359936168964248556823905918003077301837069997711781873670105909891633470028920870869084193264288298889043128446561210744381172310225535926647226535983083128950534025949424711325913533114272639921743907966463027530764454639628681581755511875829760*x^81 + 29789653204482093556827067903321946950807440771300433089988385021117275053564974080111790822886155293995742275320535194578906083708915306706859678540249197093896990212873134387858943624767764987572440671953207436884398489541251211957394864322665385045153069493558790483323194297707118501374288532923519172275410761595562262416399630110542805603363608371505998959604653284493867370314289664848949132327464251849522431738382424897172374928284147003319776550515942798064460460858621325553966877018632470963294614789490262887076609375502093655437890163829357058924291641257737854867584026233791826581987885666052536351695466053944597264328936844968566461110636642244053265226955402933083925206168643394609104147698603950508460951266126592521015887700350492302917858255605187999954893237387264*x^79 + 1496060848595248327309839000265812269219608309462702588744674012875667377738085319938487797956962657888405762754282130126316254159956918597794294821311708335836379797318486266959568744103160532921408373189120691696336841637959981416042902435703195420145551572910420193211096475638663466992426434122853137836724813272483914230414588708716736148752633886256688863824279554770951859499623976769577271073909433119913790109534477990391418440856075022302116629950121944522358330695344968650753421715555605885704413819297998339415320393261582207451109463122292667246418562660294988726885759486592418269316623305753357801100159544802243817968568923533255315663728008152002530432487646355805930542346003115275144197861163771919919363244036756599151209298665847444485685758108898002041991361200128*x^77 - 4395796158192996899138512871641816407992326699091403169457282636990452668610899533928328947044491333150037396916166625236954432229830284275893600960394139082174829721697791755285621890508407317262301280080118492898288805799753151635312594020868255798133763038605457050421018887911191305127701486950310492184797558096981160443090666826859578202855854223467732356380402206093757607968280795400222648342541337758752550568126997990355809437448460793803124942433249325859381533348451600114743715296785086357998336152908105618899691483791633923951387806588659857739517899820746786157889814913038629277696245686125913993985034874546847023342930294056568785392500767959611858000470237698402381196398661069680494254390631056362332904755486663892528664211558663645164303829166269234114195357696*x^75 - 35881767414234337358553204681719409249400313994798372365635147902134373059111734194202668874376343517109768462922772400166813547277081888608547737026635756441564543482281775236053204035940773841713900521631462957784748284036890195691495233988252739901605417998325807496590562370092365940065788319039692887291374276676949844520512981816374455998034457377199121728203462230755722210467583188858108831321352492407248510815914847627712635559581606503331277609045264678547699678125930685541015902145908110113467294260250794972752165457935315586680873609725803584127709484212755063529686675714624548669934993532576344385828448713950593423213230119537269920820392623587022284580310823080572533921268501348511077460457207622204893690171055777996675715019762624070002599699763613605803589632*x^73 + 203092535737121948493028822171442678903093186641401483023432704042683284160989236649463349791737417410329282441503907781117286134433930382714451738206717953275752787794879218681941737392528685698654519452362128057949456850337312921898291285270634194678661480760528561177527490349627246897756326307801680405492782476754405366806988722888491664228580867766259945790620647177744258867267446328224499660447637506316443132934802488190350635820558624768911282775065227879344335879845029375108917815115911747627634611356766600114529307697742067840324380896248115297212493693987102456130064312223195061953996999239297857375761512066469232310240046573417479046258263346349986752183764139003373661487019862258085666101262391851915026730064083291153560715731411898364098406223200292733714432*x^71 + 440718464893359607354213647624471709282680434331859169298394473943131136412751481830336389154202954414959282356160348922577098699743995081174507283784188772632610246142991729721961191590073177013393065830920911325580239090246938776828508942517585470430307353610205293748929230627967658554609494886013006468981871066764540095089995673130898837002807476254572973257831604119204274867596762896113633505573370296457017627347815045144874056073239088852470863779265420798291008464826089112378042665548594463424751454922495625714904708392025142022392400570350554322346663827696521351571662672302410728797831142438546650841625944653823349879269791073325667159033039990640722041500765387991096409410792096789822322374927860837382373246156893279523622247141967746969199284844767041552384*x^69 - 5536822049008674334029219031739563974822166091639052850720349992908874373833757826916113798782687814815314808727701143675133191607785309943175005053104856241655100373172467563025567507435735518993639080382889676910895934561482951049764208152661392905272048991389421501181931149300082411323961283970904393323382765377780048663841846394711080184524000834045586740743439945560967666388946184943124686203767351127121350401908778642296955929707546707734260343023977400070421657683155642037725035948490003240978027343231579929138484938932431951388455466020108872288085307013878201518519715184922304048155631096720858337200372795204364410229196750945432183041664233763991503989987872420361674087156404009894134376235623141251734841177520213827960675293149280480907240132412409118720*x^67 + 3228381450043117809725560938548278948817493922131397896996653556021902861475792847042371876567955592212834126425302088686264189181206023900105324053157134703675969622091873596450211666376674644407139689821581780667172783121624534458138274417900659477739589653094146281490401014036972707388728075530570632434200802778216024545344336423584371460705347686664697867159424364631751516658272055985952325544458692142214313857282029570331280570996658618970898018691293879765716721887943341372588641598714488644598272864489767374956870205882039508324535731262310199541956459508044275332796284492508360394448795422682503996054709419739928746623646997237915563689469674098083899554418148163944253598467760801068534079794110800350928934092457429550895492296997330830283033590454288384*x^65 + 92437576656685587719766237707106023625313888963755302348671223140610332983340142155262901133030424292366833170088628163218811448307609874603383720292374823916842142907053385555035574467674261809173065678940962928052794916168399298074182723995541321951574979032776421324129633212620672507299139768884000682352457215744456091948957311029214119191741422216051465497116565657077410712387310228774552414207384569042392855430425942964556703366865331888180577371913814449136901607011991622200606414774761869320563016326069085705828192241728658405552672638717275265610756657791239018473378563021959129907632550426261205635443854997290689309230995817540804011295836258106765032360134004269938317921451848017499458164373859315606575520163662429173440702889147124650931721963831296*x^63 - 254702370702416629475527616863377238712031334543637015807390314955442028196144793580417761277571430744316453949001131787828455483060574758563509843614318220936588254285452952496525623538593053911879550047044947932747609605065055059706329492957533584556096742480889481530981927818097851976461059818555470881288478911287136911185248675821528547374730408994811724192445848665248669086101651352726833641162146171946950815913829730834728817122679947476470269407007172077320835815140491108201938040050909207541109285733308160862233324941570941857657176108006678949932784505383922034735290448343485450096048915733288147350301208711378076413619171424262549624228050707413729015073042236634384483419846492250534583944929511477371093057651012540506654636247207053276297673310208*x^61 - 733063391206169307856777940584012932018072485445288541813462440791057969312182555166481386822284700562942152383070802548474516315510197887463583606253918284155871554673726350316256296615575544521621012778255783662442039190775462562822778175356936190765910160907285847693394824829377518407726111040558977808092653180873279001375882226909650655486644472634164719841099335044790278530155435454500216537497934902546770678877624857608886409332597613276296312110777109186816950638733706586544550486271478095039357165982131877967957391016947729026810460584392933808706339084548837041308791550725330405856576004946479477310487975852155131092763480743116476135629127806318751683619209251904619362904547059926934292569106043787635342211646790552904854825931235311274357161984*x^59 + 4890315530662093868083127686367993245256346340598070811017732938623512896168643359580387644839913797361247199872276868651888238429939863438003477707910006550429860644974557583664922330013860881857280496676409811989915711059801337965118275627487113302845208865007864230924736349643888264729605679970236322295643092726968684075934544006404978172436310550163255233117846621644686611984317320362121837798354934028092884728845285913780681171715468027085386920316757819426358901320803656353697067833045585968787221295729292315048148422894216790877991487631529633972252847551676233168803369928779200528416580150458058970488278344628887188068815073813445068264655815244743779480222564394204242637230160686387639829376540273554785841086167341024892551443430505098525016064*x^57 - 4191312565738717262749215665903101381309420588394457750677582107011693518076501184399079086953085744381219272993563442730453263604863854399324107772919158974884940945956806297166832288765819755182352456291976904428553132220983485563587392440659721706978267215304215571364616669275029487337822655708590466984834259793602294356336222193698409745348171968621871567171686872884644459713072647905592315445858195697440158141024580178426379969465980757175249686721700645231295242532453367079104576874009384911652845351520447060967447365830403175462181522261706085387371959798366271412137222489711384744888768040339994053658356442506901502814627186017570254042726723828792174316502565460596869141766471354054433855309715765785120705742507742649973595424116219846852608*x^55 - 33917209576118815665985503786842539037435302425304928743487490379022920015430946901764816586067401695043283934979315287867388770478737106200704338666761517070345887151475794170228433200274611443036264286858566166502474329331290523077804096041972179939823124587743134645332763736211005431611687840829720569889922815963675781944156659518888621912724044882732839994526348202512068702431843473826032701950509786823326076726853413733838993883161825431499500510762509673319998365168941315488039158087858320064179347423875219032284537472394301267288097628546856445732156308057097093563843668478094299419565709688145791106721401450682452693942448872763417059021120445260216790344239231230504056779173783950552251579723475367595208107710328229498321650583067099660288*x^53 + 125246948824586453107389687453857657097707988074887164217177926744413716395153857641781466203244660648525915547530352763124072509448966730555454623629790621352780570122160926001914525345248427721907685751003030587733828540527737750089417354842846773503017618534734942104453406677657340665392348634981991536118471326944281533637411587779857714350845214363478462624232450952142557205327595014225334115663161575721433627427225114307182820258484109304489629096447277409646786898682889773048825715702764556445080854390302424901709559674429648677019498023473426528275115503067844433261398079215364473967051985894432039930039934929518972372383811568566433566505160403764771326008060564136823284995950687786437979884026167704621263478856745549938177404807248084992*x^51 - 163807799710001331753961935531468989009182717273529674163308459206984705924414405130977992904781613181040574704275327014866271149887420322340837824090884967871360899521152510662639534587741703870635404878093476303702894962584628589053765585609197578597899614856621370629582672512091671753397876544931057204884764395414798668873317998062436433403846145811626279707588725213801300752084663898831419395779703251592106147348961917902908141284089662484623080299029192859040513264170920893468144781987663893224732669951199981198703952998713581024891582498414706663254095493662806937953056070933215126352854901326718080378229066196050666888704178622487150155020240387843304247046643210482733730270112247472768159436722704673063752740442296856379374969246711808*x^49 - 27508370668228403691356619146402835354148198441811309230144398495629926708818813104332050959826748567624383362119456913155213162263548373878249303820514095855277012927443338522504744036699039522922223081448934277610143318595791496231978012811759406211910408206025121939945437268049063958632420838854329002688935699063553943088231853130846293794770597764788381169342846728807875174606671553092509738831711097635132533878410031636289185609993910038298055754732633720768425893520838009635760023820236877465648011269666278661585762398430372044498221502327980291017511346481089060126278594271315518239578614478092158754424222002217252826583375878933903536652855953932777591947994338909781004312180724222931895789688595864299929466982582216533901871939584*x^47 + 551271521331577459479711340268614192256783533369263563187565150477052828115982772018321774792403092530106912404714973479533511924880534594682829835043914653118212769870386280174185457175249273467466703095183908855405095757384985788563267807678124017094843692984078941955291161181097394008088968295101595974529868793405100180234479908999230977002764420918818562484542881171300273727466679027986743271323532084369926000209706885267674370112763638059496823978204252094076324562174989133900417878595311060903119466774221263543791001983804358349424098939085024704104323760568751764758237599176432888581874936071087358486028180407764601239866038380985105325853357366412759141824208261347913812823510949308340731255824968290515714090257752807704692260864*x^45 - 2194216270946462185065997956063274551912556461482244369043750931362050829685224299959869557595716691184012186201992935860502691916674455409364458714628580262097177738824818264249825215385851720789167612556654958450690302157512561324573743675373131085222299904123807534093683942961639838679410736562374211762983603518712397416001371017255076646115862435413284026995601449277898109857813535609247037455145026537768247652198105853350800902883777990577638176016277114850570603601011444078328103831329992770850542018858326490367309619694651712314440243022452092202780641702092810839145955908644909213719231931029277631481102847161985714113550511475206339007033375851736482055957737694376989387353098905344092076722993192056775595174944546118130728960*x^43 + 7617368092719772343348730471115197802853880760425792475157599817651638341910167697204327272212374367261958680919912275024017448310439738767707098583057767081850882343050228681905299625660264325564667543643103338338802540967029617352038222041732750844457470275308748295519254846402409475645529827331080516303649846260874471522353117748959907612958104476645805775158169275371560641417768189541907629661023069192570975506975561324940081032787443502484591182221905998414858629557790474047369851351500136515099633685841129648290228293788189320172253484415333117376410049309508798077181500232897390980238255651700692029614020641785840845121843005561790234292396069623799740025841513295597437941270245359445627513415552789650037600196251163354464256*x^41 - 18676392876498041819326345762094106647924969705628487296523329135607689163809344404474685369079854721158740838144109901052994445105560883207149085570632740529491201882119285525162516783297472878597882196114370576498047368229430199231976520646705634884334380963860509068808032661140770707629842742798561502834472935238289859941655237680119769701542436327753626183879762096222862054701693288407366552524187718433308886222873585802003406296068885859287791940910802170172883625933611233160924735436259361286178412084905453545635774327619781969560846152812928341967419723317367778214620417798656056558108068154136551095717694656430853611865641494497473917486567349010459370983790033705506228478426318739365061698178652245767630248601836473810944*x^39 + 30185130275170612466674403537581336050995341688915767696823762839434343364573983479183355217335369161493126310010110595636594742502318167315267750753527906081093887291828165662749594382566171591243280457286156718186736530340969114979728278232056803170057337611740749888349038670735875623871699981179245015404106511521042837991595048240166412048188755069380213846090668823060929136896360591530953294999362542914697700289650559199533638954878352209795018341217152662983487253281095635374891491417352207934506582441703411633275142977722852596130622438776723481261754288402080737664041104606199663397071553975433999369257009895016031135858951247650563194384369579625329761941577063925739074181887457471089502350266449112401789110722605613056*x^37 - 31726133781499745610953921076005678019912131877846769440232083313473188422476479749270007105939379231363864713548924264696497631335395688350037222810711267764815744387613120461414756903651019255379040492363701442798135254171937251917903051332948851300483909299144089370427142905502609379637511455812694868916828036280689469767550702441198155456311021414465007753748006693166154382020000436763223243678822050685773111874678628660717314697255824469549636297509522121530190085092081532890440258377684767494099468862366178944138335873190348422295892099203422426179836603909517152232597459832815785921512294428645353202793233725438856540376489079426251444975672906424732110209961806594121940871612651322216289808794349892366839411925581824*x^35 + 20366659302291602780149596818637044260207760915744990203352099433416616307258318687884250977881196631988614203589958313164044881469237191492919231657776361399408358573119954367435191771851804627478086890215336785409882717259151170949452882515971162674609206653780345959423558522311991211836271399414095276191715013825091042949975529671669507946731465310743019578348436598142930327496383226178262076258578757500215530166049283678972575394899027985553340796606510729338433727502545953585911657298962972573224390163630695227353276666525864921988023121936872186648046105441260086458168938478420132392664813597497373488223321732684743148031183006322060828717336611638461985371496295969699506051683654996019340926037999089980979466469376*x^33 - 5519334834316373357147219710130941809962689244882701286766033727741028153577638504167525355255562889011476656945083200594885943417049113889927393838719326142861640179056656615428182051115271992708826999020443703322613797069464829443048148187966035338972352752170474704834680137760791381980713971377569517822576694647787661447313025754459370257593679559324240060040017665552232670028998718040449998734189682872062230258593570938736550374573527161926559851550683778983224117816917978333054853947191001954188175342642459846796394144203842474969593681643283341002074539327090401904413250586411027357937999408118010039217767772517332398979418531593778780076837425825278365186289514965486373133557399492966226246552487835470376468480*x^31 - 2739563747567654321392801680284439987016083622789572856303330458352357135956190606556880130962165970153295117994184271422149748993042284734214090807763753926576424448044232461056560797815884354046976579586757188065616305459804304931079297736406828092913631108006263191992178299884273592410149689569430593323510960587141699004454324656671768219510397701174570489198360003045095320143385932867572605412097997155781575846097532373652983895358994806425285224079877744332465611506819616130879776620908539271633234306673408386316225979477085460047381585672402280750838328466590544300964713990025961732759286322867480777976186718031828070170026262873436316509226160083034622182742146887703232804887627248449983776773407722656759808*x^29 + 3603082456975717991454888910435302188702367216357240341197599914899481842005464697489709938604921318262584818457320778601130434234363814178020000601752977529980093144560721060697078386070913143380803254685038305394332952385929086258569659656601438412241772395828602719170397370879560308166839604805824833036366364473262160577681784277033617213327516269586097412816760253555252354447429067231996309262125866725378125635085509444618423943327071580838682287618312532055487308394637770547109039481573572987585988737013651140384902486366409242178122087401424753283914306301116147971185975034805727096210432225859714872344005790156974079963145156787954273079248048754960343652003620102831768323397881018519875779507674341703680*x^27 - 1805490584006994047972792634159343336567444630083447364897204300559048587277934995050074122981040335677066805227782768831294483677823286369718140064303341790585892568833918882697887404148104737931217691163863257604843031548830592572431978397060970943260172509929671616117598441468843808027709525442504247191085194599002245959011671865370068253477233209814738256593812849217191911990494945052600212420550370901769016906852332455320912990931973879346566748480783213266474411868406047726528072785671387951931255548049156708042340977294090761920449455662321649845967384606802952337443212613690515683444033951723094550620960174325893869439095557140445323471885564709568512651734439602291759785039207656504901383700625752064*x^25 + 514737769176085585790544860043910235152974093491230804813001884327975161713777154897324026802224572620548575731118282292055933041899367388324815662311128542511945039503853737602076525777338733739049760633716618617404149085328792506342269633603847986294527999029767520553744674797653099282373752207507013959988054248415762145720004022855081464658907702572787518157541988266847387670995284671710884801662392034039878839126706985411195102668632027337505763379906154743502837177734122626830449738456973065193971866665262676922666083750458448605406412363332341594625702713701840668103963899271539858279710595201497813062799576747370931865052345387482156587525930552465506370723329347796713027390692911231862458919419904*x^23 - 82784487157148769335818339657901978086104288338366021257456218811033709210160140867784010687764555603933652823250808715304683589901303425348408732051380042055669562488834216021224810742056176413592133556411015934311922014814895230186634147063287401055968706452257693395699586373187273192321044400414667304668954079535520363162585497019608748695066923622672951967777028428359584002861911128276544610934347792129205447891532731685034614104301948712121412564976217663950775775243856235835984540916629555179749253601249458732089811819499511615143073238718795544344263333392774172764636979641011360856930370634354966773920434706687641244390678071100896092738136047099894591072166334943279269499773477317195453169664*x^21 + 5750744141629020129751879040621654672840567209086403140962059372686132344042443306474750231561569698230060631461299695683226511089240150965367579778914446753303959420208492763544453760906494407651152148832106537103582533251185064383604088207957994533222447029706603330506164902403882385211345347994564508263169028299647030768016013100592570358384940042028782562011902308082523656400300392829099879923656281875454332736732940602165727568087084486138502502675335744946319324357848689478567763798996721796412272274039389580723687778667503758443615873212586861931041272113587501992945664622511360707885679621238613160986284951911229090375889477277839120124973502164349612851730199396605647916332138820211310592*x^19 + 120668316206450028065811804996248679626886712340546887088394214626503392517875305182677260994684349447241216892214411963815457191670156149938118670897010714116647879093494819228199697652876972050338767061431414870711674232591364811487193189256526382577369184911091976444784177334405538637507785486036574209105444926484136431409181700363289814180875449814648835864553189315706323817379364486148264292941780875859667936365152312952139034200619434229782131126423274679390908449231601310211387338646677256050034807082022049119588339044039895156075994997923597263994725827614080627635177186259893346917771452024482280520005590809692674501783101241859999848851400293482446562049330167375034997227468317786112*x^17 - 18100127464426770010678755397639257669443839334417954804161089905773240529256097892047553360432933818719982115128265592783698727768877059952808032627921659207512157040352056867473015739026590383006136807711680745412071014111209306771049945388501591146115814158232366070896023225773458983495741814353471442975400067781456625691440018769684513009660592331791643198160488956751552072168039382151301903331030666469503399549168854546487751502378149430228112383267770805501907913242179165673891549853185300686588758525473247125996182858941855487658749601768016747723848535472286624440529456934868456264119469699685867584802737493027036079394033494488793016151100821930809246137913733312013588961733640192*x^15 - 1702820755049894003504395119469980551789773613134844514532831770895101782203311363219191175802574056341222846625007589379380294363005806533924995712493145006818197679585876200903742425887491882711511430826261061722347871483342909087617258208708793644207244585680764520569296242727466828179307834063758957566717724219136290584113277612007378822339016631524004217964900205845389035204561853967112219183756078964243800523408597598900721112374328106318079459484695429545773471074453557862241246061054631176482810299828232994595497757088587175964107622835103567389193800882430697694470158357906656128222077581814515454700302452201454495749279654936203225646124752589084882754535583815075387228028928*x^13 - 36969417868876903693152336425244608214697498348530841073673844229711073301198446030432891656282218857385836099859011209011791731412296961418746607209398447503774492379727397701465150709210679580217245463653696888393992209798900633666615422541612541818192789263292227778760065469369872873994741239736163312627568676599338790565341628226931837825461059841503760058108318212741674442902599544557005309741123788452258103069402961211505698247746334124739084276592252924097221853892804226600818050109389752246475623684352707666452932447328920094385409034503345186046661000307281163402630147180545227705417482681308726831427230877856701386304842114696052291309711165459261108778149116321036500992*x^11 - 369606664437377015059446889991516264172195354791399496866374007343680486455339143783842541859053977504234921141885734877437120829588155455539607745853468834722757512174145691842876547073787176377425803338340894618853092804149648940610191782849238594238207838527389778944572572813635873835111666506769268993962455418368120066121775087153197898699007123595684011431372351808129565339804796019433711916006880604202438237817513631784982159200471328104142376260551999693049719033445899455640191395610599038455550308827693169940397066740711593608469227917264777079251256214270510816727920662591075900204479028536221897144025908924913852177034129886217181121598997857761450769139796879081472*x^9 - 1196888837091593486307161798900225007196202502386770337828906780892113848055176982668948634436185814709140117205856683040970944173235689185319032155162788788903681174857187410691492934659178211991317984451821737930928329652593884201209293069349019369335762060702336794286615991550766190226554890999527479867129367420441560934115845791841985170964629349630681530927253021934902938699084933957757290622643481428786347378279395815962873455940913446073735985265523623374125582788748009413710761437105704525193721344022934655159281386810719997455086264223643686180427313707382764643245092054133592968004301689324265783264996428233528073925611860557214397487378594663699199701765062656*x^7 + 495179099054521727351677934311649649864054639890731570456933582802981511119182158186391881584205537860003745667382436531715162217715345377625498563837380247868907502008084067772982188861043492169357692489947527153168805889905340329908170836501669509009348439954734800567468915586307327407321945703319951848824746172052695741714750385361205278907006785773787817725560124400172908008108605893692657307276015106757865189507813632751317590344876018673399475229314326375324036028461404249067589852488107757575417294129874762151206992904121733257801377658846969422165012823391351998489559573591935286472767182773693583116213762737542338939544628273066572495456834994309689245696*x^5 - 4380072305405811578474232905855047062842035667371024774940443379770304927234780911773879689032032669004174825306407121471533923907728285327671865809678719010865042774825581163593495204224365112237495296021105151380802181051473471292037607997034587625811807536661030893817538777236090483182933861642592041671978029404942950421194826791987695063955401297977869067989952474974754479733448743493706475520957895906975399324963397739384326775098229042819933091670468058160387862450300957592444408159931456103592064614912250536523921935338139350744117647016125153319254905032687171263454500276317278364355923938603663118942810686327978548725433218312751902912359656587264*x^3 + 11333327745666646965977471496221539400191106727123341444717710793660877435302609863398164936126801269742240595499603018904196338179409338763229734443690686975030656440724811316059750054427514782391321353414520636052122566431576026177962158522540919168209142775643386138274784990616734066192006260680972809763333184082728218969109291128929309820643783078573025875199652935400951175576125240571491420549354327140847265223428279716982984564074707883024571673367817153761359490972702166771925448566580550376434237560665486750112910853503781533275188834596284704920878355601033334177765852307682645006702951463682585354803296360590672008974599394299785206824960*x, 26712540491471473435475889155168302779591461781695119133580085856003550402938735324247351392128153946340290060536705501438347893009091829714657197369769302463639027893891664295298535627713646681542992036278312154406792622563293668902339303853513472687667817770507894475140107342695269096390388938817342295970686278617403662591441219459373048278662309226737398432405782151249236492165204771223200352801455292581251412617322209932520567852588446912504275251129336354549768568451672342461302819578894527514460035869536678858815266932434409042707259268305735427800227408062858003971854602594075764522640010307716612580852824265076969638352441114642408068704028356565057410104785476880297437431517096174359731040921227292108534253605561721543632299315077554463205118377422214443788696898681447398876631741985148730910148933909964175830285309029088544436518912000*x^210 - 368574534654969076062874939287690432843387446434917401597438878487511033091380789982293308581676343285989039550681951047547158539562914721887189361913249708121769476706236773633405015868601164731121824062225979689600713859590102105833259535022092982154557102512815464520131038639441551277522608323256619601078614073713504996445887308920757997452405679206485324886515725363520529842117430658999573484547659255273524100379527592608460197216314566000451824135523382881208829555449617296659795265052094112237788551694034195693299354044193754015641060103574739240699629865909234274709797836903803991623513289937652821469590748731907442962835718837953704091223658797910837837598149532535819527524205268112881680257914480413955237844185394545889033706106322604406787333471119154163699797849590904113884557376056538969129789284858555069459927142209059551145938124800*x^208 + 2399446749061276474156371934244276118853767288995152891419401901926977424984572651191188109515926235865487288472651336119400687028078052596758202529179216014726456535461767257611917935171793645476384991016107057832816742809529156661646607999259529589858626373417291342140155556300025125581217622977496399008705769292256808324790408595934260352738425892819156884069253164946014259941013353694899298155873981492642963959978003149361617134033468485359797536970036145030684287036516687046343530407811074920977966303532517725639926165113428488416320172517763791956935250315591324549677441660715107605325029502223433270035868460664432616704027648261914187978616588143797083205845457121259749214751154577322279082602653818808908689301060417632250949572096215902029426954198009759298323167043961817662138462547537872607526210837410725702345491118758063188056221941760*x^206 - 9782259970430959435701129173627402941790580589199913168193483379076940697080404904046097039093125353264154230643527400283087501913345909765765055710702141520033369674096376717194114307680991203139904050087643479268939982869222869308331697990428012305932884722526248699627027280514696597503106311785361009100778686948075543144812543292264915262159720640479533499764314613777578804277252603135292578239463931275868478373273403174744742084582462789477530799274294638248368879233883140480149398525378984809581681930118161707129256621704147618474311473288975854276851351340104414420172771042789034698312948576358227881016722564528874696060103180076099158385890500028851114007001301719155303719666566540202179874364377307355065314966534759628317066214056857932342407336322686024728110802923367035365025810004905473304076988413809309482720689418546658058491620491264*x^204 + 27935539757550201616645005545527648673129824361325596689525924786257749800289206405539987355224367608283443208408968199722517764999629149038794217604606468267626725971160688282029863540457507280034681758679265407978019395644549447281950494299587476730366252259873144603484417734297330049449127073796822143352383427665849232266195764398991475860237015147742731256760256443099574352159536768474294798169718159143619715586652555542004737929278238511290320853824086014520163783564218218296218587098106222999654159911724132862797092912541074458515136124886630581407165976402546045348635158534889288648275794697768711908497132189462956723409043895212543937007319761320592359071556127386402164493129792061578654665728693033794253858380011469242007554173182683469373001479609930873327628395352105419035512320804420857142096866896073306528151140659132329845210698743808*x^202 - 59153812908224344873319566223872504150305873408307090672459930352963687852561175322074734873317571064805414928978367594790136461474976392339562665625608796520392939665341759710633745891733142033672553130055888277041518128461212911595893057649089891025870521307959361703097047635532456179898652698774550968432121039879974282787434945617344714328697517354705800611738318478207245369284049163994271086621869199251845127971998086044966889301977122888495024404345505908305036620390843967098874014529865100504748906930030362302530172355637492595354377057249446637119382848002691505397076854158365530718356395891864415675792225206648874933171009527197508473428425498615141266124291363884202513279604612769369808645985031823513941594899872128213514905521655443551614328800699317567652836732334422578318914097822281338960178137647019411105858599848515654740677138317312*x^200 + 95726513378533678994492573808148269833740546975304803329264420057797876830380558340686481343321227845679236494498820386121161538520114148599022950323719020568067603611884554203292087562775839108184287158664179780932645679465076670363886795159173642229028523910177078396345931955580889602264293746870834389579800388482789570314239182668514556613303114304295674341057677653506176237393523821200314298335994865456838647078148641968308127986704964836088843033836052983156562202062670704869328742011643486235134748721200565568869247592737193220823458016939731196507146764660812192231306109218745485213483499398979998549112396391335190426687876339021431362393479127558416452842570270529894489311182811825238881097459602777857416609639808064445037842932218561402320791725114897696644010520438561827058527916686163249782927636099403532852030794985883736032610743222272*x^198 - 119846739724645397034281345624135763880222039440963971078088129626498995642134932631357806574167283529118199535211377630216730745754049298153841979454268851108105661189589759313732013602063174471329593104826407817560295923373328278412786825564792809365245430411883889086256991300458500362490379695103599663174850583951405528702017241010350385540903003111852667359296055364499231923280744397484463861936863083074147266535991661807457094831999652513857299241097879160333099696603181190749334012218645754842497646631140751722046471794466204069149730885691457186763178805369634380352708628113995822275353570140177913284650364164299549476078342302090813975461819995897082782849238313961246718005592005750948055487943247304120255607639585612871587514058380950175749623073500567587143209434246723816682890082696931858514121388557220113356056802376600344352888033640448*x^196 + 115396292829385795315907972788859025745949111135867452745777426952169403884356370100514432062972000197444752017431115877793974090754868685525566277751083719856150105890948072250056199245716142401471857629982700869258655228971733865435844322109906326390669705002276423119211311075709954181767533830033101016712020163977722857727780414681090450339618657436459344804415518824705464028650040811210948045809856984979196366231408329121970915936539024751794604194214635803814052568950039476807239973576293092272234344487863798031296740143946650412810889395754137359503963192972249084991364821210148725184336397224520736840146525891916405514316920274762091839777537342928993208018348442463128474171514581314147232856057863432916906966197310489163005518407688120680447908294725686207448972880355787467498689448593115184657923254998882690128583604915529468135733676998656*x^194 - 82377112588858672819195492866416382434310516397267806547130650286513969223232951456901967752408890048789943678994599055065032207194574252541440488920421375359296662610329775116888902711350900050773344367348365449282986042838666533145046578427452668605886439048169964017282429281501681397807934425693376747573948737367163332850428527208135421195061764087259834627596214130864951502504524489708686832148703955867991669722674274262898007565292393625980878520462201273639357499329589873591047090623729531397047720452144507042094865976428562613996152662363158026589090545641308019618859887549105902671866226779770802088141966763266170030903297464560583244259115927812465675637966678249888031139824937578561434666814500294011862548218038294773364998385490359892839335770133125411087465358493186166753481726837928794952847854216289895619496088964608540078017901232128*x^192 + 38309139046509956106726382553111790821951556792743701011520891458570738204875258290050787581754463720257394213677353194534906466871176199086650399378351938314478607319025177489944528511748735997159653574994918875841190718251851479118700038883307201534361833712823333992312525003033618556471913994249825501065684926395025438128816733407774665456351279534623945704816750644510541866926989763167218129245771715631262008022776028839843823197838071487559082428916950384935818759036768567141619037368358995160877230720126695995336986838260363495812847158026397876360607201889897922456143269193090485619748951841962089614659894586339215242093803403250351533151162927811150032883942385873534266458957814763868252757256713251174698096155096650587114690656053875914506491043625233113239638729594845108279727678239961504147878464218751610002620800402354977402243399024640*x^190 - 4156230432833441821183582817900992285247003665529467308875613381692160175750247421242136441890043603259618825941330741836240489230982012864208935613170537375993508447617212970878196066745812280827696993064539786768837424741080769861710848019064676742995604252707077854686119061126184318813533119925006162977620808272909287628094864147679717731482643884299839903578879396203350195912679431643352232798733779337621634075682908058078223090301298187460158208667219373463773620063799576726654797760105097003638429823903293726571039454907804956385594629575915442201896336200548581605100452103502573042687450216402364709752279319235909632717091379101541587416226397274813567192750574545054162814134623150824179715386686415936742413357759952486712961568943313373885757240772427228481206576653440200743956221989668555691036483923339942543131929929746269621775811739648*x^188 - 10650764130754046875123842100312944793998288519908290687134773901537451038692614061891541363188204434341395795326444020052003152389030301539205192672583094918303611095622062655714011399085635510227196484626920866431673124182311393478387776145410071142453479369814832600234757496717698416902801851315721963288387057249287348410941366792325043369696264618101685365997448878594595271659425289914324635213928420033670659699983824527023480848601378288905692104159237499886307085684726232344308346229345163212129503231483345770715376330000862818763785412472700624719276904142639952818553849667295806796692419133721959638792883892727958812500734980444887365070709924710053352574796190393497288162543421050827043442479324084365555920825647656297969788311753205586788474705896231496108387299990375162665225955884887183232273851854951532292963527651852454927564344918016*x^186 + 10514940749235247717077901698833925928420084571692929296902681207302128765611777659549561683519811363078613313232086291551528476567138487397212799593956209411882653283481368799026783016296942712338254413078126826970171195920570815385054765593167471932507939973731195191272615772801006368906520402368850233693605325123449335251798745004776758915950763287074217336397098566352376886401860209859655430274722910602584575610185271669828810641495718997733701822804090625013311981386222055920827495792290176785249739365942099486957551163606882282384665684514170415305775487289217751672015430371324759268344426369955568159199363615244422131435736687161250511388738689093974225915125241538490819600251949489896190552632983698965737890614882415709003162768957766523777231671562884262466845914760010600880057771219514432690230542076059418642143456699291934799000521146368*x^184 - 5104023443828823815490063697876522033197376826195028193329555981383126260221233962276569826807370214404730009670477769138367758479797924365564826277035562413902641513658958610757981276935575374266754649865063136061541656323424129389906310641135853415879234310663726668841928862594724907084799058237864599148382997458783758640698390369078703961647457409711482840325514048671512858716676133565615533833424258380514681889085724647314591862436514397540743545673908527586636296355018395667629697041538315684825008920323478868567584257430179483349259054840473886530521073247416249893065715604783993682017631614078498419297017334868291744515589252358870906719781362006107383812566181038676964175765360145716810613817788254787288461027873428627542407302385727770325996600747862990733548601386266992853594173777312168340696447505687438578505091559746514197997416349696*x^182 + 932466130842855754605872444099963981213629180964011658158089321381044604396809459675131229897461045269700718604555026821878619548517328267303428809513230535067256373098794172833102431555386954937814566156144668422414875169543228720703320008929501614970953790872223849173015174827906929156891793332191697646299167347767006855171042641251185381733360095852313610107975229151923289437371340754805771491957428127396339238910687195947781714263801259601812114971136031627781286582081084823569237614210940855530896625099284900979724195429744349614161331884762148615025070759396627507235527741900332983752278464643261986208380024775233500461764935014803057739299935067053430541777502119274056490312597737428524417201934869021113391197264821900957325550702446646797379849087806662294608251554676093532534343254079453792466173704002224469966082262536271654548699873280*x^180 + 571319806929444560519416043292928498841036751951030291344390350940464416443077020486942899438327050286182784219286870662206109004551712442739035023904066725058010271760042159372819997753360109593421457767267947300410981562168373105574711458800744617769192182840465270912000902939779143555393680746946547246542420871920376691462766072066052897302237224079603652455829514595276734772697542228553220771057651342602004643231897969458385975816456088561091189340768456540702856643447444017250005683219784947176867158958891644522508020875520080387916833810241382328275362586561861171780860366585391218264546361876319237705795016783438242162834476503397059100295079354157383596419604303160860518936934185095750361451641692599587770155461175319308296722206798338331402232941893168028799699765690024660626338676957481409831595130560035734656827382632039480702825136128*x^178 - 557708952190612005696804690930936186179957566947062523558036353026503432180860217967919835719354627656456007673139198379365799946687265788389748457726166355137130022261630812914558142529706036846257884374106065653279502626243611391025272964866776474979437126895152326629269672467192555584461039232130419690605978781864646860362599794907311219217311975033984725912528741519911929759270233902437579140164596830756106346353569653131401760614333928864917756585095030720095268874610186532623103454559495638379347142208928648810018862793808556329544456841438901341063110133893256000018453310306949784166451919027781732132692757511518603784599114839928402558486120911079603224034573212512471687073035915727818852434713374561013529233240013873145590694680205399776749940617125426104864185992652985131432128344211161824640084987694514508715882455215079116270022426624*x^176 + 225092504220207626429808237543412307196914538905262615440427193302313404346874331885111053593220723617933487233324712247172680927340300875968105958775038923174969925103730338475282503445933386129326806627307713118918849864946263989126383359344748742817751135059653517116820621933695143617575978476312251198607406491599365645960232393591212296884770512456324186961532276048062458792461213122064947165483541875399261925330654643543615247932329592542618280566411408464645032223304987626626228992614082051518432224081410970507396425476244257520519763754515112490718154245589560533953444774374369391767604468198722671707227243592862279884652269997885561268495461721513202164342549660180509763035080648552227791945241661495333869354773024564806240282976317833771447918158402576920982186741008069003121142396081620701002671398309401739462099813513015652204538757120*x^174 - 33588153427154157635195938262294474041542306051473022119628014190109413387619055535682366550102795027184228660477629034275557882280499475263801956983265663316160038183550968214666575747761696517760580240100042593282521314995922551818689991149041191982972277495018391290456969499422998546363871947466663879008533604383770906588678714250035209467914957988476913975165476505442172775805331264854176943524693624734351073746311945031077281398516610344716448871276903097799270270466207804837386616081226921225995215627595437125519367543794990010430678119100175537317528507626303769848146229790365196044580973756573690728085183260398428205090882140182404782871312344872006210957140149281125841155284521566820886615099418568757373469080827418034273652191587414339350974081542690085418786686561854035148052207336500004485577498396310540263825164558187421984689750016*x^172 - 15398412519970619346963795231241423918388574031106607417997308135597092386131648433251271391622340447501377371753440853240454470171713840551365356489323515035937822090530288090886998823038800154515574452548031680750209472745597217506400373701301793063607887013997016438743005955831261937379298305687448389037036580970379027721947287650030454387018297045764123542988551056773474142644804903838481997920825810882520599900304848978232850456296545688314641433606287746345133871972517584585494789428118764112957261634630487093376243748729645508792058028307266446073453273016159992372214191745988686366018953481313426053526144343152115305840966663915253601870473094627766834736702639503241295032060722081353139327638748154676117108230988493246946458058049099856003075522776513365463087134538794072037783108879885664348764536454269337159341533016143600828054241280*x^170 + 12155200538472287586934021766710373076334885974638260518494384645302877430288264525475640991252533457023584651099906589331141978394176937568433261307663731239403598251400542525835124382348856267649138687951230104409538141695895388981732854325972067689550615335705321959804579466653143590434231474630983115041451863135579453445680277244382914816393164601864563105432426623268335328326092247066717231902742537239702008874212422556650785491197405103009707889475698135339285705317156145713652267351821941619432118259015232691971166506305909204358583839954023021874377268079933484103994344351629080049070338179117272615535340581791207975521093865143506779349618897564647072046246972441692974440362056316216007494358844313010321391325343345804711510405093752810641030548072690813574740907697762262398460743814138814757573517038279542522967136342349691265352728576*x^168 - 4049243161201360669576345339216633645980600435235198516562797105500955203773578130734280069409691707897816321304763361779427701770766068694744462174315737518680282885050266701963146269617190175561223969416467674434868854880154556591923510112440173840298375023701337703535975777220736210786162105905460295960591261665861351545379532449190862531991453870485648944100427787708186684821740108762478912984050296482722352306162710074578734137699562772159543025048721168705712298063758643281006866340741697381761240204282262033160070263470652736510228455407816679249225783696483513496184926925327093870049923271052219577793674228132006413431019376338784711466234501316527646047843548771106794943611273455013531847462473196911802081635340398554207270308610128385752973076864723783680807098027939077434397052655915301140455941982455777705365901895057015542867034112*x^166 + 612798031001801027934250494227420307272270200402194445778202436008080514689553761902110523733919767096325755866816607365865840393691796550661424919166454581694875309967366503549128939470460895272846293701998585777750671081460451758380020214626139659830073290779525495152515066282093159698249356674647757251883404578661358329210489239734252044887974657216289807346882625016016867039844317543577739047069632877136784674926160412870162288203689388993192589912422211560774172394702374379928224996345231368545410932111400153557221770277798175686721121179991250974637631683726492834733175731219046858911926499825995877489738989973162782396378137720667585818907481344662324166491498659179111147820779889763294686756660267901424072157920443371141303696874155866578163727201871228145308544783516850696167016375892652504160516255033114697228358466176985373471670272*x^164 + 96409425005175698674751542824994589351476199481484554505571556497257418202268340338836955198717298656027055392285294338011490058033235762345202720207347415462622204222458702339155374320142784677909243095212478664185437724229467629688603517033873522575869785389955575811312395313033343577778790303326718303815960794392986232540157192343167387313494481767587345267103800846177501904096013984994220876948523536697938402977322542780768776511554561233022794731498386097632415172494504377455738167667641369650070160256413334104087564054359006809936163162970938591986872591020458786879477800852308967332464503506231229062108444898298739178769768721754581203293754033651388183093122861986736116109528251461821611761936570576895877968138816134501429022983197636211200619251594958177001620781481959308250386667328472931794076118840223776964708311553113536356941824*x^162 - 90205056108645177509985745960428708803914791187338346015685070814365665655517811979129974858840951032940621040142637977792310703048750217536599009845371401480304084461819407071956354078297397310341629624158659999761675020140474200922574216094557508276563855817366284809571169968139318268017799371587160605289459839759598413655964856088618441086586591940706831535979139689788557696729112075120905361792996535332515002520671261954909868104354221657019489946014457464186275873729688006478098695947154254581094725710448451671500046199303332304905200253207441958262897799782368218858264041564981446745900778393982621163251423614957706997690660675671065257388226869460838592828221512387478210509718895199326491544192641973437283911781626416107088279142679213119533781766984461036451972147236820675574068580479224491270903138347333300928888050357281228194840576*x^160 + 30762696866270744744838283351646926788696369378849004264796515419025063096485108332934953298193893445396737188855467420909280065555571377424349025045503001395109299028648475349497880428101804420000964752498771728345884239215599043717065120314818575832945385788137286756139072691923492168999189486207888683442869954327287866709734943356753799146096872763349322458480619461861935376015431502917555830602118804789280795868503713998488591032216415348863840464566294442111468685135571676099430941134361164583572253197328667076706606831700558687030910710476005288763685922351091822272670623242458837255395891728934765446904806230924747453064337479781507190242466612844994243499052339613196532487109398011470800466536723747107714579477495875923433593956138284877367115879744288209412384208242748541205985198907907914030324535132713508608167059444990245131517952*x^158 - 7005161342887676353483578407929437738687565604823482579348192530325437833161974290652182697643313056865580541208236254473197688127034930105083599303172821623869330233729089896967208572320983496999972190752365113565907154919110604968373680617462674981908703531427269102046722266408612029283327900673457503378178578055938255602021473841112349580581868208216006452250100939668304862452395997481570922191619829088228051556708474002991255946629027142899396379937885426616538811086376344430775095651444509068290552512472744601798923837742146426186740978869866337308254622470675325198918296664309855358662585968522248940908628538962805904506278676952180909257891403197020647098057353095911182196741171105589673001400414102237144217122864794583495995180708546203709595724965447294677104170575328903350395482805512074485950058070898358740850558729974882003582976*x^156 + 1179757982974397996994343536802654735136654029120489328097581370862700720346720956591523488100751991120694945829000133648225454633985709281877727167736541137340547511897954914225403216477903348785362660739680230425008587292064061028338350390044013045011404917582919509959568605105326592990287989135624931583960349083761056907641239350381408944214683234924754871715433896231851168651439955998796116787757208098760002334737214773928747638820659756317441909853358278540523782077552169491827091065781437796006484422836443197343036326500531319219202905179381366165532428330904491559334562595797392048929064323285613793456135135451134042647749854960975119918091845276873322042395793303099659781452966372544950911207644122488182831477951730628656394097576411547581349190439880179606375578612374799653272037031515875458609906194526630672683517028587959153065984*x^154 - 151215960080558483925872654668201470413337524136026514775487205477500653565656519217671095802552729578439387208852871231703868669645131404696074550562013472109389826528489354859152285720352419885597901558936722148684354375408402955530483349558446819814760218276274501122583032679308893679452150110087068693338130578155901081410204518486995722435917001436846686780213051339788332700943328633447388959026495779961563531077964486590875709727157008715507834502408362118510875252554736388643132430480684411700327279914335309964992448352702505475636552346880421820476694145633524700495772132267508174510378250592990490702382222563402750959622975657465046945812857967522117975760475718029123742926813934450073557272081384524389473926652567946459335406634138919887095562972865169162520678598737303302619203181369423512291223070053142062073355326206895586279424*x^152 + 14784810226012425687670256248763791865757164394610056008928822056865953768801803904873803172451132068201554386002331262842731452469110497846314398318238392980370950940033477329464943523205988319153454203650374392464761796570519347394642258498640560165218438532923738958326703050094612018510704165042191868950987995703141838533646745953162452170209158201826873950633914483177132003969655882222832745436129845595120358245617862879588179337347027215948915829830373306313331295792787249954901975360116926606268948002703393638427586727742242205075446308893570282636733920731501487607000131341963325680331127161446843667869694791138071793688071063921715074098575716870258484908075965379014915137888386886861200585213038774481989854877116024309719486595076252853781101020853125834266975486221546362477503586580576197079625307928169661404806311494529455226880*x^150 - 1086711929116707875446409901341663666447191810013943343150870793519838650553627740559201891460575008873024336837664619599112129357173385825245857762248786337032765035165075830130072979388889492767078572127769106891840798447968479363318006939244302612681928205508910428557370604784496925748374154412330540128771773572706388998786655769764659627109067692914508575806766320814755418769408513120715291758737416695704149594600811700252304484076447102291750448952970363097603288396916351527330777483433050891510945604049449081287385489732234038759633906944552951984435531928698158519584266499925775012349892176891374527569379531222082438766593501588586450826253184927744465435048262967781242510686732824238257798731143623275620019810770061791877592924278798992072094891707875152321990728778043626964509024646246069157100210122396969832483160449205818884096*x^148 + 57852861104510661560652959003088614471610995146494780679107140938947844769797308668489788548073532048797173930663824484216371608821964350603688551340026495147661436917312048274101360989764681808964723124672011916193819948487801560017423886388928721184859799055428763624374935448415448694952195130184410831867008098652963408346682408026892170713239865940867544722000285919331925017723239248012077098183040973695626466015590872766661168124121882089023397050697263075724313007070574943147744187938350290033014292992124215528427638580432417907153960241367076364855686950754019596616547045751722006008025643719887429147697055549692069592876706417091847031386289338519092839172339052715235243423129165365262436206485732093117980380737304908471900734721894885112546761824291642277261188484091549568646731276456755788173492954441134662341000661613540278272*x^146 - 2005734015880393393832105354651690331994056506545602119875665105588430080235325972041268880842269246692335043145527125405402640817451487782544513276533704155683301496215378388693280322371937111908465845031853597141244396454911481591955425058572726641353008592227647865686791706506785628876272550923955023422516934042074145088887195630728117472677779034823097415897323787847510182416023890533105110407965836728701816980245307565878382542743613047531479329633538773350093440329623242083389898344461028656553318649635274654167712560877887424263638788224181302337995124002105468768469805811153763139615730580023274040298610059640852255626584629884685544808993026048977862686420682554906258339824239874179076672813599015264942002787575472754318075803092549175762279142937885194264385688229856856908909681083834159607473422807060841315590846934648094720*x^144 + 23327880512428266900747361135081587651850876351295066315422494499821507498769485838348864065874625903646581425920625955366172718682929322749776541102020942276533766600367148735899303379037107923290478145172256445412093358900492233195594677026746482431626545717139607536651663715152307013627084781923974555126038105410792552852507495548306030706529663833137979372229450005649964744279560513631457091692576961775807706310579944636073331339234938963358689523846796221524696464450838310622792740307987955475700793974743410009289614434246343193576225679767545051192334505810122342633636393919825124904537883752183085732565298801477125967461684234352608182560805640149708178304624448818940049684724888757936885237424452683918471234477301327678308258558868527042915533897962578774722323553909190199078435132523624707882001736432707802306302012966305792*x^142 + 2059096054909215651983633313587085190945919891193033035763481431525580735434185865451578062985778859868585158287314777237723371294824268165145230199913685627977344629563382667588447630583600593692512368302171569769253650065999659615017131800583126161612663341014128988213156370983779444993785377855578065347981628604877989079440708489639233643985642791596324153111012893314610369784242495369888441036265295121765216105406585531495751628576986238436721309386996139031062662941113147249185942485481853937805026009534844549708277312259292364970602214912353862196429074492071704613809339551019724984373359987492477318617304537763553162564985676255178235323365030251821258571707645776614822318506735598473171236885970506004535081638940098879305001941100844511798114792877525176266528693477012909769561983584213661004605653617060963116284534778232832*x^140 - 146270836934227219130085059664459472518534289073799308024799293143319955131522973100836706804169191879478151841689280671321932449762531459629247543369844925300503537907936993458046807942308867105543193218767666603256426050507270052007826366953889157900150483602322779570110883804817548022828880590946116110362344889657553456645408769154736407641476736774206343139381352393838321897610015671384896066862717951320043806587677434108744559146247918615239938027852561447381225010522505502027238637342759700624063503515778028631285022491919684995416096660353246658208039589405579883296961809476605639640426153037877286167463393121060477472897244791053755740725622239346609737430400652931481914972941282248166465756289443352980660998708598963010078816032488087889010404108732481522709698225918063900802014791588851643983795173090943732197941986721792*x^138 + 3472036592910942334194599616609737132717524438846784157059231337554285931573443175654130655156683184830611553526083921904552857090010622970959855779933802363756836835489449338210178515382937044737987337210512205877890250446980046600841387754182408989963696546703603655986224863103114406472117449244393910599011425533319746496482997037379626208027333292879046440937538392721818066636995679200168034803575608794549927721689272404010722324860473225390094710151894408505458092949616980872897287587436751966501699140617799077915028843497665526856465449588795033703938323274868736668178247299098437935121866999681246748860338427538485027966762388259371929110711157924158367361025413779997936209995216239241695256749415496009528309733019453836049106014114711992375786878078108924291697534648703698195779643699849983350256476524790247733837749551104*x^136 + 91857870974867517604929848970020556987825029537474891069527685465936545894871304594353952640039430992656882164115694928534368693942768421721657235506719689661191146781496186326786174296322282693641895594677976737487833945379016637656557006198382210232347181148085682890192416570803773477553831551325992517254929667004799510083669078598315990698966607520859086534861207155895933014575775770930647737346704505680162886995632571356638643333401272737945632737350916849714014370211383830652828098513856330657268235303246314448128283035455011521115706115301633130736064380320301370536079549975483925155335135617645114405068198862623145970016669878765956697785606359318419692315540325271738601414715776486275815578992123735350797562942951516851674443548846958976077845309474334071129503439166374463834649553334677234602749537906025019075662446592*x^134 - 8639370790269848271672035605211697432776539626363822518199678300767126721846645652761337468650531886933490183933727977562306141938194559584652433785193369932763547758600753908645587660724835641486050536334234048013788391680885706873220036264511155738228892524332373460633010240107768328742605034223366884790207809774584452328244193151569380610663614955825114124353878691410117808593002158416854244594231032278137269527318463290622202408701585090259937835966761167440268556694445703415118952274994246888214835050575887867289266630423360571031605299062509498051418952103495156562463090690777171551501163366918806604889867146698797575897311803105520323700580149476833759404692189990511966076912488226552482911247948856496976703438022358984037627238630944757705001438574599368773147047314704407805184669669577027356658877567431491464437170176*x^132 + 157261030200837019547341480493446786293125905206628537429021751219170316461986319893778764571087479720833770737502609732316319049090520073801070339585471303610629221589080261449885584038423064984885497613798399116400783997211477083323215785081391465643808883420345443278756421388525619755713869419000880994569563216311891872012371155369959692270717705119954635078342403729957639448501911669059542664643007929665572185630200575769363069657148472533772840427848925294336033132369383839299821411855288608430889362426200479144279546582473521267661959054123107789900096103045448130442041657913492936149237978335418018520340923964595090426564622649776121629020738187048094579159336556420790221954244898883154053656818551464928722399298721182392347608936424337900273805780722139026031299686380557782655035840986559446849820816723663748996268032*x^130 + 5235556579438286166546021289972348428726171323603879801559649745898093144495679182644688037616766463896899800286048279184170820689821383564690380304828448099076118808517619441503345604880715710055570794083090925635924952365400256274184826657967265886711074093959194404008197030060272100427765027283551133859266850476470106299514458044422250363057610589621464744152465556374780715110079052633645398145618289856949867901876886580929915436245934285867704264750539948184189667465293355136334334287588542475802072080512088177550528739974252619860691679944844950050607068291463364445400098683891533536411258203197115911424222822025440630524980325887973658289708633812837984349822357637204253268351830454306301999706783930973564457264095562737274699323029537311941077872145916512831528391999682197436543007927743622109699672883735712411680768*x^128 - 260223483643754246681409304240681042938612629410831644461563020734908105369391244223551750950646278617659859675489541772625162131258875057235774957706177194540551895483399116349080141392803299713850278998355121044358887310101841419431571645009075903896092024938875985764287006168682347589766522238585147128360129262207420902195534530598209387179119279511710384434397843072965834347168781116396731709720498176440907940286237455455066456136975599846040623873872819601327715443338158736190577806526288381161610958940465816291116310682555418149438069403496147422714326420977372756100418377435559668611660588096757909596383541106927352226086850691719560080662397526114032970691308978077494244154072368406111385957691147730411337422171777596692989165467396843012202373955167992948696198841369591663535516798225572124845297668369429009793024*x^126 + 634051677415458393028968618255468308274810331648848609935336586436637229572895849208169144342153805198048529089490494104468588593600415767357587109166774650576568251582097588410658623870616130586713631314810886005941627099341413069247240723951065438557586552081182218240401848864441919389491239294604811359494498901786113058754447116465390461356442449162717660840482400524352205467248472589396598726829355171474123641856616189645208454615811837694830746304530364525794696625581625052910705808773864323325210089379369209818607051575671091747083530705468422089358201202059327629025881718049505069115501659084510589323468164775499563622155982202095925320342179790105057084406810698567640127335292076218361105318190823371055986177109118302137084200671127802880263167500370211587023501246800915031607323038599132187678931045331037585408*x^124 + 166629466298070943123032522860762043356132184581469804757082751400767607300249286782638004740785975007012958102104240835449863726572673659361430387360978356813556352199008230879104376893977547763998923458710820603167804690191569165140197655254325325513694073827130102169936119973522320825441097469384023060843982935862606776931534621920629095199516197851725487968767161120255437818646126241233528744611610615423449399007770607017069134406595590696021519539319190203425591314649842605482857906908205241900861981231422239482817236475370401528104845967130367774030507471309931877303496390614608932736366509389680705093464933917766602142098393275165343382671495103537648428475080513675541787400657056858720708450120830254318369791815004517757045792850638153382655198808399751257883735441877873401650903685909182980823939462940548136960*x^122 - 2526643365058483591129050529449655374020225367808006236295860458686898209112414414660185888732065470227195862322943287299382007452602374019020983167026331998949798593330378973851850139908694806908176756720392840580190009470216138023721581925382926637326306797587781002144290882633215700741249162331215589684851927073496980102743424931322961854485343307728196627645504051292651116254563081233805358473583006239106053579937618930387752487610409213667856221739028934937291751163954853663398695036418418498519194213096158713197734314121980074533952450769285449916790254860169475010501879966329247725272092278117563643250863440067002125181811785855652381923965405594001256960102801170688643254197216868211145172671203633904035211740932839955745630032338617588040302207262443913696653818286850724802264144749705160634187161726059806720*x^120 - 57105711780154182724712755528799761802823995037631940001198528876480029716776882423186118899135005492523656010796676565910507245437651190166623268535158418050343393043895322056234777590773729746481731243228340881216457738191817774724768895836555497028463070026903458928271661957073014986103791178456742805800559876129571595342547586634504598773433970595119988656497480921174515108611462796539668472868126693396033479037130211510749401664470847521908781843150120462686930857725972157830772252741118314716034982074738085628567504041041009185132729135237427709186835107549957089668856383416139215198088872255281171419322478166111835333133230983563307161192044118838517692897354434004027350075132173085060951845351497872908963285977368343767694199570318925430543614426383076590258497148875321162630255123933109365963514931021086720*x^118 + 1650191022971424922989969999710335801575017962108301409292262145842305154633970171140173363505094909555719990034599579973257549900908620119741087519676136608996366240476619560930931278271721753887553812539221214378440305837907516511130943063067452874391604447576029984084770699252287812735577684863114906232318585089341265777539479228095738877256552178820255636216662460557735502411813198029848570741603491855669541781679861565371148942131944472479661843808646188218844757738931339875965775438532936621091118533821034596586007563700364652896596480729082426476563433554547742850457399686045524643132170831780798296866905196634267138338658743683334582482191656537359221369535463004464233191466896950670734241829042971287587197323342397131284768099325916337004853359413759036680135284744324218665580940338763254453115665057316864*x^116 + 9212043679937777205353454354328043498470628566590690076424205252637569019352972192245126427806011066066911559356746325292960866819919902479647905961321164118061835197603906938699352800942689087303810929479275707059774798214161473035783253698836489143515965253155550776585421009989564884231762102324832448077767349876862753391991791954837140906843313116728499837640856288846971844390837863307663698458313088418111160978026727449359217647311767939327784198927165792404247952682504343917942517636119695703230384613653041438797713016181785906823191227695685504600296980044843031873642513950551069203420715416946200194100783630258155584403433428384428711332344421816314011497586004395462105608378448001461893689989771216419071572097874761246218473994371331107095378765005385855777695093426225799423888099842387679474116810768384*x^114 - 624850511566110691010259235069638457913788196209821182993532748123122315734674310831266729364948051588262737730771967916807503890406925092552373552230709708554898224868833784221510227681009107744740179546418804901856936794991052518961754955554808235286551199863221424366828371758360513441085467211743713673877460457994103043225769984184393862332519658140170012847238582218190568833541983899356682126664645377831742925991337779917491597828253224760749359824840509948544556862029536481846046380925720023168610776244387633842270528924958910242218487539511014525492670335602387109938321153463485125850598485342846230243261455363167533624467654963891793500432789937580962586182026291513098124822563202576966884246377831658089621826839207641141799473925493422724378297338399095625621258782822389501615537082726382087268533796864*x^112 + 776333580054094921198317978646608986060191292629176527457967710223722001693120679188854185880755469895220170430858564401429532129535331717285031834359579760840200395614285556039226479355966238085818671953684607395608156453825685851248050370527766082315473828797661886978719097984878680132353578076267640164539101641628873612928187734942769791580689832094428088572951829765556803142213307678375634299555110898189619258891923132917499843837090374810670278585588213952969421504208299721994174971420757919533937430402344489199960550266128282540336017654370522812907696516817807136353400123052647908708309851828761036074553476654048173288015965460594052895809764340101748020965165073714668800075011170349915069226211214630119758357300057063438035045674835790591012941941750819988148344004604474800412973904505661219227566080*x^110 + 161863592232433082149148215568969752486562113867542661351543268729631392216305343943762870817267439364547073117303632734160248082156744988440928629674412320908309791044809773641663869626038949466736142982817540114707078682854524048849548081953725787326433961235522464495538966367396240026273752487483649741492959668652854059156750312602371984774942360594017910347457001398628069498386948086592424118089123702913822892135979089583452803335260598207704976055673155262476114557042349551910231749627428214198685004173653869717535398723544630789357144831399221979791547281433443733287723043209758339322826887187570012740550632785279298370192899494566150589244142001137850527902547325020190420254052975985216608854472279752812125148217408799666398394129279748997932150229950187808088055201096588578005214456307176691415908352*x^108 - 843032859653073398092886963296029805596829694361934933971622564665440904485612581335569048493649806468843810479307059781406058481544419177842977677739960113140847883186482108732139965787626678642849344318051385928618365579515432575470615662127526416244953402187671204194463339019694353792161402800191402548200585559085491567101073202791598037216731163439981167355278473980511463769268122997984826320218442215396177480778833578787432586812182000895733029638655337975677985703417257412573231102509100423355164853142956205261981071128288954059378659350626174152790109627684640875796248132775698164863359729260424728649160912537434626434200118547230309503099071717721254152920928143441288714351710572169389179390106171344369720530391317727274774112894765091651232487838254206509652353474739718706640274684582425794707456*x^106 - 30504058278548743352725283606222594947143101461133036193446979152035423707250401790401586386504561972741968899733237723282189440942916456423305667725677928357430503455417309179175954600846027343602872223231659677184962704543827262571009710160253835114392962565962039503541514846524280206922546045754576309203837323129406153487811716024599117756240583465263727247431772171403805610618639905414055279848919489410415077537588761742239626050406330040796112776084989710918088041929124815521373157490757602041087372751451846548889664582300686463088786357348574254384142817187440529500163445260040307698337969336553437749527196620493736262893836186767985847224098686008295894022821086387832962387035825632131562158542435424558612779532011484800041234305112176566593939497706298768058817173005320822594581342888870117638144*x^104 + 243544472735071678876457556552554522894356326998381791053211651478396834634981555236949522601984249626435190342600898457842392356689457507466619349946623332782941468606774052293167334207989998742199150671824093812719862942669434664200360133681530761517278283133386755313755461616826924442332622020778644374063019246179711210084570236309128226274187869852064068855843363999342932144672660051052609234363480599662284356987435374538865847686453674546446306134538066256763306977323432894962089056567851208771816785397767842948163268359619785111525070826765569514752705657365168333724648286293427853272099570745623091039050183827920481054106892986363537016553936552141689308783027592241558754082173505407330711441430841648820833240197572518464549350106904487529314580834942134188960801647993787512790492013606069075968*x^102 + 4291759673642806422738111282617617877738362775583990799399582330391329341486781269067192928789813329106121472669397832628987684997307991817575299024436183555401323016337311392764966699760976699545493740457166960222828904753057432359269287470422132079990215506787478431695733426052282218953165144400125213428317658702268111782995112008762362225780798438138761554505543859283589442054602908613452096439920722305460039125232599705833480057246818380786935591427612830295436703094077025990267502318048154250190757159059286952033738561241290704252115165938196894995168167427171192875853524717636243222388026592755650644838871274916227282526791685469522907209147150090345280885278516980909700841015782777171539681167264398557194127507402673146116742038523480751093012615177502146692445274630575218070955404576908378112*x^100 - 43787987230771901498654672270583875965348573599043782204613600804302648477442596408492377935348147883336933429254884356486890908380793925848052473452931872853817594775670285623817106448781191475767469795211542711758297515270195345273168766229316879695687419418279764674575390566189591659832456255036094318733462138332644210383675237058802046230019835636042576038799281907279670416854056205545833613916593336518324766527809654721708120656069547652040239160492812619427260407438006417542422242949373788564807460869153521297844014458718142397179683301979592655056808706082843916402348858109007302787652031410932361434503628341328360754573860251031317647229505155117280188185236018655023830958269322099449111873714346811210066944296295390860368751356687655506477073345659989296400786416980580707220813882977157120*x^98 - 451987148725845757295010438539849102143542188865170109946211085238204722564298538236199015776476394122157795182330930275432255152529440889415334768796932976419037346488075499373772539705498819384176664380233345038997326003660835708434263224412725697286722369282803834140918464241743228288861069684394170736287226640400943622027151241560639900955435608420160591710386267718433042520410072551294621112182019986132483952083205178701940305428345549025474333852867610190719958724485268036812540769397352129729360676004631711699131733035037475620412715409302279517151929384898525569798688418061023311690826507926996108130055208665245715263394378380811344999392950141550625976695355979135596988911880139825489432044990981513571544998596277652306676044391493336912920744507538964859924966924473504501354094703673344*x^96 + 5562137313691520137138279261672486561423125708276400961243445952130447511465914532213458739991100929464874221882879201386702572169499200419304339383397733685536659918207355105795370568005294696622301249819063532243109294405181496825474635285158308206208537261850073047937440692991078194120074134976912332593242734012633269659252208424434344192492856753151813754803752260176918262521586649999849251121531251243484938983700342213587917490753619429947102371518986523039870801332765369426849154131357002524993000369240989260803819988100648770339394404284199480377127619283497643155813554808851446716649473608670367909014937181313410976018228226104908849663713309755203119794381692646778828507098649730223344572025603912318719393264807174252357228596813854926550173418787364596588731892220995579957433906233344*x^94 + 34735974357194117945113953428419175268859673530443632793675234204527341850760851459232133158521819191072556056276907959613540433051986310093102282888470112771437505152967990911622358320021568635651767895266610109230402073638293847411925618199724541553789209693204834199445219641070470024916809101371261961696913699282988055238779430837902160690475702605856548155095859077148665891163883580233580757921977682947687661070442323915360627856321505810147892375334352673929406871858577104336900468553055722924341934240165942440442151415148744284264279566910292817809904083666431046580569540105690181928851941762861491356212184304199826856874005394811799331195336855742807123296931933203876269832418287399240007108345123008289777790084062813713540285366963373260918380698432238482503385519130584545715508215808*x^92 - 522118159450649305774179890357795358113156330131598051451409581890556493033677675790081325477341050517594791155826733905950434785912777034284191120095860368876102713339080622725418627071182952732262928456804369276223594746984249757924843965011305458989302781457282171367099795818033213167708311661562802857698235592653752211001501425075456963257651316525216627470828420920559068817822252025997728684193822601841384773004456878895417000241855141467256887528236089244674857249922638228642531688933793004119988047001398100159213100156300217206189800386808845531197977829041192785860953925086357263979126059477020624285431164928310692023169425624608027009557513679050581559610931653048607925617722273580119582379924515826943213699121309145823205351209634962478993732615919002175460152011512510962305335296*x^90 - 1793166329411765455674977803709063303649935220078163619294728028689186758969151403352373673059146634061630155837153344964476993186672271781428345445243298992629724831240955184767202524807262480957194186142938885472291860247569318686834112359792849391576534437140458322140972277721502558376849377632455697461746470992187227722124098328851789019428954093950687620873087089503859277043514789257512925893753412758297900455004075473785402458178247127422705329898854344238305700729280962976767017643619788590707119434858968097815532118998615967822101251367515592553272017776554116270055337627991393210074405496523709541687039352161537307221853511065594528239090436660893232869406849134431897033266395574153427513857441785732862968891935746064119790742500391293956263606865321646305562729975478276954521600*x^88 + 37004611185046792398106193589816787882144106298799739511293929160027305934315805623905387547761402224813008734065950258235851297993926882979088041706502657227702438518213388777949624705833689431475176765733628470837096443036344018122229359665272098299053395739120236244799666474503719972916603994084619772644635156838971757247732942306350849840991893399708269331772584794174813393530726638859174716375012163437989341626678232849444959091239929046249401015842116960030977093761231927384613003923553172321020946092111361960592068192685267038807889212681109455629834355290482495789979281582225609830980343126044796520740980318440849495254459342132243666413487755467284803396433468569264406130030292446076515294795306672977298748458427186281279798835628902060716324514315308315634605228966867277709312*x^86 + 44742743085213893472917949775585763467736988183175664646401525489137220630318276975999208051017139493888969515676901001176952543499384510010525247117352670719351186281334505603654234779620147509244574459043050154689485211913967017191950244530121317399287084062302658599106726893057845722733866085320952121398691305532892759680455337186166913077261658244027115238497299451772446300512234683144618596206511353360404650684590690453545421155583871732393060848560931156955075226158399382829985867687659296285891637305947419815429611929731236408384406408943973819161879087724428659359258330562499241714697985396060512991313666385790230911084495616928210507156782679374265973526666128099054764773001558983260359082005842653326857484451292356474228347764969094678181569534475082703035597774537072050176*x^84 - 1992147380522492310361205835905373111824258921064660006333303849048140951731347805532304672367100981014692551380660499526180641117645562096186399209385556561987969650310600688295220980133458299131018412199309999770869930384307855665548686622191135872419089090837792432184680717722421995281141504249092506814279669766739081051566500998981690684741594769164070031234233395835474240865212979369048844746472639781427062269548286715064782681950946303384434120429891527166916504407286407063455278436270668356298495217874856975039838491752312115399145170891284067381557846402133270080417223569515566950412998065528965876418669192693834237482252439306867556012250434204756819789708809956530033033767991191915440948747844405766014365839145011627272296181659511052928082857810890716433924358855018414080*x^82 + 1321689317928792178316460486018363481506419539609576136428669992718726855448528283782244779489121491311610971824680966365155785507062475961783019777123386737072019180966400337673739819172294965973001187293269934738206857336374882952134553271926613094212780787593840954190787675654514687872383261717800698697861856111906833804892221244088275588522705209566445928225344384387663478147341910678950771959014409044696991724452014969206627743237928496485278594814778422311925363763216159938904385234144915280792645085601251954815995829018958740602867325756619742964140035227350336268176193508187580113541893139680149233639113994298100891425074260132421297990469262333988926332606698237778319410815720467754770326840905405006801122419096949802506087521810714807381055484320363568705743512636751872*x^80 + 79941603963366015845204858568231466761010528960451059834228408979263397347271204215327675089593287334558043820084362582292675644446098628624140911048735630404701744303248539792863906755985401120735085687241049730003356870165539523795202496959488073410527565326731623513356954120615063206786412056548867209692409750233185082721906379909923935205060568654592971114111238791476705328853594198225298873817312308149757968947871674488164655139198851026115814301534160522704778603827473201027190937556268457835749315065638259069463171932957633956700758518841833896796867238797024412878077399295952411206915841095778910665349137124656974649724899239715047649279128112057044953659772518462974061812831989378290587738419533022796759458968890600504814474559861393376871997597823540957080687363489792*x^78 - 189027212412238940602620048878921243562658434299272287906307083208866834409025195705504714591798483386682161753164150541086824824640009777253975622086677886994727039236676557930370605436941776556886099951221406081549125193619050761829740416574923296001977969393721146320597817728185213975329328703514819049520248586278983423208734764808913728749349042281024786459000787430217693989210886981415747196158938285029792995767129362047312709564329022984009425758860058297687183753639220414130097775275180232994065649768291925164456525471661326341063400288776720201638147694108650975358744409778659384137057584123563992389080069721861379706229728179159513482135948861800864234919313769173085850646663765107314456786138807142656780396064800549706068751371518758068202334660772318953261370441728*x^76 - 2291353328941140144483313525580964622177601638589253404690827639449935445136187836838099963499043391080026765685922283667458452830891827938618426826171072193926009174930653658296176301656507912611535963837341985870476982134990468091938689421183756099861330273949890163271270996535205092184602021232643926243988673502330379711652162528063449603390789444276233161084804556795548466621740072316424325654439674802744680089842473871329613449485927956567647828703671591121467075425182459125957445155730718039622302229820069704342926468736771966839852184914414027410933708605652329078050752966851505096633406645371879551410538347870305645925245590827331114375174091273646943512762599065377819342700668612423266152662194552753707975611746270112971626854203092088731327698130072304996501684224*x^74 + 9638175036698793379085434442428170026599051788610434430943765960313743176418623748848264448560584156534029510949829452136433713572672317828693463290087722707865081491455246093544873149145381541505263972551848917517899049613700799763759507842551655250054417089294331177594944028258708268294484324654710386915534195410154011428832835649621517703333585543746276637179829961546044848863256947647863526885104008235644042247070062702743693042362387364111116853429556120923166459266233987357470146258952268293039472643037470826898290249690615268467472784793642697511603184064268834441731506762534718663364688020195594565313031597247678641707177262569008087513377637696280785892966715641302956753769773894098660335493769854312617880296291299680538661536424208257635758035654374446950514688*x^72 + 42443235720799742667168833553624160290736945718843441425027104647284965657432100286885097690543040320095279674046837645332209986776793117046472299103456456836121825828800066265421549775637505352232017983014617898675624712965645499769864168541614075989974421297257985218758527070184982102829042896104262311285660984816794824097015922188313100423231151895613609574882811926885008152581457033414206920158094841363286955358728747187368661516620610124413568664365055401778125466921127318642041741023158394042919726103174223402835512979810722561086664961921538309715233506774979047874758142119146270458783627435378886976019354432716282248754994867231410080293133956683505213769219589372732008646638651522562015358597450604423497512068101289326166616387576495031212575011882858417487872*x^70 - 300789164135736171254635593476918238279246981148088485083190397534191839658896992404634730758248579480256301278321915264250390810907343337909349487996629272243938131010635412029246424881654572192935827725008455183412259702730261992374819944212843655558107321524702815670155012015349153153473010927369318536263620770194787272495968062159745317391406902861542207922586429136995259981899639200667474327544350191767820260730654056223692860977347083361288044252885782226723884488702863302490164294230865265368903418921460794102223251161262204734735398824794183730141849032397507025222782121285130182195221717251737852879832746294387124375061066552308961606351127359329577649879655870707667368343213036321789808214156442697444270142267693774122330624283032608452642023536322076999680*x^68 - 324993190060740353078547738887173663261713619204476730412711131645822386231630098802088916827022475592434969840707901712074744239629536628643420673850453023332236187131601096922239176494239308100765982848713709936190981659414620930978379004658034371574746626969122653296373248192330265161039807582836891278862023363282879817982639835002954239311129523808145113492660394129339571723822919714314563796115014880260507383902646985572087680983143865694114626387885540147906194495198517364615130692160204409230335945823828329123104109074399300130836103800415822468388880325391060855692765343688378025007994573455018601279111944548616529034998590374302660281869726668789963114567921584870282737178434791587803457765190881463609889363555759627813412956799859498044939517919108268032*x^66 + 6113234809483638827108473207649444167114954050617173399510308198698265838434183487972921822310421815220312390402199640957519901867615216091893202024672663053075154433314421229481776512057060020756948234905155890145541948867752340316758639855651200352369529130076384727188900977538452526465947800118791768665541093323112954303266983594734062648762900404895259432026433342717613761500481726713699993425950181067227771608083242008907862496069754224924002923213484448372274134872142381420434983015466842147359663949466749168325928104402408888815027296138986402977273251339659848757456940308357272902332391768795697306711354611059939973374508030702521812248608086445631282430460643394240008042903046603174695049365075537607796759307566849008359212753801805434358860301624934400*x^64 - 6427122191180117245614989059097417759588072267539573538380340620102153617542984784938815725877795266954642846057058538282691019303167441462536352720775498236783536614183435070917592015960123792888873060508870876435704452047013883048798099851371076105529775462755094307790278908374720991646088693997000090013576977273810669198223688918055234376535089133472296113457227866381445750845505191346282866634482969433861882178718113933217325821933659328625902635326988442293569787797873733649743341645326605444709394288384663036351970771181426920545540647313103769314862194524742572752222195531898798272426117245785168398590545206871069980244897940173887940931477915293826247333034946007186691345728202114206450383039210053898745873466949113384884370381425532237526417293705216*x^62 - 74868594713171082642662242387119732376649123469892588972180524446772472581005580703506658613976983362155085784267431884139614784093630782352510563622874978794701012283551234535436038275761593957133438406029980675522056586378131408490892820365253172476796523403296302872199613154202837999465732837916524000369198724206335135523868111515530741359394139589147216850458831804140594042079680497366692882509013885948408754736537953936173118139472355438873100441767975594840624789028976376257169462252168444621821748854951222619274132322600347312387704315381837906650085792947266026473942535802299342624327650360569083619365733038268410051120332152500357735034370189155933516274907506169237398070640558821716755497057109143565170435381730715019143510399728538405387485839360*x^60 + 237885378133751810041362227019587686735295374276247894598414606042595864215147761592738451344141626519511067316797902956796836748811479690459634491605046288627998796303588561079707678970917687894437797825034866878705286860246844749647111381151719240541849816280975716932680168377940395848171678081616901489476205122468991536929212118977012816041467727341405161260411976667011328811131380295621716386207137230342755406408497226653749783178190775407411652741403882232236779475929770148105148558579345478204903908809438333950951452263264112012256754825947218870442756125325515267728190991012259274884029889750328530383167395406640959158492157746339642867209646574985025363314355572674214073741140553740848625457126270840401258721591365468548867038887939465684809940992*x^58 + 293151729650265149195092950172656002405255907513372546593240682863059769161260240263152408713897135700013229713245138779201289591158969993543262982333501146208876622914329516482956476529532491396715527141563919939374057921437149674622584468278667201011773012976878889811693358433771550131189263382387048433967348764990547784947035666776063356086956903441843329441316288260922673426026333847498846042515399664430269818616940110664522295850333995497407132561688684420270151698675168463036047376459219850333488962463576366360944934152550180729686213292844737102689518505620205586092662900426837736356325021180109995862714377720608224858557880212716274845389398076014401314858889323261348834370805460621394514395867373813087654787098925956390096009557388180076888064*x^56 - 2923412946315474133683449793302713342058245356163352791522723842114916386662279933437747684540683006564066168595215288913997265591158341346385867828271261688854901344818165863067303820763345330358306881985650441411019781339087639755807253376964266847102251332257394904454556754722856379561120562776925382705502487640560946511455293054876059388259770158779336017969187365231063130872950669065668175645475126083398772895410671222662418877647660664279951511888152410070888507619016566767944639656389262272947832205501761881006408772937131990049957902248900420601668174167752514381534934227776240853957447178291311039803190666112248092221310012908959294775506596820190515379573166696451535594179005454092101558840020723707455743523018502564896675140583515108671488*x^54 + 5022501654918287776586405362058332892199091198574341676347559269596212788751813453684402804683881713672021061685902275291520813888669785026132778909444627526837757908458065234971734502835510338564307308318091840060305097309354158334791125913038400522487011580399177092241936127562122061427426666080115669343772372768046496903012679670476254634951946102827233467579816860079963996420507914032177025394446076845371107530944014427162589947825737503665489733915659612400110449331100934007771442392734849355367329288134326572235456155760512251113263175954967913961411926147558746541782513598925213764533834554205946608298777666456526514625327290079951077236772124145402574310219116907219073346831795246365079043020644861015907473466094338281735587947156070203392*x^52 + 4729685669383807552035245507644265303343258803414629182614993525110197126970364169016562175265714028021472998573397868251306874228166364802472590866026940036010573112366094438440571783374626559465533626758129470517402274408055133617207381791149153059838777462750242158106649837060089977237536836637334544180314597722096032861201001020076920711948906072071558514804038608162188532490428720831310873479903131053769184790904941488714909701365345685539446626864514143437000875124808903888814488306812423806667296998182339094422028809477158609619228276355921986093416825439167214114478174143465395857318490155620876149644369727702966419474004953911636696480374789613489547065445185251923239579327922323710415116488751662932695284861089764648425214138862534656*x^50 - 34732331583512840903466623164959982988163519954670449213842382859971576034045640967115292471051749157368543263112285755598236262331843160876156118378173073826286705921194091587463672105205464058780562073045041937143868128761218954391260197788875654155400646239890087459882643414227827822076741661067453810152493952833168969117537618744141985576327859746046910276049448365857519434399086249547971721483651244276883599918696363386977606120970632717134030970966898433158355791235494929421588056664940808117069581652857460731875557841627730488972494986574294370335660477404745523185839751784249396812695129954432738443617111035371585233591068822715610229449275218125069214933724324523287584861606998656849004460525112956576754531884353247565194863434530816*x^48 + 83698513810083786566634324815250607134720668933605157412696924478395729976426713548444047214932940219998547906369351985531588713769641285920468216245733809981647415402593342990605741059465367910412826586766280133376576682471429042655050823148273930686050340889997962827360735505995762683259149094837993558885875927370054898826758002299161947952187232233704046490455249783266109190991034552730347613483885309417479556957157920752933941102960950110077702957896324233773616761607902006338206688807726940062292649323914091017781278591415027245821165479754562301245793654089835096844030023872273371868590821682576218100067187767939677573800638695995528991935802978762487678875201423839898167843433100143605523105755844146803821907147231974449107561349120*x^46 - 200755970154600709941851526602414394784526251384478777481073070282251340567390477533433086260811247706150723795296288120118441915405714003565841180820076598089462539479523136804439154172653943629651776948656055961327675872467758498071430602016065648341183689114985893677315740486960830206839961333043673306030897594772314049950060264406286413174387049772789726582883792476525049060327783975794530254795563400781081003628215482935421551130414336242231930340016438496846989751488016675874718095581591934628997148211948923836817624527354013620489925261958474835306015097443753826084391215699223566445518968099263115034461622587829624276612869424371509132596523109978604697032908917119571256478058924537633169069145207523570607203698918004239697444864*x^44 + 497069053476869431882976959198449957949812747525334656870244415797611874996420900242287736364128890966786500677663544913108532290323268115085033116782756799517800041529168981046748506591567746468141511849719933407978753095591191837783977173050000942392225359072716051812902672742945118526282944772286314970704605625064997495132658133970786424669602376520046975412200619931253878826306403757809953601798591516238603507035249157629793082685449877658497650118265750896945091258832656496111135170161875133152706338724783956680324315786261513680966149934798876141501063829743045305628871837882358149150135277469689532038124984755283639358201927023314359630109649135004209979987236865940563158240279142223836798152009392843534437227163278729734520832*x^42 - 844324353626885317556903169757515822432384102926313839064851256190681115469310854259618759723123133313872119334592157018096217054868485833907314709428706873039526822650251087509043713257062924527250539017383903423553039927782119425842127021274006151744333181130285675377407154447929943976235149219854749369443885071249341754113093491903426930323030236922855835817883630259469107355519907058921336245646000454534090441271267329330697649311448577942509085374360776665012019383310663505891081417534510542091818688976172460890016537140571117105572662915610641460968702557551286990023573815037896660514454833362051661020632433826791587170235473131738764728441194494924569135742168106000394676074224789794149091270424460121359844865942101952561152*x^40 + 630858936804266201309295441422218841843201140929587582223437048778720701706429176602557673567163826765764791424131568669533863856443079229982481094981356142886518039211221817182485002061177742790320012283517893567574830554190588966867432413874800975504891006261859975712269412312319047366653784209235376250899128419883204039605127245981028526771400229006022842735780607428240771185462174062802904614990564077753687983215022148003582342220653382301272172472250160449960124594425704936772729645971576163500775215403774883671876648851868708044896125715781838594111406130572127509548195322401670754680308874063760356390840511701542295385148414672618319205968739929566131976483933979274776749432831036697301402155493403803261609425163375345664*x^38 + 569205082655124422799483911739865753150094153118446397263319109284533955842522462279961903243728198707718866849304052632120291987316650574512086726622811199992966117284109569397231716117489385900605284655933631454559575436495621842265911458473301413018014329978112601529212875521301250112820679076648467751606995097808033807833604612216768996450364599460295437248454061801696970687047984245995744068996364774062415050139297345380715682181352192330246260929681261207667311498495018203611546175973246630521632310350924068400511316080886838185175016337932929930544491179043803995223667977260878078959032265702294462553450111837916904609086614198084515117524304184711000459178587102692457760101233008295314036038850598318587130344521072640*x^36 - 2071621689095317183792333706661863347694857149402824768997670079446049411732357416980472530235167454949536619282912840105194409773493629252718032662331803440753679457089251813490032167579697609229782606431622138708258193725255723399414203371944283804894162942278192793722999834510252509449652571417544931684305055613909190004363497351566309476307013959215025478164487548805259853085770162016082851675122763733963898055415472109943414658787779380820711489602010551916019483841774123522011975228888267713663148816163706787163521560372970114307823146442644701677568537179909013354082779591681648391691427685922032636707363406643338116107201874802505688751774063742198612902687151559052810275406407266021441276079708267935561162579509248*x^34 + 2655091007651855570102745815752523805771488285971897824678028101656239486474552736223781368309511545492808914713745598562735511477316576632986361643404064992337939026571590292861385411183661831411325218699965507816945752520841105615819353121805301710538609529256274311242565591419905200129661810178932504276579953430733790068423120450935371122989779981297148622597545191931027669376313876164685294892721667044905677998336276539936153249128803574506767693133830787071512651607015822565183865886290670864708847450990481454853729242233246234924455784921925500098292296437780958252848355735873612737469441043745780972353222628783116091609975762921841643184890510582386364574039059407398286922028830580885419970604575069086948817633280*x^32 - 2040243937716729479453939866775597438075811380398334664849490407039618202055026723006643446240624734585598322782946277866515789874208930259913187064608106043116895130095742765109006846069270867250934696014745557137276508841683755760843774234848419844833337631666027543778205184942023635847873024594557367861155105666028096485778463882203229742928927845585087179294986666104150486853176208995978802597849680405686005657719510771337091475678548839216658487334363641758145451267554688040339868586919417069886745907807899751137589719754204124319148469764444000764928902301192855799392995178535310902235528933222541994154929955307371191124519500832624118581018420575317069471838678878323201611919342506575913398368517656158085840896*x^30 + 1020052754080082969632235458861835945103912999029648567701086062131260842740453440334448442430954444653515825322520266995342601611701335196845487302398457023506474945712185678238127805872204385492788403041209949075836520678500149449846607448066502931018836819298155545065055007922301306146220364736952607559992037553933134015960143420388858999690150096121977834811470127562825614854452540344028684073358517006666234852356361143887419281671379568245770878383948492455946229419756027602688805609956313319015190630361958944003655193053803673520531745548829211437255649329025023533908576917022125689910605401217024029932588800640716846339652186992771671202170612342864433840034735604532620756896121932209694961152072876820529152*x^28 - 328542746994039528990683830538368748662822614424998874074480542339873661879752753767274804609732230837135071701389858106088787304640844540289249173244983027767402952843441813259510188608732052575493403174867799932354095522380896508909425920835484364022101340902163564348162403835548031631987407921247082402262239969681417023790485929579734361804006729180344780831371893836188883701250916777996743011627718434917800892329413735106793038201530013418232039440909130656728244988644719346177264130702958313297128898318084809758369503405059377062313572728941860493065614112585861258013731404233808000392144517324465782245598024216834205894390160959108994819542582314220468088480028960778173749733096605387973938171308004081664*x^26 + 61461325332565258941274939460796441514388230643882949141343422864599323133735085608853308558102105735597277975461583721448581105060010642245391889073832296819187207513866304330611872717887101099558687604009305780065196164873572653836350885305181041350153579697593899735993862233577362989148331609082396441480648309476757861766389129782395766147230027793561817798116072133893146454898934297001557991643202455274082855330573400684877225957381599670805368871754502112220158891338178950226119019155641191334973648165798390035879916194648308898650296712996311946709619162574858373126996241724581793174174450354005060569126710487808116392676743188986857526416263837045810748005915626469637592251073820868944927641456082944*x^24 - 3883324668856423612446092800667094150320259697151367320226422814495152338791133336877301068022001925013980560337485123317351271262815861959196520221284006653302789331259145290378430764735537849290861948858717815219822169071991253088266062471844292497150935376100568270612819903204041346582104295189187828002049752727073188767690513536835380714970240394050367058274878665426268406474621229783847244890466955475123457669618857838103478081719873257631606712223042304829240845135957063817601389057762099330915329545276327296389823137055060479088600984205450773261810290040287943375447007407561801850203550104551299284604828814780938712437668547090666687779610286822980928026444241790367419694027601081171160797806592*x^22 - 751535721689490635602726160758343740928826940673121338778302747609797410744715060289298071059289942912694073469602042157195159040645023416219148198990308955434330383762129537908570623448423649238094884469835715932763858841866906190150786482342054042342731140250272752591444502181163447348729408798021285148443833088516483233817616630213169669417701428496430042096983229714906048164441151780977111536642509516904668701606180313251232063095363820525086568769999715875585216849779150412006845439349103947854279557660478759928486358929520853026401648242002965746475781979082697376557938052223108305426560275321379681542136357969467395024769253074682371712000676608324171335903089428276627629775177410856049704960*x^20 + 135901623353313761757229850368703893196660572047067346516029092730489079060783421264594609820133572336072518801921313535152516537040517652303149156360902548376105565122098161025212249035632213470366306135040540427900037262154637463581460642807750908108717551472503069358218752817096744312686430601921320492637261543222562844289780854596340529155845588886212994871100235396349958542935568379229367083008774504804426543254888076302407193690076926665362835787349541609939803659127399095859507712450526415187870813189055235963671460519660610799239740025807008640197790341768222353705734429324430530837675812601867869272037336735309129419801429705939185609282276601371647865702193812112351258233643920944791552*x^18 - 50958306305261076752358194339545694928507225030977648408087258342013939142856432849435688263739731395545536680576652650614664539942150765613702037721485113551947052254944096341028078176408763257208616887571613527085791769294438990279685372266595708796958236334808107441480453944247454277990106070370209310487867543341839776224976660882151885115448375905140909308491612764101097483357455650795629993941539554136858936026910731687399963542017446590052917772745465122169873952141665708438415420812113553459654431408604060411703593440001667256744572894961800318472595793191253120569290991202076163616761133848506841893150781129033795641412956762867858036929543282950355101841180554507314361554629033984*x^16 - 650188828198774002608840858704113147631914846394013323855760348772792047346524954492186625027803588839315220838871634319050726521417767120188044210442093981652413029449454193656650975975894776142163898960873362301886103851593495066917817900263969777651081420250338544006366479876434720118406831137577459317141047860544522886036017588736646561174813636976484737265270943285246353700236811014018410144914516119477281253438253452458138457789066087735553584902114613337945164413501568205341912780924217797465395540143593317947955458044977117734754252914043829969697783422742369290142608093919671920290426399498353838549130305027219258730857042543675733877200926190057366962997563132098243424478560256*x^14 - 40861926570920959266184836493356487870101556498754365516581070114072518091189180068818820457863666698637605119857943187068983288250369863769940564758680953959887006279710923723611093816879531236700799224864997543482099048552660093498402873737977477878914142327203850612590518745668324625073167196655598853675048725291811822907221166746705050428592365581215053703960197023195029173397765610741357245733787930846305599947526603998608467466925663907160552791837303677050517769171384071139547902293479611126942596557163688337306547063596708855958776745722989329824824765024350932915546809460619689781927529121128775001574238746079556057069698886073721044771233933555075979271312038965197032914944*x^12 - 833124753794084640688037276215838669810167821426909298079819213895977644719819165599551266863818992602486166100521070732183379264504317517725873072933252108955469319806377299832404317039593724525658349695282228260134180345130070692615177601547359215253666584822098959395065183293676713007595596733366761959494919803119055875217130615334419699140906087798091373066854021813914501139753617893258163370781495356697852534020858303081733961286021174267574599891197148412999018401884051800916979269763700430554839848279393936903403968359843109042265627807071934454749450827071291058746685172656578386240531842073002002934511734839931947015408559751396076237632250338304856571567081700097785856*x^10 - 7658771618725884748391330938184669372433555954012241782723250710187787203760680649512963498992496408753376086439317515470971187550342509648135600256775055375747285598088997689403432718670035283922985695981614071033648198688170329541911963604718833139088728875684492770415778345349529336462034521272003610851542705422168047136991466169609285399351431104278602837041725333448163552986367470786589957095824606986581538902066418857879307622677635919790783044576891547878441671444126259908645368621950279065035661247809242239807623059271459188039846065519706144020111503573057674327408899865218627504506320806753588729362614715803746221825052026410921736413191705399088362911154772639744*x^8 - 16702567857203944352220222714963108829106565357395107454939865050669758612182200764101986747978197641921273414994875419667808215520877334939365038225290173446236643517881221669480017863871750927015963868760882719540147915762098906279786363273275742496569433501589826885468800735326031467965915990689273474830346752350933191146933485568965520419747935778054524883480013846734781978528383284809136014413009009144603902741385798034222138661411716892287230722920430565914506528132546014332668966111331666655206155742176355391236803719395898910941496600795040770285245449864139988840361464348390670081987574430726296881521856462573617660146588583291996940006882107441263477017018368*x^6 + 179782983655119035426809632822292010043322998080063145867493639194245739413644037741114955417763712148638757392745530307589858555969565820688419743815666086980304051170991581170290846672741818483159449120571441041279952770886645847890021249748579975059644805702156387722032257338446056276886076183359708839626702552458712083173844607335771164274124581313469178768494303465225020165590036620071686936758651254255162188831952375913152201628036706318886051165105008731971580811896481283049053883504571000628631550572045490366900528299775651342918932464482551071356622939013074872993124546958506098401663798133739760583386797810035714293101111354268849000352696905729310720*x^4 - 444197758052136116820947897695110521029794817251021934401181887740289358145846327491337544229683766554798883228243782871248641955973141102950804972276382531416874817011849504001105212340786679083467770811544278317948156695506340338722593025111105815768803766919105647251186565800487492140902716159763626654251136151953823895089730783501228795046526318604927487651461852337447878343654131635973382434640039782873335615115451925767611925478761250949473658982286038364626985823011552713897981212454750093123965724399560721568846778993595360108691913082816059008803044189452248953504408461730575921524060519694814257801237438618852560065556604495781368906796498944*x^2 - 76093196872372578373119402591542924336595309825576292045515391246379464763158228784639574310982195640136389028170516631428420420489719956379967145212728402543856172428301827720835720619511746291529555478771232044026977196487380606051408105650931853037339102824546133136096406879899656252503263781924026226251779704232683941753426157396355555386426406923634579674802667468556932278540083239541771095586953543174979462316844522007563225998088037858674707962626971083428228623682979720860644003550437215307280073434204980445128604856611045119274229393897316722277964178023092238372341675934924661369445149897548641019617913507175210877932947651340271616]] +=# \ No newline at end of file diff --git a/src/connectcurves/subresultants.jl b/src/connectcurves/subresultants.jl index b91b75f..4ecb27a 100644 --- a/src/connectcurves/subresultants.jl +++ b/src/connectcurves/subresultants.jl @@ -92,7 +92,7 @@ function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingEl end #Bivariate subresultants -function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx) where T <: RingElement +function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false) where T <: RingElement LPQ = map(poly_to_array, [P,Q]) ULPQ = [ parray_asvar(lpq, idx) for lpq in LPQ ] @@ -106,15 +106,31 @@ function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx) where T <: # Get it back to initial polynomial ring Lsr = [ [collect(coefficients(csr)) for csr in coefficients(sr)] for sr in sr] newsr = [] - for lsr in Lsr - mlsr = [[],[]] - for i in 1:length(lsr) - for j in 1:length(lsr[i]) - push!(mlsr[1], lsr[i][j]) - push!(mlsr[2],add_ind([j-1],idx, i-1)) + if list + for lsr in Lsr + mlsr = [] + for i in 1:length(lsr) + tmp = [[],[]] + for j in 1:length(lsr[i]) + push!(tmp[1], lsr[i][j]) + push!(tmp[2],add_ind([j-1],idx, 0)) + end + push!(mlsr, tmp) + end + mlsr = [ array_to_poly(tmp, parent(P)) for tmp in mlsr ] + push!(newsr, mlsr) + end + else + for lsr in Lsr + mlsr = [[],[]] + for i in 1:length(lsr) + for j in 1:length(lsr[i]) + push!(mlsr[1], lsr[i][j]) + push!(mlsr[2],add_ind([j-1],idx, i-1)) + end end + push!(newsr, array_to_poly(mlsr, parent(P))) end - push!(newsr, array_to_poly(mlsr, parent(P))) end return newsr From 2f7dbcb8970f2a4f367c08866c5825e915ac9167 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sat, 11 May 2024 13:29:30 +0200 Subject: [PATCH 008/180] manage when no singular points --- src/connectcurves/data.jl | 6 +- src/connectcurves/main.ipynb | 13607 +++++++++++++------------ src/connectcurves/subresultant.ipynb | 133 +- 3 files changed, 6933 insertions(+), 6813 deletions(-) diff --git a/src/connectcurves/data.jl b/src/connectcurves/data.jl index b0dc223..1d5f9f6 100644 --- a/src/connectcurves/data.jl +++ b/src/connectcurves/data.jl @@ -1,8 +1,10 @@ #using Nemo -R, (x,y) = Nemo.polynomial_ring(ZZ, [:x, :y]) +R, (x,y) = Nemo.polynomial_ring(QQ, [:x, :y]) -f = 1594627541097114368612385*x^16 + 24126594979283487048484560*x^15*y - 648897523515553246784074808*x^14*y^2 + 9227671981881181765203810480*x^13*y^3 + 775388988595641728298874736332*x^12*y^4 + 10787151407096126900712389934720*x^11*y^5 + 77139559828286619230682855993096*x^10*y^6 + 452145503210946168432702707056320*x^9*y^7 + 1603450939087454055697523432885078*x^8*y^8 + 472422761323888641034023872620080*x^7*y^9 + 69254293553970771431091788378664*x^6*y^10 + 8171004998268972015374643672912*x^5*y^11 + 486748426688048642456485687660*x^4*y^12 - 12064621488868591078399181568*x^3*y^13 - 1468208821458887902925840024*x^2*y^14 + 12892282240123223587086528*x*y^15 + 1551343473382248651380209*y^16 - 7416582067989458752697004*x^14 - 86407846455606538783280976*x^13*y + 2644747193988832166794696620*x^12*y^2 + 4962811393512179992436546328*x^11*y^3 - 852556155710875435151137729948*x^10*y^4 - 9006223258524272797865687202672*x^9*y^5 - 37408868951040006789841449492372*x^8*y^6 - 96029136974599596104658658159536*x^7*y^7 - 25805546034923632520724584708244*x^6*y^8 - 5242437191813955076157431442064*x^5*y^9 - 409699928605220782678759186860*x^4*y^10 + 39375118017080555511082417752*x^3*y^11 + 4414478650057190403833967932*x^2*y^12 - 62266637085710610417717552*x*y^13 - 7665646840583710272384908*y^14 + 14233446085691566995553618*x^12 + 132571431253302115292123136*x^11*y - 3677320627079906075667837422*x^10*y^2 - 28335523591694036134043888352*x^9*y^3 + 186478273436442358105601202678*x^8*y^4 + 979680543110585521095162296976*x^7*y^5 - 2082167356121156563744172163572*x^6*y^6 - 30539225710419394554664076544*x^5*y^7 + 25429103844006118137220734342*x^4*y^8 - 40056866529454773916181059488*x^3*y^9 - 4741918132209313788162640030*x^2*y^10 + 120063392649421566997191792*x*y^11 + 15453863115268541628254722*y^12 - 14508062550440954802512688*x^10 - 115292786706841839957190896*x^9*y + 2178406370189758736513057100*x^8*y^2 + 17911006599365461837132806264*x^7*y^3 + 18721721306068791970712906740*x^6*y^4 + 140144222573062968441350663256*x^5*y^5 + 15151268277268342933019382004*x^4*y^6 + 14388997206020218965816744888*x^3*y^7 + 2181175955893013097832336108*x^2*y^8 - 116823607901494850142791760*x*y^9 - 16262571151436698863824960*y^10 + 8412196412628079801200763*x^8 + 60038503306269383516796672*x^7*y - 526872554079154536701276538*x^6*y^2 - 2627205980235442180204133952*x^5*y^3 + 1415955761616170935932891503*x^4*y^4 - 1207248891865676270007025776*x^3*y^5 - 411102077811099614734692666*x^2*y^6 + 59338125380312133254699856*x*y^7 + 9471776668272238878375147*y^8 - 2755131867388737857954960*x^6 - 16865677220581290594690288*x^5*y + 37152628773628751552853580*x^4*y^2 - 32454665768852564904473352*x^3*y^3 + 31405824474395795210222812*x^2*y^4 - 14499431708247069028795056*x*y^5 - 2982642484703489520084064*y^6 + 476197729395824935891282*x^4 + 1850003538678786657657456*x^3*y - 861756868723874605906006*x^2*y^2 + 1328290412641467896291664*x*y^3 + 466653249763538900703730*y^4 - 37550891878150349195068*x^2 - 32144769403583975845728*x*y - 33575411625230211328108*y^2 + 864999024811562109121 +# If you replace y^2 by 2*y^2 you get two very small connected components on the sides +# that maple misses even with grid [1000,1000] +f = 1594627541097114368612385*x^16 + 24126594979283487048484560*x^15*y - 648897523515553246784074808*x^14*y^2 + 9227671981881181765203810480*x^13*y^3 + 775388988595641728298874736332*x^12*y^4 + 10787151407096126900712389934720*x^11*y^5 + 77139559828286619230682855993096*x^10*y^6 + 452145503210946168432702707056320*x^9*y^7 + 1603450939087454055697523432885078*x^8*y^8 + 472422761323888641034023872620080*x^7*y^9 + 69254293553970771431091788378664*x^6*y^10 + 8171004998268972015374643672912*x^5*y^11 + 486748426688048642456485687660*x^4*y^12 - 12064621488868591078399181568*x^3*y^13 - 1468208821458887902925840024*x^2*y^14 + 12892282240123223587086528*x*y^15 + 1551343473382248651380209*y^16 - 7416582067989458752697004*x^14 - 86407846455606538783280976*x^13*y + 2644747193988832166794696620*x^12*y^2 + 4962811393512179992436546328*x^11*y^3 - 852556155710875435151137729948*x^10*y^4 - 9006223258524272797865687202672*x^9*y^5 - 37408868951040006789841449492372*x^8*y^6 - 96029136974599596104658658159536*x^7*y^7 - 25805546034923632520724584708244*x^6*y^8 - 5242437191813955076157431442064*x^5*y^9 - 409699928605220782678759186860*x^4*y^10 + 39375118017080555511082417752*x^3*y^11 + 4414478650057190403833967932*x^2*y^12 - 62266637085710610417717552*x*y^13 - 7665646840583710272384908*y^14 + 14233446085691566995553618*x^12 + 132571431253302115292123136*x^11*y - 3677320627079906075667837422*x^10*y^2 - 28335523591694036134043888352*x^9*y^3 + 186478273436442358105601202678*x^8*y^4 + 979680543110585521095162296976*x^7*y^5 - 2082167356121156563744172163572*x^6*y^6 - 30539225710419394554664076544*x^5*y^7 + 25429103844006118137220734342*x^4*y^8 - 40056866529454773916181059488*x^3*y^9 - 4741918132209313788162640030*x^2*y^10 + 120063392649421566997191792*x*y^11 + 15453863115268541628254722*y^12 - 14508062550440954802512688*x^10 - 115292786706841839957190896*x^9*y + 2178406370189758736513057100*x^8*y^2 + 17911006599365461837132806264*x^7*y^3 + 18721721306068791970712906740*x^6*y^4 + 140144222573062968441350663256*x^5*y^5 + 15151268277268342933019382004*x^4*y^6 + 14388997206020218965816744888*x^3*y^7 + 2181175955893013097832336108*x^2*y^8 - 116823607901494850142791760*x*y^9 - 16262571151436698863824960*y^10 + 8412196412628079801200763*x^8 + 60038503306269383516796672*x^7*y - 526872554079154536701276538*x^6*y^2 - 2627205980235442180204133952*x^5*y^3 + 1415955761616170935932891503*x^4*y^4 - 1207248891865676270007025776*x^3*y^5 - 411102077811099614734692666*x^2*y^6 + 59338125380312133254699856*x*y^7 + 9471776668272238878375147*y^8 - 2755131867388737857954960*x^6 - 16865677220581290594690288*x^5*y + 37152628773628751552853580*x^4*y^2 - 32454665768852564904473352*x^3*y^3 + 31405824474395795210222812*x^2*y^4 - 14499431708247069028795056*x*y^5 - 2982642484703489520084064*y^6 + 476197729395824935891282*x^4 + 1850003538678786657657456*x^3*y - 861756868723874605906006*x^2*y^2 + 1328290412641467896291664*x*y^3 + 466653249763538900703730*y^4 - 37550891878150349195068*x^2 - 32144769403583975845728*x*y - 33575411625230211328108*y^2 + 864999024811562109121 #= params = [[122052108945321231460815317670274232129992226114393994453269787251191586772999998478131397177313291168794930288045095160607171215109769903956555756352425696420971136000*x^64 - 959032695327466028896923007278462984351139470332688180556285108098088661529598320753396670253784301046095380112992662697008888935637597834208399524065939904172979990400*x^62 + 3394978440692000014057928614441958536159991996524914295852869400764921537705344371827178578116630227593461086898603789268227871843165040143533225447517362520002264974800*x^60 - 7151371831353663495035969461496662107369926971805594266199814693934146824218470195335493405697799780940541485521905675079385537261608449869138456973383228166236613263400*x^58 + 9969225814413837627444295403089186126663063577024217974344348166293461403972870910362754229719173808528360575889159764318118369001502184631485479443883015454011986682401*x^56 - 9671970836026456572298276720419947917471887665345986456817982798052297567912195266544191601002444674028621075312189430899896487514797955240881296337049837774935220682554*x^54 + 6681253172122667315238370397663913411776674477687428422442566526332877899682627142356726322165129405054337925114753161026023235352332208537631829530720089337124514136431*x^52 - 3301410220211424089271602152949473244107752962675011991847086104224995592785126226533504503253978553482754788676052797285321438414446348241998541528575215579369013124460*x^50 + 1153625866312801287615810700563023657416207647590355069763669808767031346841963349314203748595540207647317590903229427229222903703337667856594101141720943044058246069661*x^48 - 276471592632708955049516345940728535991597233768181885239869998582202243235193161503559987330426394282206550597625187581438180394843195337797005605877049995316127695732*x^46 + 42737111275022991036352608355606704897004210791721525996001628183626684128731822288746507037652796985104971734258839597661990354701818586349532900569181156658317172207*x^44 - 3742456659729901795861910080707269450979334093567063228455494047866720922141384258882510820384796174299426197864998469723296217948916294920720322245806788642212733938*x^42 + 124812901359186404102761973487936940587045208569099655070567763717545194869573966522045794363331888832044983896823256208123220099774770839702377440264548366585875579*x^40 + 2402338897585167721834533757115848973167440112325375263084520900477387202262408067511574486301847230054475590188439623088746403126201859025390930755087726059729702*x^38 - 68509937805104958231250341298198031936556840566332137015619239026451252039955810994277373605204223562430671087252591788826574761461118005709558506131791338007874*x^36 - 624602767543007223732132614350621970157553190644735452951939828727474543281390897520224663781381549515690693601166843655358728226002634853702893282072044534446*x^34 + 13841266243479813050333800913292143354226161213381471885203716731691523929640826181288978526617610615435538667085754539706451681501647162951472291089154824022*x^32 + 120202491171080915413185710414618689298315719480659390922869136636343650585376626433724584508907638709141858027047096646486866527054227623638334411322800692*x^30 - 520591115945881824376922076313706995768341899579304100913919000966844639567084555161071560271316369176537001034660519442033156769127410794732325730833980*x^28 - 3485964685779200797630002115057298589671830992286919107804731817646799770252462542189098663357180222904705862318369496603121342757549021191050978703064*x^26 + 21960953746028294720952888991143449905438039053336576582969186618106616244531983175814359264493400282340064599061237274909143339406981178759294248193*x^24 + 73849240175221567401011603553831401615608762932323920532235266189598220913324575676844395015176244479642509332983260487654003662496573180220444096*x^22 - 376824027305240350061272895486201229386360304928699585073020054777149244212956978325887719740315377634155833720619243461026923211826746813178656*x^20 - 1077064125063587403221749603783288580367506330701672842182847262625730650810368754865855958990017905698599286814095848949968486760592194466304*x^18 + 5690103572241003396861444757775613338734813344268307690846513823537481856958196599518133023344306311618066441904169231969794689720488173824*x^16 - 10193839327115713468262671581488410024134801061440399158183138926040393332773799485810782661251229174430436880799884660484369504300179456*x^14 + 10561325681560734971801564218210350941952186355064260084093107402195122950258107824859961357557778152241183977545309415213720791023616*x^12 - 46534691368958178600787555636054508288151498256013167919729116181621692838186009927608371499220570421327776499385092138476518768640*x^10 + 112909129306236789340828850326424134729652275074889648909431954832582428189211468993530209558892954944558876736171329175238475776*x^8 + 9772474340268998156394334148170923898672647267241149302597227839920236210220248425669412935053351970347661778775772607021056*x^6 + 390776074003361993581463215777520753745410226728214668964145360784605806127348743913715665385142126139767899281950769152*x^4 + 6380957595087055938360705671638193919990757753374547762909246062754723245830257862488492320528552761664667467644928*x^2 + 44165363089227334737474203421916712589754518865024815570613297228753546509038442785333463624505223591573323776, -1368192012344681727956616390340957823931846743107613968547047038247652009864975311483829249542034828304106208468177186109897213301041365960681148287255726572280062671123455824694388079483333283217240781970331426931716543118051293991498277553572332365411820058387490863713026806679839812369381791869736815833258051753079818657689188473663735699896793926825586726076994203946003790107304951806641194581090402396487134875531081498273995715986028169156333078352782190633703892700599463666606348023749773307946959921402566397859894767121288556775964925003879539648210002806249836465349252076043086720684596321974852410750553123172136472747057211856907173052944174716041758633767658222201300129004726222343872497638358078006675373294875034880386510701698872415863067469172994685406286032450056285939390183363394396051144225698201068651075526052664612170498048000*x^211 + 20179380142058508207916676906504558798143137134737375383785775280984768957208053471532768862237394630651847100572145659197442068471994105818971953412359553848047639258980711237466127568136491950657667423064913892842509690301919818696920670025070952564708223774178129499149278154432195976091432031412813159091961852467961843055813500728034432029476489683648421062036042239824120325174625410675345948653918225847005348795421961265667452471316456471485600096018962769440789188379652275394790256255475204915671865590680811547632170483878886572397449831265119313007318519552300470951426861482606989674908683994641274427306221406443238710944557095693142842073423208523723185642504384396938089647389854462953877894563956967097056216471624008594727178292891644526937795488049194012031702101543134920519559046496025779124479640348143471514640040575715655497757491200*x^209 - 140846812204452151016691118025848692169927898973143181969051710658692136932221259668905618546441757239242151077999428212483831182609823008216088165029658047299798367463373201487920470393911768114839159533053205881035460751927902626133755372345640651966430432539046240996852741300610768753781840322779407741705522532350779329418971007246078682308061681822656654909604658525806393182497824578609254302772299729689843955508739207919166899148149645823289207060495287794763248511615148259077346815932850849376295820946126850072400065715244885630085632833676075511648910846385256133485689935691317197146204240714003181684233827290675236316967376698166478206364719180894152325308444314750939144742436368818054294512700083671739054776874114553439014951187621485806623166350004806074114447270594134744315098225235018196804207279903606725177586713468659430341035950080*x^207 + 617850548425398421318490550994412217939460540687984723468014289576242682070449060819068043285475304405438913749558197717498483201417907105491686732451934915905855911450937337571031144746933783404716230218772673613244281538309678120301763376986728284030583109758161010138517896729658080267047501698234343535686387123447512060958238110850388624915201609612973600176506868374627300878286526254964950314518317793603404257630053364727696580242403252695916288093696625777167698656787467358895333116634693796398506230149054146339617098017787609275109503209616015552677386534892952097436303185510006635913167939236208266055043864322861391495033160535097978225781273881504127849425822388845706106799016439313129298646900002277785354058549932696473245566217286663191468081358586195043333302368282282369033371814491348647434642777524727346508832155743779344146499633152*x^205 - 1906904277268660277588907367475306380508917709853203330438086307195894274881939047320044190970385803689170451728248777818477176051490164384912746178498090051622387399886336627161777075070491725914893721469424127812646320503354148061244383623066356455529505809009353206943124981561360345461401407610683422039108977873390201099742921646857649882366444402035503349675090408155736825237905125719544080234354477325695007207846905557676154651022883622808739112882459284945410317399178113832847385568591410161628041444151313414817506804504021504710954301094406298651727565995165856403977331140863303751449678309128834153324913897854096493254068817409069736930100229042349482394748680429353652625810496247092823033240986060278878306618467029954924136446913155958896671905833818406879392929986635890201616295100999581329895600023937957315742277995990280583100955099136*x^203 + 4388895263021271238869700364157499030091249698709308768420159315746514157264637580056081357752889656183796191232783909814484187649385277451523840436207304954910094289060483322022814980319947629225689105538681208925689844091901240986892086346305890318009829742079914236584107746614624047736413776635001808933587162183417059565126361433070104304769065242559577010656137763408749253817542033968457178385485891323678386871061455032274862627407085695452666046706097650132207817824870679882170547225051325392104499529647309793853314243762607193324973110863130391221818206003588265818761717800327582179926611362579445237682480071680631238730658337970564375332426030496309155901721259023727344660545018148114981468385194360514089033404696705750203330765486182806577639938868750565427831125054846688526723433224519089542557258797344410713851356231208025361475872751616*x^201 - 7779990408709871826411328035393242878979344266216902241620796964195385461167214233475198032015567019040176777675921747465996511606507122671463452586146357126130597773590077126046864414741457647481550831996679517822466517571402026178151119257392945472467054870640403969742484829454775950591826347292664870324107892723448369148535386760768984001409065665063225958365306722030989208822842480356486101626284888102072860370236555948694117800582522128211809183089332310019361836213363314328893027345102297467098755433544941969489509001049557119089628993162647227189102037782135878857579741777238371480546231032649190900060696213706627303894449612931146740035984298436058278068882640619854451697231290795691290266900486035948149534338028483671980574543590670814241698663240153160983490669793741997677462612463497893902441342842682038248452635528238648104780652609536*x^199 + 10792645092954233344852809500452909002307646454397854710957062723360704446966135828890883779900731490163470787121113219739566152902509542212532857853236894788962363758182594481271389983716947212137435226372887667648099179329318043305592886109879396618125887350372349896037761729298250882419456223541333017362297490419208290025262377294450812609880041941722851414757903221487064115386676502095625710895658486806502722111384519677905985058822418516483267962980815345733578942316155411597805969407016324395750123302231471755321345317117035116055177137569548222218024851505307480617004697104581987668765828390249015778882902042077867550413254104358252782770368652434658620028921996159574679586537098779051505736959370877490624803564705738276500916586914227511646322745126546085778421148188439005706802655352150826393766912465479281218455538502083606619484288188416*x^197 - 11735531541605290203900824746319173020529364076031186084339735270566090450117601490547645862067041619941722508321381253091798886372483425608365451251886460888037478302184983164667106891584088109860067130469934965358999331429248216772331571882227527936789122153766251466319456773451983124848550841765424781648969744109945753292661595813892661171954508042739282589623873189890350820180333678160527821614152238768894502853489150931018892097261506111175776657879652899731275129780576006228908207174450535698605858444242942304993216683632190541333307223806565851051827917751227126285569392648930936343356385601451138936682607965273548313472433951330337515996772594101595084809717835399546899369399190889104722864203223267155564661108698004850973322103272439818018427865340194340188108904763303176614154966596818973980874688251271945164518842678811499845223551336448*x^195 + 9826088871789155132153027049515574899410687705267317420948478789065146905053980885204296929892594301550977604051938050024796589922529977076850662264706016958141012496544024462053182234251237696961269943766957567890921755866206643460032436290707844316008854753429436232912253376049932927700771374419187731347613892399734997390049641031391833106274923426438999754707408181091404965999420770660367846503324686974940661570151720508808780262565362955231781109576537273538014853175457641353797008278489044798004710570614628035502784056502255758893243558999789053130323161125627602122912480465932487667209606126822240820818516770888384671302090566122915365062826654924249722868621163946461419118690936015623276796734896046157232199875951119657621335155753270021608440025534041422127917649311645657733412961446817058530943616938936386846080356702239104101204096974848*x^193 - 5963045374386506218578821314737405135457730415211690292207804277869705694415727588334953385007786502842978329378875228309417168140716062921338662842464235766266039166391263221823301277782710685216032267136941681186704208704722991892218241844467425752234301813256513884248781703880990055655212347824592567779843746443501838310794773221402500767168134377442720900231501043864806001286402574666661120477141033697084455196325658060838759132730570686871777108146455398864741523002878879748869625220827864027561448979659156745436929450516413646529193616546741361416453938676662308051400088724349003685583570668905637438390934054365837614467070339517822309646279417917784670137039441889965426665332222767746402517629002667421154162578503899393434006404928194426391327163659337478362641570507993716681790081088026720807921783145245106157899389923201614593955700146176*x^191 + 2072302934866834318566600447118116070544006348431904807334308176663317289715950361170779446367591870239560127520901818576850420339003217259802501810477408205896236070526731690267017866790422663188316901313682604433385822841732293618849366603484731110898636717548029245255277653294199682429078034880532699355172376300603258345953936707452326060900695517149736388307227240426333923976104292760533644163594979346547156764491820463033441377273383629295937979192110463227890573824037587331932506353686422040472058065744173422154026698284127360254548991387271062266440436202814880933225268146357007185370524038290004992251255369654997148562642181753772065319430349041662103562793298266864400308209021862002302307718870819880548337975910352105696527840126519428949287861979493545184902345210439977577555228947985506653629848873089932123604225656264096326144707526656*x^189 + 344732936251195462398655212297515119566524517029167049776953614722870980908674934543025934921050724502914643747700763730173241502880473507223284907120674152735132327431512692560093146676426380711850213090722095278334000372705441754847241158358825498679703196476293707200305209862447949046552280939016320735010183156220850249119039545289597758330857147710010800201858392163192576442538559270250348632579910645197094611962184879536730826309974228348455207314397915532073482687347394315703282978817989388546487057169521932892694585578876001928343939639410770780577385745094917566681033012734447777308218398644670535191439537029202719560427335151186615320528370769498350326210896135778155931831587223246790074991005033096238721591980424874034448345910854656782945120654824810589637971535634414084417284969138241023769756787202242448943911046985530408482621095936*x^187 - 1056253194628677361018549111671950618344113269316057249967447893505172984917384616787304999571489520684705318265979644571867532386076265892665119664516501164975070659383063934281484420099950801589656571963772998440856593656837112635950684097793576169282626966817825460666192131054640911561995770356904227964346291794192638532651770512655561890119178749321117463772224309694590727979825648976017232453407862829600595313964593267883688957757533950533970379486603387354790388602778367585355179661779377753935339209426138154367826460528135690625619899833887039213851424972525030011136648864905070485646806937472145248819401958894268384700495422647865314439091372344754069380437419740283724551120479400429149916430099522691121935201923502133114297706367616912160361452937608514213986057747986327004409711766610535612408923499432933058983401988544630199900939747328*x^185 + 772012019154773487736142357298655904585409308251812275472321818259413483978238669833987815198243545293814314828936680573653438037820167548967674694589160429586817234138273169000384787103358372095840425819759996048423003512574002256131235031530295141407725136622376126628631701908108352778710181548799949120010731907316068561471750076966536653917332001775802113428571401805717347214465934901440367433530475067047670721889831475327408928991134012903581418985094756765024232641612950890198639355968147581015050037166608660502479831333222837558036636123442398701495837914239361794835156420487411660840582270684038201028590754010404303641708721157254788854673271704082132541303746147482181886503459894071728219330767976144694954630445410218496358638366843480307295832341845559602905572953775114950337780468472433698852321578640989118893625340979920466004718649344*x^183 - 295435062968717170298458704692183084214648385916914440156304678266045594297583219216175292456112625855596700871657769950733538251570023114616117143510690302312731554269829427436858534303052400054138744988415846893047192298395220773232586849603743180579882470652383194636555173935352980921480396929302731590723603938339301735571737407494539317027157129238647325508334282082143535834135352968621472438461664612591483296312683570483716348070054085679932433088601984618169757729851244429364584406582337626907872874386532883394052198922283386095785404023540847332834102435298174718520262316208852027801421772195716595534358171054883959001227876445114821034276093039245314457739850038894344476671428865198538617955335404028537861437083661719912549398867744734811513923982037214872655978773153542506487405487043093749641623734791169594458494733772826549716619624448*x^181 + 15906523347465503204137213317470526160536921667828981907968142883944559723182228741590748370178220096554701979949900496335123132667811483331924706837383050115481415808865496340762761960386282599458769947736412728170329525654536650996717355008213967599993202656077108835532734177082465545418415836283013148164830481772377402266044728038798415671496698831204569448359185621252515867482809805399106988741709543483715919401372308443123849237882280326424213657061095145472503726275895639907459783400784665317178925702218638272365082800241058607864117343327006154327525502919635073138805144191541763877151522105905957280568188969939070155176194034864728158794931633963841636047167862632971836193541803696486357546878043581999312144181537393051001520848340572907577855488334189254188420039491276834823131068973134526481217036779675057465154806615060705838456897536*x^179 + 56327823220956601855358303520043229084000485398795183959911825563711816414734562623958164924910360006421156282997684992003908239248417118680859661273230489349979336449228426589070229453554534425545328808670587144288051647738891510035006584861330722059422970475222211125623049787408923749458636671764847833650049211795213852588239642813621546316333841434000937969148472094737455960983153045991009314579943527313998555652730734376225431621849966627751484070831241286753664428113144094605165613928889411362183763677834265922441124850416535306367359572499951464653060617534597795270197133220294272199631736291914012798477587123903370867123832515370157551079936189482409997179008037895590890692305229058569412604844313025311638586947360309648345349369945398123556293910997339180652607449693611406446338223510214369435918287430813923551499079879558180364879921152*x^177 - 38593099610628495982938455394624560010775064004003616133940644148366120526183056331265962589478564308820817090941059168031523701333176636460917615275804336681009107743613747388773036595675539666184191406968163084009113420864552374811276433871296584678679273083221585550798256220300661870118763582006685988469873501280331865699581307434010244456797040858833874722126398526146583728868727898044082517681656822412773616076874233562839469779252138700905233028993650729995582352667094411091967510051637789549279501468624558066659311297511361844587172180647932684852816293181674825481606295856502737948024179198091015528274794193458690381211345871498960974639107357181844233686784040562111959211604605130439567243431279508331687574625442898548590609851177120675886686312595067125770027294889115258846293642477534234289065477502302585167701920579667322395607171072*x^175 + 12635696227001665799977677618388882373222278911399881866422106828928004387470204961020574172973845244111313825676671228286884889386931168269943481560508757588206627141194375389330609098942012025547349504658756284639456869374485904641913148366585087394012805437735755906487870143358826394273158580423373934454158094646110443581287155711279731326589630051816064249741389951069917826298701512822117986233771517818329671725603380268170064453828825695334664157345223307534914086778678515779775739202466463750341819350044200880005042109623009360731454409588568090665135769286980965919117735927242927374337449106940441652451307676910549754552357997181936832696984124512970546109900779854585469174618241295577265711479546325003795216642343173509615112416409357927108801425403301704441156338657266352621453756298732715986283452049356671764746707598779054221655277568*x^173 - 838219741592425647028046567336567224559312183240217598984403966278375605367588645676237446026596065831730477882113943700382328387053627075763061289471686845005100825132711368961708182690633578075148017997860102181208672123909056277980316685329702683187208040149217591390054802805916796025234765316740811717818270406866860396928245808007279026673748050487635876746765451042653838198409576958044584330807041452336040954386525266003180204541699425706493266219549181658691939699485729527872557533545569856685540917695654306663745561090685092902747578984527102026725736544518812985526368346584458759115260812490360423623868911024784723528453222215810553142244367983070780886733236296209477944436889201565660263067171501202395055259962391589842296179968149003009763592031996658178271961538411132131298224016439693268286677221643731001672845687454404428959842304*x^171 - 1369361621882343886926750589011399090426774103070122294879530615115329098087702014295622831319028697052434936060146891682743792320732923974043986574621148138810322285036947469503642142123844615355733307623066765460292945740849261164418940176920220060361079553642158256974288835822223157553427597283548657648355933857266121228533656801409924861487868007017061697241880468384896199138362756102672165478911069264457294097035184723608866019803691774911690095517338574949613482376426286945102691331374875883663067605081624947980071269745829497532464632704387872961441540664251353595299408077635141875682365611342144987645972352263298146829914526325150985420957752868495550758178154283374982649138209512181548724860657017174084764828671599424981260364531953733670462501036130082121767288199231480581718875849294353362237499735144760925368247432866082852526096384*x^169 + 796419637454318128619099497966357472555004023294593535738422243196390226919266888957290446610133624591853946011812812766651805140836806050705683024051308101547786000753468996389587236236603097827943247979417153490004297800150190499872585269834233121351603599540418370240012567816518100556882134373369086927683176761956816637396808012189831506594517905661309801217309218792200431542680389347136502234276293197174911984408866306925655757795058947102523956107558030275105341325809561440668033733429550038515391599504932088845500158407372529725357901493223560397928994502367293483028972173017807890828193848555855070753359183883072069376923357732690217962279087776391338524587689290309970836406070761569085403109902731646980722368016285333305892858190970164559640057906524858327279105250325091709595251851339339262659203154349080654011121130912053116522201088*x^167 - 227602389956085074132176805775119463486425506469504747675231806420927732208456983494276625078992509332424201946880580932275532510561873401547905072056971767524416755101356194912317432106172455740703691149160006659513354423796653359858150689153338968937011332691216131852443702570451454080856589142128320234662930710819911992971541518080913039392996518255446257206017055745517952159932577711859831630727888478536960864793620824312075761946512243429885007129230785655722697178898785025478385982757339998111485047490316777848151146062264324508542053480865518521868644240701846778543664648879835063010351128931987903887764215155960152508631952292884554280790597366825513872888963973960851378849862500490776400217486612920389276134626733300824291163402298717878079237962977864812639259643752991224114523367185788037502152335509523313428656752880404344627789824*x^165 + 24817456537324538865399899231871887270038553674969271724040418931580711217020668147301502235861687448747291972771043446430596426984637583394775408770542131716816903398074437081592305974845507931476398683829231982725265304931817783813877306145162669679525055109915453070721459634508737839500661624804277895570727785899159142934786670168610384892704037630432438334876958440244459813685466106973656016722320386533116607611483921887066506262855425203231951050808589394325183402614034180797143151478938786965017240012530023247814523435838505620731053364649636434005692168876039079100445760133626319218798413507403050162383298854357203273306951454522768802591451229626011209604088794047855506299148858831936083966022294606033063878863506720427657973982359821229385070744515404440214355917458294882600920484145614402594500899747693680919661244604715496021950464*x^163 + 9249043781320867038458057054864158958997438718830542901578078177410737176316957071448160889082203558682261404850603039964623543878203528391079808781928690048830130677998023346685622355227132376152655844483793731062708312697471729448789157483258794454599213339890812283519831433710290379465852883579003400857268574980876921449315729425989424150688321196063448875086273889298693721575971209210407778646448080466948000098444118386708823045782259277429824680589141793456206923415012674004394024740501879745438948460529083556857548989567725811358170399507171443002128950266792476534356415162624743854695076951240844920865707277810011138570245674723091732864167453074188454195751697450253352171542089754460557831374507183246017654551003039878391537362841579185253147086529288017578785600333492987325805530257712355118866653820802733519482627407415880445853696*x^161 - 5934917183597523715884162180841948374522040043684897855040652262322664086191567223656924569698500889982837093640097890532077858360945452898853507238770470436555392517873294243505781840041926580480890572389324314265947375062353614095308717547986536071242344534380311210362755441910533192082522038123675912035857857078279882330487760216521740180351956779176913732488805252239005873214391818617354403981691015739344694470980428286253550384218273755912675592196273172870642479854530954248441541526702825327541883998401494605039757294482096972471976539510196644107452417358849155548768364070718695259696523124725584765060791172722804412967397037506937908388625199119168866652760183500958135262331769125961858626306637748765997326122843150895164217113034858535124038877489897622546200844705532323397729834677531439193595512936632237076710753530423636182171648*x^159 + 1849874298698992989561364207938527686068473466573039211412233320056121976152705191145689736633366622696047416563334522468809508002389822221462932037577504807422422267335036220351184204656786339724579203526880157383920365762155782446947326530695614995742394969382859184862077353078214768247449553167149375495505892923708903945216861905296203906699722276158718890940663973846795337509217897947297288230096400233436297857611920630305396767791062761456456738987529665542040217029070136396285642469087377816353882225309808104470236965487816432540824139174806306891436732145870235804506290993895620568239373524869853798401383262983336514024454017724260138274077791671349840907411598195509374043431217275038384663624209013184044997010962482823743064655039705002139694378972493809180869857854491581113027285206972817160516596483175573185762299189444644247175168*x^157 - 401361677187473764317267203760444329016842358019162991408770672047557447626385438637127733409050673459053486089217490067555718112825383844280207104680626609790663929900104048622931376249540183072811857395602319716894454167849537693296917429106580961251476968219334150060748412682931551238584719392319757339024712134483281048362678270456398132667885139773457776411843590508056066028863034393888548292941591070372923383299841584170127662308094246559854394452851831643000884270485971895084468797570717581274825286187232141356181471689544902288758928113549597564447538659928874632105354373689851857515203453158336903729707624645007438596537245662785023075205254278383544253589468059014447404287531833737892289929908278397252578961978617260983240695317015377123097556084702156516563114991659620429581832281822140758958081174572361528600268088063085017825280*x^155 + 65486352502763038297813044282814262324601170901387619274837238725370179877827571845765650492656795125388499955414453341346552593276485019189748707942148212642028539522632548267996721059953589944323004964144201053200084516643855054848203655918970393825220045736816828041046249472396823282377252639226868977839161589760600648595832904922871584188765283591126863672794285620609411613887055871592299529194801279109538850365297655361839714678571700417016603810025832388151740178253969515348627388685266453666208742258823080987347046512833713541104353908868284959478498776634340777073981451188380908828373530078326108967914839613766201288093116399899189540315011072358263847368070580841785965633669996819445561008363330837242860113444333949103124137587347324464807987014248596194539611968686768201060720221331340074426906859665843401792400167436561116299264*x^153 - 8203375713558902769546705476445248123212012042059217036611042565393929130605082680198940127414402377243622530802571885602639870927666379185912723066685579344731612106975961325304883904573378387780546813586992564834530862341678505317873990026569427903281000635595855153274763378047234406166131815826184287882028302008407051496355120818213505222141859991386936116733008369666433694484800569394772647251476735798093840170524650060025224468726772308305118383593860875129118353246225465850675778183200164627536016399321789332671692681644320706287761660477438349072073196334658884781069524117788477007146212429909680283145127016688675920334851199457091537871552429226140251094524110364967652369837828371190163851016844011493500566027913045061841989950859635941859927501117652998863383195971367260335435112721347002805266945974105883956597156886257413914624*x^151 + 785128929103508946218944309423226491589569094771289526924184676944164421882727671021342603562401673653974415038676584902338964613263206505494380423565150352973629924172974182048357172995194230502676207208097353120260944309722675399847688753157360913194641329538520020574087569570928325668403875868843400209024097025200159778898653174525360559500132564301669324392777917979570116166251724053526497271692396221695206893210465440700176780413130136364616886876850917879585615219802418817161532318872756974554184431701818844999769391151915541255738638640809488799747997863686816076471901802986802728871940989986294254037739692867239476896193363825820292260964104032644978469534921433488322801530462354533077750665201859097311349830525332976112057128486812744681524851166357502791507954073921441416126239624607703330665583400273606201602738821631689359360*x^149 - 55708668050598916735323811288232505280588567617272539813853559662376029002113350881389739488226793618282943443386414454225975038756149587986153718841852820672047962332665456070653388232271296140304147433246700474790766977766356152621844722313348928494191896989415758631635199318170874181218087703735854456168893739848435827948512731722403461372840717235713288851325018074394788915824596608574277415314194311703385646164915628325737882955610953815093465975187662986575215081830349495479879037244485129407912656854289020526469652900922483289043097298497747577377363405084554344062981713754476165912056321532317036280600018700013472084073117612260704122742543978649879665516970140527870895518207355362428768734102475147309410902132095073074764157901154503940685577778394297524528587373384802575436388484246539008170528381624263038351326401946500202496*x^147 + 2692168042469448675314615340879243662217462642003705535610621636494598318525582059840419508505493113147477792967689821127819789529890244459842312527979037319372040761573958146258022220220002941902237471594227646230060770708491591437156711951774694473876094271788007496192989905847176432765989250792090519999209973031662696812839490551240872432312675153291533734474177495097707791439957073877043940988693578929740830470909832174758364419429456428287686610261706804063049727350720705521812168088063901559892682087163627558379881993265018669613732661218458133825240857318946092483548280114607310201711410224711140767391179867832192717800077349311307760950100244712045120435813116632887685103138192050906323422281128799382146262843026205875137452815713372566164229470242533631199695942231800419296839113361744715979754912199475365666624638697689055232*x^145 - 62404874854976164140019941071731026655945848337008480421287262173563320713148396888513514614841162167635183843038749203628509749100853206029025989704324674088790456192849481378319963495599481150016324390747515289629514427660638192715185735165023821011493889564789957386803273926218303771042077769686074389840180888011906716638114896730651239622575665317774507024264412852292203183128528523487643469487524324201996365428184821312552054843280629769388578287641318526732327267894949456765163128147103079907228178495967782307972617090014793071674937365561776224324134538667406879973539404095233746108271488997406280805249976723254525168021399468210162106341277270739297216509787303853941985346893931859970461409417653140184340723246557508858356926368856496911229949160328794386339763650340802979684217626882353079698008714849230623905832713043574784*x^143 - 2025790800242208237673365931156323830247792820306554370714486354182959168319812967848680462766299592725252023229550050358816976912107109580945973193589843671758188185938352460147249035769234056347291274053417131994298478528802237106787349667611295388161583534766597320124874629505920460650765448461306592963789138765139847350996091276973817735195138092321510118182322946980831567478933313571315589241834745593381677151045439028856526188695358991347754989829720185060036994059214139083674139029409272187532320066733246909032657036514413373546196153092728809367252234464130064410473207553872907043724923037947963623300028599294830624427497784068678311134078886393205346619831358653043300388336847472462692870618754155351301191211766155034189024806925971140644305646346508975786794346463916465846680717758444532539251298294413553549333513558294528*x^141 + 242715022634058785681614706616095977689236275532407301507661701192466222307551514965225206768294742360438725806202944017151402397064349916078456650221312261516836182008818653151518028319647306209721605748536504027323675605608838788791234218649089596819418800758375719107277827936344479703994230294808753590045461140090347535353119917747255651240052613243004232188953917973971348333693371692066691316193745055067665044935649493340243891095103888866660804674288608179845842362300193466814041770757317446769485775498908659414265377302566918683155749958117856191637917499813573166484315616251442934612307674051260253232585083914909974718425062873569725454337707139175369000293643061603198068365840699305357898462805844785903351381911854469268595818305709006312416826671071726011387317431376543618551278990821953855951057448668191300104629468004352*x^139 - 8468164061998106195943865366170164678787461450577831016509273482301280345593862251157809984538756925245635546984961545398160167837142835619962098557755063100654415596527480056289591722770237518548038895701862038910139364389518310398569097074503528093354965105835044335276556598149978751093157705044489844642679381199617342844652444987665069035568902408572049651131448680798626912342828681979658384961906890150073711666754142737111077482084717987858617640140817138651778614720904831756616482232328979621079911277875572073737070039735716815799415166079765221082984335665472816157581229332781860212198562358220927231022954714061099035815206450995082508913322276095489022095076154591268391129588211856996419153120677032220193567677468467384052823910800890038314378918448192218885785465837695166102222661273272020739434295910512224259412108247040*x^137 - 24849683858530273396960533495528101987714788096763461245148419447346125790077535816016637637261653731279945166280526696573790878777100213491614413424583600571457764455847757565375395310139846924160821537306134437192129915668297396970108933109380573231077727506309742598602626520110141510383304527794241519688827626705984426410737646147494759992036817359319544169487870870869370800964783244647326762547143276912235085621900059227164949693537697529586744181765383916280280337012266514118479669211736228173580589254015190342980625746513990489797052191606917937547340628561019351268793117524236786018724384366541528402173042123616930340467697621845349490553651358264650371933917299941597794185529697741305201524738829319942918181656527718327237384923001699410430150336602589379761219165003347776390802538644503948145691927598775273971788021760*x^135 + 13568819282670846924287282195789698277750783824546275135463978506071443839350880870085162444583434112564292189019432570821452253015246371975452202458015679596288102931758880907792823693685062706490631588024738606966703692578664311402161068192830050994844499872588192650910587478718942252615745964394105205017462588445761958162821816311512564419088585570936936200055129315071516491968606922457970041859377304886991054229495463100446784366743741056754819687383665768651081448622037599512059723185709220317393894888595517019187161417855944085308679902867887112417886048022799839609235286639861846531643610337981389214302528192819756256342045031615126198580495965177918913360376364935637656307915694612660477903107070501585795140656504592256528174371957652260751335791186759921000341097038844711400039775346511220395844135718090546957330153472*x^133 - 451128681604164133912697160722400945374247430150365595710627228166178172041809973036199097545169400985366885011556044441709394287242863513665364397383224487810083077887270091609719290498316335465170865838079923460605898667281819950531415039914916743628410260664178217126764333206933026224921340865150610080904718453541478515885581820556566349735377234572931339476620118263290944612813045496590437135270298172500507204518267416169678601542974024307687201162953810568829727777948574033527583819909549949498244144156503338220131631412061705736456459167771255495114731376209718804363873684352797063611321250682346529873802075018657867060930342575078648930641971720056041919573217073591565113394477208462909988714587707513693617866711060266540523658626791475581243008560582941784903291422982392184770548198093420049594585238990406494827053056*x^131 - 981248855800524886022994407935260792287722258789499185751450646542651912933321300803619585344202794846378487821811312184322704439654215532873357821837624472550464539516271415729884215108903151738300098821812548281811987811020823471666878437584181327415503063564306906612832515827039825461904178597104970855201679954809876696439656084594519585312776264293841105210209554857868628924549124648261950447350418550535332949669717959875419299752070667452557625028982741522075985772568811123473713750901362974813437666480561799400915396064942776920135298589373878171185038787177996800504629887140252565574543445725489539080586738366525510437356073649356292828472427194245344023022662199267392164861660754301853544610893746783101259626399786830920170266330343522982211463171372607917513777236469489299590501708326940269541383193064851097255936*x^129 + 448422421984697566168164758983240954087543444039384022878234513049201346579280664520371687783636046381666894146755337344387122058932971236191171189252635500729221842800125923024959047643984537007940631521528179753323700517854261928814076039491938815507412831197957633015094415247608361578113469566717539354962973208378875835158112033152865356358343320630706486151299493826389437107098434399351652379548441767350080056882536714655147084311773592287855309401364172857465238766430681767474114603382278683497761983225062042115097871232743482538591388934664256601657580005770571505157356458969938307271426540433012935107525920691699178744211431468477920041029762129773029322979895767841414898085697961324236734159549721019480951399979898934782835458459623547064767198166280087493173288106380175474859576965391577827498983757488012065243136*x^127 - 9185710630151657704756851053136252056760599918977520043618582671645352041090129362759651298399578060444177248292884610799889060494757411339361360284161271715695391341886955496756707902453036088686143743606242618514530858225520889814041535224703811496421262263973044571669536118427730182656397057579352077352857394205742033986470971882260796972300732418389199254176414496122396977852247416582228743560767222231142146721381473012122067716622547859216120988809837900121856663148197424144590220786939242805111949724379049660354903258190517320016097993632185376015745575068572575083756213952688054438924654754795521597325951722651742360880975952650468297313694146051022325934758537624826369626668449117536417198172498028767344555924268771882752521265142959523218797391414063822950031792466700755069911437223188934733214982049701543542784*x^125 - 141541574258836090142450727327112149136933609931863757138352614638266909452914728708849536777085097499427768244293221494788881939369598790837370189017850466854839415723642827955785848649892079824949442760679050396561010648291429321313231426873368052321416898106781658148907375082785713859508044840092449373792774858432027305071725529034377241457562729442103044335773066873608690741971866030065838934756330906634030025572227395066471135211582687249181604104772027018348675739027470982801037797586493647469289736323720584291612673914526565647073042705584204338670542665323833390611154530036483724930810560544409715630059705781305773255797284268129539269597179348810363803784029075124373000287287780683317700452544170880310989196186752410990865224384307125946074858318055133239232821991440197804302369217564809468394176582435987259392*x^123 + 7931028916030767253906307018835679037393490909218462636356610854240974792318016909137861176939046743130330140735514694052242110025736977632388441764881098161051412256369697405416941974913009111872574467653371977456803050475468594824619108210323826279812370939913819201662631344738147022135648929874955401910020201512072758673017160941060963633676671484709381376543641073494944085047512289347840883654180936830067531967346493946470269741938904496375362444860369504639545553936121250114611991646383586948392369090730733227668425110647021671241681966021204549448707259051182559640389059448072575353609004470680209149207197796338855876483637548346260505132765966124735153942841071707284314381843144735857477693955516985390302896137089201335184594038068686845981880478262737706564989924954909440417207358957637602911881853050747355136*x^121 - 33633749081088714991039092228874393568344047616457160306603771247588784425633068884920159851962086054057640778633988082714974454299005706692100730869806238135610489346964954451266172152585847305477812488619808775764022264234757146100634599487120283973115152658192432764858333127060805339842238060673931488039211620689956573641088819027314051446199378637822886900003087982559308621378775368505362138543935504985131200977508506100865419515381823706479754210123911763856447937149067600744495798976986051088546500727499496151699695593880768556160788660953558843610119137840866643791899256571419588611759794764412361441359925706251090175907298533246292989744323676723509658272490465519420126201529490047611736905528892892239911456258091124865271784392661809633790181962051987196694119976178535885797390254327110814059203159578902528*x^119 - 3335676037190809053302978177011982961794993194516424808919030365855968746878638300132173776173680476176435633171140344691882772815079109892897770740174277379568113215319510056094473564480396735753114181860492300786335011083465593621806126746942885324521187629229850619280598288420949170507488310372102888702543649088233919722914079024848552177654736124832347178643292376637438141414970308616148118218374045353838556586438567983192639146334841578205681674379376847628538881597321605624894620666815553943741299197845753383544320384503968559827907080940486669980605489851820095749168091002181610533047326980952300642543789769108741911992218543639684966685758200969331747758490850921427758225838510117752902053746032376759176738518137549150705336868117630752579745245390077864572248357556036584401891054445026048321394771232817152*x^117 + 47583812168759076181282098182764110055388748427709195849588739557773812224221361579534348511136221671290599774527650535603329544506611055389219733737543011058830809296018690820056201164172720406250348608180469191308935365476222974075004482082492544047296704484048409562962310668405231242415938155520984658820066818575825013063943925985997060191036403570284206481141487666465696422954905043656869320796621586347699177076073539269229831959730106808575682165289686342520882640980072052144178546438553085943677092852920226278605183195922928011800715039301218461319606217227336095419973660064897984798033084828784345835317488894157845237160062121310498804016293110381792345499221743030229405156015807087294417028226600053726059103444266447425036665519875883273032479737008729237041039303041138851101374195452472069960415095816192*x^115 + 804688148208109086249757712920651362326599079401659946623511106365542517478205285016446508858899730683157362115540028035836541454142369200830896901784146016775873029008032416772463886001747441229724607057730554358790164518413616080157748386755513174367011529927437372961361058856023291844310368416201575521865675437008641359694359493551176739897576034262850343673836959973029182816493352475332348694628854445182627340392570813062445494018495363352898904293877076124143596977290167633258905740315046592531243636310357902749829375182481565462369462305801563761276218503471300120833261682293536990841427913133461794992146073941230770431987825172147615244416924401214009229276401957066375855145145064259182240059281138099341388174822788453283748851850797683453249213933271520435252289550854966912077929108395601256989069410304*x^113 - 21229555947201823636108789947888148950761705935015734527168752471516836137343601927912263459900627729969187069682777165093612098022265178076349021500177370419473337737033670215410005987659903156468832516941156722485282405904958445954306292390497589968610729382149151117758591172661015143055503090082446616946208176993611962457131993528500964447118030027441901746724150272687614382262918578362389100054538701536292055857925031085878605426305437194030327114470470014322572860062590407338517977660172076764697944623009112381820029023829201565595266583905261621204606571370655239808347107539490224700041341379475386048026218776425925645674654992988355650914448130664943538771130106571108664300692891794996153935740214377051664979504697114549284875202299611370397854213455803659097216669372415634457115010858026996945953751040*x^111 - 94565803943517616512034172576021737218329874781312627634199763017344701249753425468715046443354653280595467269407159929547139913966646838269438918005126952727108560797237060791576577036617574758779251427705958636379446025462781447023059877059314084675447358359135395404795333214180863897285144873938256988879240175375688479306422792035932168061961471103692453639092178481743800182832808171253459377180290175808963210771800766976647058001885442143263274977592391254816242354611146729343718502928138816696814487104105000131376057048194220064781729729075463844549552104753314655060796847314641803949856631111109469615896209497147812688987367691031786646213237471194146662936084971770258498813863358013791531024071797927943791454781146414908319137966512822274653225703255151476069003212008438641126860047516826526141120512*x^109 + 5830644758232271766383521019356572180443523432416483641439986216912151255109112381586142706969435308204427192516515855888213118618774565512320687455383759317389481175007255370318710816124218621606702850444142035545643782214854692975230186726370239648064342766055939898589118596242607895469628714707148697710127321867779693965618639072848244455837923770193518289927025811373800426621956236393580260422821018518853835346636002829426961860436895197163046642184648630601185810824717383055935021514725327828468942992790312204687130518789671184238513451500263651418712244038772786982648208685715401131501724444304423197471088724503504980421094613842296917321454798794870991546091274200064661934788673059857135850118548820888868542756833296366371463933284485964306704974258187115055216619468554031870425856411767044271243264*x^107 - 5782493237874892721990720300323148765927053691103607444895943324389315569183541860949455041895126285981260930354250247640803962467985029254526273496010560530193365456031041323545757116963131829604702786688233811248827169320984649630861296295571605363069179630438393286444779886467383383308672909696220001103684448041202829255690721278317458422185497128297600078555638389688444151958725673200974420551803786791929175216326777078175373366051685502802313276690348046714068908657433480729156231481729561319768355701240804093723987952054220720754526836229717824321558769414119757482233971382523337048375666619482179958538144807152594346679568319348568949436757298196006424281004181138319548170868833052801431420324527487297429732797416833784724016902537741830506717834820206498920498002307818804834936982326206787485696*x^105 - 1117236106888986118873071476554856980862503528335368913318208292339356711864920580033860704725511596904193289649752813868418371695186997735592848578762590492422858948943048163747141551635172494589619670759463649508675458320122337872613353600546035956331392760546509044916266199520359680004852802356033755401174705862811203228440699918292401177989186504762528638952431067597384291037597352768609885018356332843835303680801854501219801811151284814477095821478389190134718643238259123943008498610998897088029455343990253278286450619910829942859806788899703287751906300407835699114905682965580079414917791216989722571209597575568039589083468885772465130352654992980101285168583966200344731895049666745011844224538810832996919030842133553353120538128094745470992670515224335221947685948607546328080281408428801966211072*x^103 + 4711183027120902050454978576015452409297783992847578403281926258963286933598819661596825356276864380763965709843597863610432910680236068989025120578715755137797152861966419583669944773706414982199234745133568059078488384109108492843409808851098981849173953146804284929983738296969984274161381755242692558066680362317944527138970228685586421440615534498169128652092720805843299097097732584460763488601957561779983280562071717748034107651157107211658214019522574775064442456732876743286884645677779234835247552152952781331873354011251360503009170079806668079665140025467124175051439653815706384830509331520855016675624295206745326207492018289312062746743530268337248521139851401391216386556701774367881347488760639621251579910560760032995646448169627831853137847245756291997266909754712838928873330376024287870976*x^101 + 156095396601333685178520765440823876214562535840642833294875574265857588295147874693209517245154459906159398358128328887007654176046076224870677513908311316174288013966155516938046398725347782888080783301222217636566835201328023142752172819526496404332821140105847608290408312238017882710001580472699377386178279223332565521723995535279862844754397418671188913480478051999697916184312870028840668819348820634079733099434747336306584614290478175491671264884443330744108768300649994073767997276996485886512909679523749229570392791010765460945324408475594161500163227805004155468498320296263565354326843040321686250775563150126904912813443988061662311273002696058827934026470207496206562264615964917633717150640341281017938543665873178926968465000168944428779777237659264045679769093622346913448056570635846942720*x^99 - 1008689134825232935219054172428044772788090387072696508586819923619780131846457072216549108793578919762953064702217588266360065408674562283685195181582669222380916881369158172810089886977491340264080040832682084599836401289182382395156387040837521867518548223996224000234573169249632752324737284478899383541709560026501066512204544954123999413573733712140001100341278287802490929486385382978503448080032728261234021234728286633726893333524225262818408837862986989977561265896945577524346611664479982198505905918296600111614843102028124518759550007197338933453421828551495267096974895539571419116178020219579458359610570283559990353892557449737688458457111279644203741759321540773839178480458724636627205778521957655636033454855273285537673223565371546535109668297815144355179036212058092519139526127336292352*x^97 - 16058974498985129899022231356882028481109290228777149537431468044243876836508802489075572444360505186046809560377256070971599399108215029469310841501567348448268694325798686632346457751620367727385517314435697986435725677623813999689487900393447807290026640717203848724074107030603929528903948924803924667772568885837477222493316090861754791815977044499925436886826344198900261195645087884027496555669645229342443509750184019709889952843768577570166285556544646091759064415054546725352876929782342515614351264531099241555163335707308902509618120341150240035348685584751013591799196086696091443372619505016816802506889370693878373158316297875790208022226472141078705679917856057755587768687811529263093242121786378734667722919158840091049084257494509162668349233338135536962523697098013280807067392948568064*x^95 + 133259585145177833915501733978770835559820168808433165299528956897511468685624584581307639922229382841625068074568503606991743101283364057236658035596410636940561371222075105899367276975048358780000531442081373362320885054733614902379698174346588440313890665920041925096017110310797755445207567438695593150032731608927997604491294134254143769896706540250161644112619610931977361478242894664518813705590411313287892338287070690141887925644883080904787487376243360784292636869199275110463735426376758705759342457831490083524805916842106017525529826614082945417614187528363099994189526721904271011340314545834639794971771111079375268327100601831180914618032712963035900237567242359478642844085335865022856954478185631797260336830942126630263251694100586774122975925854295744681889886882523794025167800238080*x^93 + 1190695433901858291333719939863039995424845166230233156088969157883561235114692548745282652470136609936038639643461410589721730224473155428189088155815752882282395201265094905144273763341488612750418582813397520310116297250370139889169841470353265497173730413607526331464741442282842963618802706268144450690079181322567709937798213757007273180344843040888550291989117448620297444077343858135494414715363645395317886196910719718346605773284348216599624719484565329654692694273217040968567944797552216014203660609983741935947558577101110443140057572617649552953764200740972758927059036576864537308772587394073571977176185422943040769139439767480978292908497524132884216730487070965458536699387819608948971604267086327683037810460844678535127362687061684750396413661721261419882009939984583623324471394304*x^91 - 12308381394670802710108833620036904621370729578656441980574899961463772425254962848323659321827517460639524359676245385416824927967786218507535884084740912019136311398427467085771773556610307777503265380538266369437319048289323853101678637033726896110537056445448908855733159519337301394186980111750156688772028486634090920937572114358899444784951008842545188747895965710092532083611445224115632644619607657917752430388944629086200354711190478501384981644101644913084797039594056567767068753295852927293846106626140834684636970347284717207755457159975947756823899432130712491670061742979380206419630302042373716868314001147160369107920873289092606036959541131385397982259098551130375158901990202100299371597485919615751816297281314320720229006991128451284501102404552306609769856528536941355130159104*x^89 - 58871242547405958595907990712437882528029775109863148923236264235123724827638944151694063412627000711900712776601528925141455290171469350819125841813444798339924181014210416137655585996849511864115349217831546036658629004805967578971545453332134136773973880712766405400139157305377251014142259759533677890292816309212978134382213199564103171192801674467748104953988143794929915383579284052815979175152424585017985410355575345404364346793167553640745234992620899399978578448139317793006298022706629633788466846175257227981378336670581901695870743040904612062595158249970114830571065251633836336865070237788886032112224722481023829563869312998617840743759002734767090040628665452735113580827337186173173649711110202885073591076826496458628607908159863373826989443068402437492094938157349713066590208*x^87 + 831089454151111580076582477265513349803406743624205441603510577713522398081530587740950373207315994560828395520250074163549203109375530975333349021770317494390671572783344417329474566517858995893566422904960485325368778703386427170020305551500027797197066661226284011028888574880495269903412193359814926497285711786008226731836281374249845911893613238493556899522831912603570005644761800912751214694108721925780045413641030170159694297088407586809022625536360101356218657188669067101170922994576407434575403340202551175550597352951180073800891585634274378303561341655808666432502623027928494446981103917192695142001187598117838204325884996543351571763569629185074366645174140611664165813787918923284238829879464053937758624859621392518790766208245877009302717210087730173343677434774273461846016*x^85 + 1443820933084241732930529800884085723833071211023742810104270290603094711298820151812181431598402306706044116038698835557579523035265140092855111040444123362287946837044357976670738506987960423315997821974274113592834133073746141131157158852831726835508554076138085775769476113028143834723409500108350435957910534752828075871624157393880896035795854975022258706191182736872968777785635488090812155705749751716354463491990594330475651502307037636430304564019744305856380410352542718869964441876889959003644619063285230079711025549634275238240959603046719562598993407586527886042088497519599158206492181364310448051626245341441336371998176354679012994929311604402167868229426597082794062653718583093053306671974136398708015897913253995679149532866295091520580196594480373637654339060593978245120*x^83 - 41564299638240288216080784445707232365643103551002973217364481910337140708792492253736534889484521969340971981100208601419095541455665327873874031307798748527214605187107740513016901919152818696073936772283332432013147015808087001874031944782670647492899213512953623472545588154846397511938672910193769515867069363127008654397487950990665468133622230143831736014524483271602753316763189890764842092637673509451375229636877414352558665957134813205559176460309307244852338012430330085584822688090927118927158702221305244674317601022525455289363310359936168964248556823905918003077301837069997711781873670105909891633470028920870869084193264288298889043128446561210744381172310225535926647226535983083128950534025949424711325913533114272639921743907966463027530764454639628681581755511875829760*x^81 + 29789653204482093556827067903321946950807440771300433089988385021117275053564974080111790822886155293995742275320535194578906083708915306706859678540249197093896990212873134387858943624767764987572440671953207436884398489541251211957394864322665385045153069493558790483323194297707118501374288532923519172275410761595562262416399630110542805603363608371505998959604653284493867370314289664848949132327464251849522431738382424897172374928284147003319776550515942798064460460858621325553966877018632470963294614789490262887076609375502093655437890163829357058924291641257737854867584026233791826581987885666052536351695466053944597264328936844968566461110636642244053265226955402933083925206168643394609104147698603950508460951266126592521015887700350492302917858255605187999954893237387264*x^79 + 1496060848595248327309839000265812269219608309462702588744674012875667377738085319938487797956962657888405762754282130126316254159956918597794294821311708335836379797318486266959568744103160532921408373189120691696336841637959981416042902435703195420145551572910420193211096475638663466992426434122853137836724813272483914230414588708716736148752633886256688863824279554770951859499623976769577271073909433119913790109534477990391418440856075022302116629950121944522358330695344968650753421715555605885704413819297998339415320393261582207451109463122292667246418562660294988726885759486592418269316623305753357801100159544802243817968568923533255315663728008152002530432487646355805930542346003115275144197861163771919919363244036756599151209298665847444485685758108898002041991361200128*x^77 - 4395796158192996899138512871641816407992326699091403169457282636990452668610899533928328947044491333150037396916166625236954432229830284275893600960394139082174829721697791755285621890508407317262301280080118492898288805799753151635312594020868255798133763038605457050421018887911191305127701486950310492184797558096981160443090666826859578202855854223467732356380402206093757607968280795400222648342541337758752550568126997990355809437448460793803124942433249325859381533348451600114743715296785086357998336152908105618899691483791633923951387806588659857739517899820746786157889814913038629277696245686125913993985034874546847023342930294056568785392500767959611858000470237698402381196398661069680494254390631056362332904755486663892528664211558663645164303829166269234114195357696*x^75 - 35881767414234337358553204681719409249400313994798372365635147902134373059111734194202668874376343517109768462922772400166813547277081888608547737026635756441564543482281775236053204035940773841713900521631462957784748284036890195691495233988252739901605417998325807496590562370092365940065788319039692887291374276676949844520512981816374455998034457377199121728203462230755722210467583188858108831321352492407248510815914847627712635559581606503331277609045264678547699678125930685541015902145908110113467294260250794972752165457935315586680873609725803584127709484212755063529686675714624548669934993532576344385828448713950593423213230119537269920820392623587022284580310823080572533921268501348511077460457207622204893690171055777996675715019762624070002599699763613605803589632*x^73 + 203092535737121948493028822171442678903093186641401483023432704042683284160989236649463349791737417410329282441503907781117286134433930382714451738206717953275752787794879218681941737392528685698654519452362128057949456850337312921898291285270634194678661480760528561177527490349627246897756326307801680405492782476754405366806988722888491664228580867766259945790620647177744258867267446328224499660447637506316443132934802488190350635820558624768911282775065227879344335879845029375108917815115911747627634611356766600114529307697742067840324380896248115297212493693987102456130064312223195061953996999239297857375761512066469232310240046573417479046258263346349986752183764139003373661487019862258085666101262391851915026730064083291153560715731411898364098406223200292733714432*x^71 + 440718464893359607354213647624471709282680434331859169298394473943131136412751481830336389154202954414959282356160348922577098699743995081174507283784188772632610246142991729721961191590073177013393065830920911325580239090246938776828508942517585470430307353610205293748929230627967658554609494886013006468981871066764540095089995673130898837002807476254572973257831604119204274867596762896113633505573370296457017627347815045144874056073239088852470863779265420798291008464826089112378042665548594463424751454922495625714904708392025142022392400570350554322346663827696521351571662672302410728797831142438546650841625944653823349879269791073325667159033039990640722041500765387991096409410792096789822322374927860837382373246156893279523622247141967746969199284844767041552384*x^69 - 5536822049008674334029219031739563974822166091639052850720349992908874373833757826916113798782687814815314808727701143675133191607785309943175005053104856241655100373172467563025567507435735518993639080382889676910895934561482951049764208152661392905272048991389421501181931149300082411323961283970904393323382765377780048663841846394711080184524000834045586740743439945560967666388946184943124686203767351127121350401908778642296955929707546707734260343023977400070421657683155642037725035948490003240978027343231579929138484938932431951388455466020108872288085307013878201518519715184922304048155631096720858337200372795204364410229196750945432183041664233763991503989987872420361674087156404009894134376235623141251734841177520213827960675293149280480907240132412409118720*x^67 + 3228381450043117809725560938548278948817493922131397896996653556021902861475792847042371876567955592212834126425302088686264189181206023900105324053157134703675969622091873596450211666376674644407139689821581780667172783121624534458138274417900659477739589653094146281490401014036972707388728075530570632434200802778216024545344336423584371460705347686664697867159424364631751516658272055985952325544458692142214313857282029570331280570996658618970898018691293879765716721887943341372588641598714488644598272864489767374956870205882039508324535731262310199541956459508044275332796284492508360394448795422682503996054709419739928746623646997237915563689469674098083899554418148163944253598467760801068534079794110800350928934092457429550895492296997330830283033590454288384*x^65 + 92437576656685587719766237707106023625313888963755302348671223140610332983340142155262901133030424292366833170088628163218811448307609874603383720292374823916842142907053385555035574467674261809173065678940962928052794916168399298074182723995541321951574979032776421324129633212620672507299139768884000682352457215744456091948957311029214119191741422216051465497116565657077410712387310228774552414207384569042392855430425942964556703366865331888180577371913814449136901607011991622200606414774761869320563016326069085705828192241728658405552672638717275265610756657791239018473378563021959129907632550426261205635443854997290689309230995817540804011295836258106765032360134004269938317921451848017499458164373859315606575520163662429173440702889147124650931721963831296*x^63 - 254702370702416629475527616863377238712031334543637015807390314955442028196144793580417761277571430744316453949001131787828455483060574758563509843614318220936588254285452952496525623538593053911879550047044947932747609605065055059706329492957533584556096742480889481530981927818097851976461059818555470881288478911287136911185248675821528547374730408994811724192445848665248669086101651352726833641162146171946950815913829730834728817122679947476470269407007172077320835815140491108201938040050909207541109285733308160862233324941570941857657176108006678949932784505383922034735290448343485450096048915733288147350301208711378076413619171424262549624228050707413729015073042236634384483419846492250534583944929511477371093057651012540506654636247207053276297673310208*x^61 - 733063391206169307856777940584012932018072485445288541813462440791057969312182555166481386822284700562942152383070802548474516315510197887463583606253918284155871554673726350316256296615575544521621012778255783662442039190775462562822778175356936190765910160907285847693394824829377518407726111040558977808092653180873279001375882226909650655486644472634164719841099335044790278530155435454500216537497934902546770678877624857608886409332597613276296312110777109186816950638733706586544550486271478095039357165982131877967957391016947729026810460584392933808706339084548837041308791550725330405856576004946479477310487975852155131092763480743116476135629127806318751683619209251904619362904547059926934292569106043787635342211646790552904854825931235311274357161984*x^59 + 4890315530662093868083127686367993245256346340598070811017732938623512896168643359580387644839913797361247199872276868651888238429939863438003477707910006550429860644974557583664922330013860881857280496676409811989915711059801337965118275627487113302845208865007864230924736349643888264729605679970236322295643092726968684075934544006404978172436310550163255233117846621644686611984317320362121837798354934028092884728845285913780681171715468027085386920316757819426358901320803656353697067833045585968787221295729292315048148422894216790877991487631529633972252847551676233168803369928779200528416580150458058970488278344628887188068815073813445068264655815244743779480222564394204242637230160686387639829376540273554785841086167341024892551443430505098525016064*x^57 - 4191312565738717262749215665903101381309420588394457750677582107011693518076501184399079086953085744381219272993563442730453263604863854399324107772919158974884940945956806297166832288765819755182352456291976904428553132220983485563587392440659721706978267215304215571364616669275029487337822655708590466984834259793602294356336222193698409745348171968621871567171686872884644459713072647905592315445858195697440158141024580178426379969465980757175249686721700645231295242532453367079104576874009384911652845351520447060967447365830403175462181522261706085387371959798366271412137222489711384744888768040339994053658356442506901502814627186017570254042726723828792174316502565460596869141766471354054433855309715765785120705742507742649973595424116219846852608*x^55 - 33917209576118815665985503786842539037435302425304928743487490379022920015430946901764816586067401695043283934979315287867388770478737106200704338666761517070345887151475794170228433200274611443036264286858566166502474329331290523077804096041972179939823124587743134645332763736211005431611687840829720569889922815963675781944156659518888621912724044882732839994526348202512068702431843473826032701950509786823326076726853413733838993883161825431499500510762509673319998365168941315488039158087858320064179347423875219032284537472394301267288097628546856445732156308057097093563843668478094299419565709688145791106721401450682452693942448872763417059021120445260216790344239231230504056779173783950552251579723475367595208107710328229498321650583067099660288*x^53 + 125246948824586453107389687453857657097707988074887164217177926744413716395153857641781466203244660648525915547530352763124072509448966730555454623629790621352780570122160926001914525345248427721907685751003030587733828540527737750089417354842846773503017618534734942104453406677657340665392348634981991536118471326944281533637411587779857714350845214363478462624232450952142557205327595014225334115663161575721433627427225114307182820258484109304489629096447277409646786898682889773048825715702764556445080854390302424901709559674429648677019498023473426528275115503067844433261398079215364473967051985894432039930039934929518972372383811568566433566505160403764771326008060564136823284995950687786437979884026167704621263478856745549938177404807248084992*x^51 - 163807799710001331753961935531468989009182717273529674163308459206984705924414405130977992904781613181040574704275327014866271149887420322340837824090884967871360899521152510662639534587741703870635404878093476303702894962584628589053765585609197578597899614856621370629582672512091671753397876544931057204884764395414798668873317998062436433403846145811626279707588725213801300752084663898831419395779703251592106147348961917902908141284089662484623080299029192859040513264170920893468144781987663893224732669951199981198703952998713581024891582498414706663254095493662806937953056070933215126352854901326718080378229066196050666888704178622487150155020240387843304247046643210482733730270112247472768159436722704673063752740442296856379374969246711808*x^49 - 27508370668228403691356619146402835354148198441811309230144398495629926708818813104332050959826748567624383362119456913155213162263548373878249303820514095855277012927443338522504744036699039522922223081448934277610143318595791496231978012811759406211910408206025121939945437268049063958632420838854329002688935699063553943088231853130846293794770597764788381169342846728807875174606671553092509738831711097635132533878410031636289185609993910038298055754732633720768425893520838009635760023820236877465648011269666278661585762398430372044498221502327980291017511346481089060126278594271315518239578614478092158754424222002217252826583375878933903536652855953932777591947994338909781004312180724222931895789688595864299929466982582216533901871939584*x^47 + 551271521331577459479711340268614192256783533369263563187565150477052828115982772018321774792403092530106912404714973479533511924880534594682829835043914653118212769870386280174185457175249273467466703095183908855405095757384985788563267807678124017094843692984078941955291161181097394008088968295101595974529868793405100180234479908999230977002764420918818562484542881171300273727466679027986743271323532084369926000209706885267674370112763638059496823978204252094076324562174989133900417878595311060903119466774221263543791001983804358349424098939085024704104323760568751764758237599176432888581874936071087358486028180407764601239866038380985105325853357366412759141824208261347913812823510949308340731255824968290515714090257752807704692260864*x^45 - 2194216270946462185065997956063274551912556461482244369043750931362050829685224299959869557595716691184012186201992935860502691916674455409364458714628580262097177738824818264249825215385851720789167612556654958450690302157512561324573743675373131085222299904123807534093683942961639838679410736562374211762983603518712397416001371017255076646115862435413284026995601449277898109857813535609247037455145026537768247652198105853350800902883777990577638176016277114850570603601011444078328103831329992770850542018858326490367309619694651712314440243022452092202780641702092810839145955908644909213719231931029277631481102847161985714113550511475206339007033375851736482055957737694376989387353098905344092076722993192056775595174944546118130728960*x^43 + 7617368092719772343348730471115197802853880760425792475157599817651638341910167697204327272212374367261958680919912275024017448310439738767707098583057767081850882343050228681905299625660264325564667543643103338338802540967029617352038222041732750844457470275308748295519254846402409475645529827331080516303649846260874471522353117748959907612958104476645805775158169275371560641417768189541907629661023069192570975506975561324940081032787443502484591182221905998414858629557790474047369851351500136515099633685841129648290228293788189320172253484415333117376410049309508798077181500232897390980238255651700692029614020641785840845121843005561790234292396069623799740025841513295597437941270245359445627513415552789650037600196251163354464256*x^41 - 18676392876498041819326345762094106647924969705628487296523329135607689163809344404474685369079854721158740838144109901052994445105560883207149085570632740529491201882119285525162516783297472878597882196114370576498047368229430199231976520646705634884334380963860509068808032661140770707629842742798561502834472935238289859941655237680119769701542436327753626183879762096222862054701693288407366552524187718433308886222873585802003406296068885859287791940910802170172883625933611233160924735436259361286178412084905453545635774327619781969560846152812928341967419723317367778214620417798656056558108068154136551095717694656430853611865641494497473917486567349010459370983790033705506228478426318739365061698178652245767630248601836473810944*x^39 + 30185130275170612466674403537581336050995341688915767696823762839434343364573983479183355217335369161493126310010110595636594742502318167315267750753527906081093887291828165662749594382566171591243280457286156718186736530340969114979728278232056803170057337611740749888349038670735875623871699981179245015404106511521042837991595048240166412048188755069380213846090668823060929136896360591530953294999362542914697700289650559199533638954878352209795018341217152662983487253281095635374891491417352207934506582441703411633275142977722852596130622438776723481261754288402080737664041104606199663397071553975433999369257009895016031135858951247650563194384369579625329761941577063925739074181887457471089502350266449112401789110722605613056*x^37 - 31726133781499745610953921076005678019912131877846769440232083313473188422476479749270007105939379231363864713548924264696497631335395688350037222810711267764815744387613120461414756903651019255379040492363701442798135254171937251917903051332948851300483909299144089370427142905502609379637511455812694868916828036280689469767550702441198155456311021414465007753748006693166154382020000436763223243678822050685773111874678628660717314697255824469549636297509522121530190085092081532890440258377684767494099468862366178944138335873190348422295892099203422426179836603909517152232597459832815785921512294428645353202793233725438856540376489079426251444975672906424732110209961806594121940871612651322216289808794349892366839411925581824*x^35 + 20366659302291602780149596818637044260207760915744990203352099433416616307258318687884250977881196631988614203589958313164044881469237191492919231657776361399408358573119954367435191771851804627478086890215336785409882717259151170949452882515971162674609206653780345959423558522311991211836271399414095276191715013825091042949975529671669507946731465310743019578348436598142930327496383226178262076258578757500215530166049283678972575394899027985553340796606510729338433727502545953585911657298962972573224390163630695227353276666525864921988023121936872186648046105441260086458168938478420132392664813597497373488223321732684743148031183006322060828717336611638461985371496295969699506051683654996019340926037999089980979466469376*x^33 - 5519334834316373357147219710130941809962689244882701286766033727741028153577638504167525355255562889011476656945083200594885943417049113889927393838719326142861640179056656615428182051115271992708826999020443703322613797069464829443048148187966035338972352752170474704834680137760791381980713971377569517822576694647787661447313025754459370257593679559324240060040017665552232670028998718040449998734189682872062230258593570938736550374573527161926559851550683778983224117816917978333054853947191001954188175342642459846796394144203842474969593681643283341002074539327090401904413250586411027357937999408118010039217767772517332398979418531593778780076837425825278365186289514965486373133557399492966226246552487835470376468480*x^31 - 2739563747567654321392801680284439987016083622789572856303330458352357135956190606556880130962165970153295117994184271422149748993042284734214090807763753926576424448044232461056560797815884354046976579586757188065616305459804304931079297736406828092913631108006263191992178299884273592410149689569430593323510960587141699004454324656671768219510397701174570489198360003045095320143385932867572605412097997155781575846097532373652983895358994806425285224079877744332465611506819616130879776620908539271633234306673408386316225979477085460047381585672402280750838328466590544300964713990025961732759286322867480777976186718031828070170026262873436316509226160083034622182742146887703232804887627248449983776773407722656759808*x^29 + 3603082456975717991454888910435302188702367216357240341197599914899481842005464697489709938604921318262584818457320778601130434234363814178020000601752977529980093144560721060697078386070913143380803254685038305394332952385929086258569659656601438412241772395828602719170397370879560308166839604805824833036366364473262160577681784277033617213327516269586097412816760253555252354447429067231996309262125866725378125635085509444618423943327071580838682287618312532055487308394637770547109039481573572987585988737013651140384902486366409242178122087401424753283914306301116147971185975034805727096210432225859714872344005790156974079963145156787954273079248048754960343652003620102831768323397881018519875779507674341703680*x^27 - 1805490584006994047972792634159343336567444630083447364897204300559048587277934995050074122981040335677066805227782768831294483677823286369718140064303341790585892568833918882697887404148104737931217691163863257604843031548830592572431978397060970943260172509929671616117598441468843808027709525442504247191085194599002245959011671865370068253477233209814738256593812849217191911990494945052600212420550370901769016906852332455320912990931973879346566748480783213266474411868406047726528072785671387951931255548049156708042340977294090761920449455662321649845967384606802952337443212613690515683444033951723094550620960174325893869439095557140445323471885564709568512651734439602291759785039207656504901383700625752064*x^25 + 514737769176085585790544860043910235152974093491230804813001884327975161713777154897324026802224572620548575731118282292055933041899367388324815662311128542511945039503853737602076525777338733739049760633716618617404149085328792506342269633603847986294527999029767520553744674797653099282373752207507013959988054248415762145720004022855081464658907702572787518157541988266847387670995284671710884801662392034039878839126706985411195102668632027337505763379906154743502837177734122626830449738456973065193971866665262676922666083750458448605406412363332341594625702713701840668103963899271539858279710595201497813062799576747370931865052345387482156587525930552465506370723329347796713027390692911231862458919419904*x^23 - 82784487157148769335818339657901978086104288338366021257456218811033709210160140867784010687764555603933652823250808715304683589901303425348408732051380042055669562488834216021224810742056176413592133556411015934311922014814895230186634147063287401055968706452257693395699586373187273192321044400414667304668954079535520363162585497019608748695066923622672951967777028428359584002861911128276544610934347792129205447891532731685034614104301948712121412564976217663950775775243856235835984540916629555179749253601249458732089811819499511615143073238718795544344263333392774172764636979641011360856930370634354966773920434706687641244390678071100896092738136047099894591072166334943279269499773477317195453169664*x^21 + 5750744141629020129751879040621654672840567209086403140962059372686132344042443306474750231561569698230060631461299695683226511089240150965367579778914446753303959420208492763544453760906494407651152148832106537103582533251185064383604088207957994533222447029706603330506164902403882385211345347994564508263169028299647030768016013100592570358384940042028782562011902308082523656400300392829099879923656281875454332736732940602165727568087084486138502502675335744946319324357848689478567763798996721796412272274039389580723687778667503758443615873212586861931041272113587501992945664622511360707885679621238613160986284951911229090375889477277839120124973502164349612851730199396605647916332138820211310592*x^19 + 120668316206450028065811804996248679626886712340546887088394214626503392517875305182677260994684349447241216892214411963815457191670156149938118670897010714116647879093494819228199697652876972050338767061431414870711674232591364811487193189256526382577369184911091976444784177334405538637507785486036574209105444926484136431409181700363289814180875449814648835864553189315706323817379364486148264292941780875859667936365152312952139034200619434229782131126423274679390908449231601310211387338646677256050034807082022049119588339044039895156075994997923597263994725827614080627635177186259893346917771452024482280520005590809692674501783101241859999848851400293482446562049330167375034997227468317786112*x^17 - 18100127464426770010678755397639257669443839334417954804161089905773240529256097892047553360432933818719982115128265592783698727768877059952808032627921659207512157040352056867473015739026590383006136807711680745412071014111209306771049945388501591146115814158232366070896023225773458983495741814353471442975400067781456625691440018769684513009660592331791643198160488956751552072168039382151301903331030666469503399549168854546487751502378149430228112383267770805501907913242179165673891549853185300686588758525473247125996182858941855487658749601768016747723848535472286624440529456934868456264119469699685867584802737493027036079394033494488793016151100821930809246137913733312013588961733640192*x^15 - 1702820755049894003504395119469980551789773613134844514532831770895101782203311363219191175802574056341222846625007589379380294363005806533924995712493145006818197679585876200903742425887491882711511430826261061722347871483342909087617258208708793644207244585680764520569296242727466828179307834063758957566717724219136290584113277612007378822339016631524004217964900205845389035204561853967112219183756078964243800523408597598900721112374328106318079459484695429545773471074453557862241246061054631176482810299828232994595497757088587175964107622835103567389193800882430697694470158357906656128222077581814515454700302452201454495749279654936203225646124752589084882754535583815075387228028928*x^13 - 36969417868876903693152336425244608214697498348530841073673844229711073301198446030432891656282218857385836099859011209011791731412296961418746607209398447503774492379727397701465150709210679580217245463653696888393992209798900633666615422541612541818192789263292227778760065469369872873994741239736163312627568676599338790565341628226931837825461059841503760058108318212741674442902599544557005309741123788452258103069402961211505698247746334124739084276592252924097221853892804226600818050109389752246475623684352707666452932447328920094385409034503345186046661000307281163402630147180545227705417482681308726831427230877856701386304842114696052291309711165459261108778149116321036500992*x^11 - 369606664437377015059446889991516264172195354791399496866374007343680486455339143783842541859053977504234921141885734877437120829588155455539607745853468834722757512174145691842876547073787176377425803338340894618853092804149648940610191782849238594238207838527389778944572572813635873835111666506769268993962455418368120066121775087153197898699007123595684011431372351808129565339804796019433711916006880604202438237817513631784982159200471328104142376260551999693049719033445899455640191395610599038455550308827693169940397066740711593608469227917264777079251256214270510816727920662591075900204479028536221897144025908924913852177034129886217181121598997857761450769139796879081472*x^9 - 1196888837091593486307161798900225007196202502386770337828906780892113848055176982668948634436185814709140117205856683040970944173235689185319032155162788788903681174857187410691492934659178211991317984451821737930928329652593884201209293069349019369335762060702336794286615991550766190226554890999527479867129367420441560934115845791841985170964629349630681530927253021934902938699084933957757290622643481428786347378279395815962873455940913446073735985265523623374125582788748009413710761437105704525193721344022934655159281386810719997455086264223643686180427313707382764643245092054133592968004301689324265783264996428233528073925611860557214397487378594663699199701765062656*x^7 + 495179099054521727351677934311649649864054639890731570456933582802981511119182158186391881584205537860003745667382436531715162217715345377625498563837380247868907502008084067772982188861043492169357692489947527153168805889905340329908170836501669509009348439954734800567468915586307327407321945703319951848824746172052695741714750385361205278907006785773787817725560124400172908008108605893692657307276015106757865189507813632751317590344876018673399475229314326375324036028461404249067589852488107757575417294129874762151206992904121733257801377658846969422165012823391351998489559573591935286472767182773693583116213762737542338939544628273066572495456834994309689245696*x^5 - 4380072305405811578474232905855047062842035667371024774940443379770304927234780911773879689032032669004174825306407121471533923907728285327671865809678719010865042774825581163593495204224365112237495296021105151380802181051473471292037607997034587625811807536661030893817538777236090483182933861642592041671978029404942950421194826791987695063955401297977869067989952474974754479733448743493706475520957895906975399324963397739384326775098229042819933091670468058160387862450300957592444408159931456103592064614912250536523921935338139350744117647016125153319254905032687171263454500276317278364355923938603663118942810686327978548725433218312751902912359656587264*x^3 + 11333327745666646965977471496221539400191106727123341444717710793660877435302609863398164936126801269742240595499603018904196338179409338763229734443690686975030656440724811316059750054427514782391321353414520636052122566431576026177962158522540919168209142775643386138274784990616734066192006260680972809763333184082728218969109291128929309820643783078573025875199652935400951175576125240571491420549354327140847265223428279716982984564074707883024571673367817153761359490972702166771925448566580550376434237560665486750112910853503781533275188834596284704920878355601033334177765852307682645006702951463682585354803296360590672008974599394299785206824960*x, 26712540491471473435475889155168302779591461781695119133580085856003550402938735324247351392128153946340290060536705501438347893009091829714657197369769302463639027893891664295298535627713646681542992036278312154406792622563293668902339303853513472687667817770507894475140107342695269096390388938817342295970686278617403662591441219459373048278662309226737398432405782151249236492165204771223200352801455292581251412617322209932520567852588446912504275251129336354549768568451672342461302819578894527514460035869536678858815266932434409042707259268305735427800227408062858003971854602594075764522640010307716612580852824265076969638352441114642408068704028356565057410104785476880297437431517096174359731040921227292108534253605561721543632299315077554463205118377422214443788696898681447398876631741985148730910148933909964175830285309029088544436518912000*x^210 - 368574534654969076062874939287690432843387446434917401597438878487511033091380789982293308581676343285989039550681951047547158539562914721887189361913249708121769476706236773633405015868601164731121824062225979689600713859590102105833259535022092982154557102512815464520131038639441551277522608323256619601078614073713504996445887308920757997452405679206485324886515725363520529842117430658999573484547659255273524100379527592608460197216314566000451824135523382881208829555449617296659795265052094112237788551694034195693299354044193754015641060103574739240699629865909234274709797836903803991623513289937652821469590748731907442962835718837953704091223658797910837837598149532535819527524205268112881680257914480413955237844185394545889033706106322604406787333471119154163699797849590904113884557376056538969129789284858555069459927142209059551145938124800*x^208 + 2399446749061276474156371934244276118853767288995152891419401901926977424984572651191188109515926235865487288472651336119400687028078052596758202529179216014726456535461767257611917935171793645476384991016107057832816742809529156661646607999259529589858626373417291342140155556300025125581217622977496399008705769292256808324790408595934260352738425892819156884069253164946014259941013353694899298155873981492642963959978003149361617134033468485359797536970036145030684287036516687046343530407811074920977966303532517725639926165113428488416320172517763791956935250315591324549677441660715107605325029502223433270035868460664432616704027648261914187978616588143797083205845457121259749214751154577322279082602653818808908689301060417632250949572096215902029426954198009759298323167043961817662138462547537872607526210837410725702345491118758063188056221941760*x^206 - 9782259970430959435701129173627402941790580589199913168193483379076940697080404904046097039093125353264154230643527400283087501913345909765765055710702141520033369674096376717194114307680991203139904050087643479268939982869222869308331697990428012305932884722526248699627027280514696597503106311785361009100778686948075543144812543292264915262159720640479533499764314613777578804277252603135292578239463931275868478373273403174744742084582462789477530799274294638248368879233883140480149398525378984809581681930118161707129256621704147618474311473288975854276851351340104414420172771042789034698312948576358227881016722564528874696060103180076099158385890500028851114007001301719155303719666566540202179874364377307355065314966534759628317066214056857932342407336322686024728110802923367035365025810004905473304076988413809309482720689418546658058491620491264*x^204 + 27935539757550201616645005545527648673129824361325596689525924786257749800289206405539987355224367608283443208408968199722517764999629149038794217604606468267626725971160688282029863540457507280034681758679265407978019395644549447281950494299587476730366252259873144603484417734297330049449127073796822143352383427665849232266195764398991475860237015147742731256760256443099574352159536768474294798169718159143619715586652555542004737929278238511290320853824086014520163783564218218296218587098106222999654159911724132862797092912541074458515136124886630581407165976402546045348635158534889288648275794697768711908497132189462956723409043895212543937007319761320592359071556127386402164493129792061578654665728693033794253858380011469242007554173182683469373001479609930873327628395352105419035512320804420857142096866896073306528151140659132329845210698743808*x^202 - 59153812908224344873319566223872504150305873408307090672459930352963687852561175322074734873317571064805414928978367594790136461474976392339562665625608796520392939665341759710633745891733142033672553130055888277041518128461212911595893057649089891025870521307959361703097047635532456179898652698774550968432121039879974282787434945617344714328697517354705800611738318478207245369284049163994271086621869199251845127971998086044966889301977122888495024404345505908305036620390843967098874014529865100504748906930030362302530172355637492595354377057249446637119382848002691505397076854158365530718356395891864415675792225206648874933171009527197508473428425498615141266124291363884202513279604612769369808645985031823513941594899872128213514905521655443551614328800699317567652836732334422578318914097822281338960178137647019411105858599848515654740677138317312*x^200 + 95726513378533678994492573808148269833740546975304803329264420057797876830380558340686481343321227845679236494498820386121161538520114148599022950323719020568067603611884554203292087562775839108184287158664179780932645679465076670363886795159173642229028523910177078396345931955580889602264293746870834389579800388482789570314239182668514556613303114304295674341057677653506176237393523821200314298335994865456838647078148641968308127986704964836088843033836052983156562202062670704869328742011643486235134748721200565568869247592737193220823458016939731196507146764660812192231306109218745485213483499398979998549112396391335190426687876339021431362393479127558416452842570270529894489311182811825238881097459602777857416609639808064445037842932218561402320791725114897696644010520438561827058527916686163249782927636099403532852030794985883736032610743222272*x^198 - 119846739724645397034281345624135763880222039440963971078088129626498995642134932631357806574167283529118199535211377630216730745754049298153841979454268851108105661189589759313732013602063174471329593104826407817560295923373328278412786825564792809365245430411883889086256991300458500362490379695103599663174850583951405528702017241010350385540903003111852667359296055364499231923280744397484463861936863083074147266535991661807457094831999652513857299241097879160333099696603181190749334012218645754842497646631140751722046471794466204069149730885691457186763178805369634380352708628113995822275353570140177913284650364164299549476078342302090813975461819995897082782849238313961246718005592005750948055487943247304120255607639585612871587514058380950175749623073500567587143209434246723816682890082696931858514121388557220113356056802376600344352888033640448*x^196 + 115396292829385795315907972788859025745949111135867452745777426952169403884356370100514432062972000197444752017431115877793974090754868685525566277751083719856150105890948072250056199245716142401471857629982700869258655228971733865435844322109906326390669705002276423119211311075709954181767533830033101016712020163977722857727780414681090450339618657436459344804415518824705464028650040811210948045809856984979196366231408329121970915936539024751794604194214635803814052568950039476807239973576293092272234344487863798031296740143946650412810889395754137359503963192972249084991364821210148725184336397224520736840146525891916405514316920274762091839777537342928993208018348442463128474171514581314147232856057863432916906966197310489163005518407688120680447908294725686207448972880355787467498689448593115184657923254998882690128583604915529468135733676998656*x^194 - 82377112588858672819195492866416382434310516397267806547130650286513969223232951456901967752408890048789943678994599055065032207194574252541440488920421375359296662610329775116888902711350900050773344367348365449282986042838666533145046578427452668605886439048169964017282429281501681397807934425693376747573948737367163332850428527208135421195061764087259834627596214130864951502504524489708686832148703955867991669722674274262898007565292393625980878520462201273639357499329589873591047090623729531397047720452144507042094865976428562613996152662363158026589090545641308019618859887549105902671866226779770802088141966763266170030903297464560583244259115927812465675637966678249888031139824937578561434666814500294011862548218038294773364998385490359892839335770133125411087465358493186166753481726837928794952847854216289895619496088964608540078017901232128*x^192 + 38309139046509956106726382553111790821951556792743701011520891458570738204875258290050787581754463720257394213677353194534906466871176199086650399378351938314478607319025177489944528511748735997159653574994918875841190718251851479118700038883307201534361833712823333992312525003033618556471913994249825501065684926395025438128816733407774665456351279534623945704816750644510541866926989763167218129245771715631262008022776028839843823197838071487559082428916950384935818759036768567141619037368358995160877230720126695995336986838260363495812847158026397876360607201889897922456143269193090485619748951841962089614659894586339215242093803403250351533151162927811150032883942385873534266458957814763868252757256713251174698096155096650587114690656053875914506491043625233113239638729594845108279727678239961504147878464218751610002620800402354977402243399024640*x^190 - 4156230432833441821183582817900992285247003665529467308875613381692160175750247421242136441890043603259618825941330741836240489230982012864208935613170537375993508447617212970878196066745812280827696993064539786768837424741080769861710848019064676742995604252707077854686119061126184318813533119925006162977620808272909287628094864147679717731482643884299839903578879396203350195912679431643352232798733779337621634075682908058078223090301298187460158208667219373463773620063799576726654797760105097003638429823903293726571039454907804956385594629575915442201896336200548581605100452103502573042687450216402364709752279319235909632717091379101541587416226397274813567192750574545054162814134623150824179715386686415936742413357759952486712961568943313373885757240772427228481206576653440200743956221989668555691036483923339942543131929929746269621775811739648*x^188 - 10650764130754046875123842100312944793998288519908290687134773901537451038692614061891541363188204434341395795326444020052003152389030301539205192672583094918303611095622062655714011399085635510227196484626920866431673124182311393478387776145410071142453479369814832600234757496717698416902801851315721963288387057249287348410941366792325043369696264618101685365997448878594595271659425289914324635213928420033670659699983824527023480848601378288905692104159237499886307085684726232344308346229345163212129503231483345770715376330000862818763785412472700624719276904142639952818553849667295806796692419133721959638792883892727958812500734980444887365070709924710053352574796190393497288162543421050827043442479324084365555920825647656297969788311753205586788474705896231496108387299990375162665225955884887183232273851854951532292963527651852454927564344918016*x^186 + 10514940749235247717077901698833925928420084571692929296902681207302128765611777659549561683519811363078613313232086291551528476567138487397212799593956209411882653283481368799026783016296942712338254413078126826970171195920570815385054765593167471932507939973731195191272615772801006368906520402368850233693605325123449335251798745004776758915950763287074217336397098566352376886401860209859655430274722910602584575610185271669828810641495718997733701822804090625013311981386222055920827495792290176785249739365942099486957551163606882282384665684514170415305775487289217751672015430371324759268344426369955568159199363615244422131435736687161250511388738689093974225915125241538490819600251949489896190552632983698965737890614882415709003162768957766523777231671562884262466845914760010600880057771219514432690230542076059418642143456699291934799000521146368*x^184 - 5104023443828823815490063697876522033197376826195028193329555981383126260221233962276569826807370214404730009670477769138367758479797924365564826277035562413902641513658958610757981276935575374266754649865063136061541656323424129389906310641135853415879234310663726668841928862594724907084799058237864599148382997458783758640698390369078703961647457409711482840325514048671512858716676133565615533833424258380514681889085724647314591862436514397540743545673908527586636296355018395667629697041538315684825008920323478868567584257430179483349259054840473886530521073247416249893065715604783993682017631614078498419297017334868291744515589252358870906719781362006107383812566181038676964175765360145716810613817788254787288461027873428627542407302385727770325996600747862990733548601386266992853594173777312168340696447505687438578505091559746514197997416349696*x^182 + 932466130842855754605872444099963981213629180964011658158089321381044604396809459675131229897461045269700718604555026821878619548517328267303428809513230535067256373098794172833102431555386954937814566156144668422414875169543228720703320008929501614970953790872223849173015174827906929156891793332191697646299167347767006855171042641251185381733360095852313610107975229151923289437371340754805771491957428127396339238910687195947781714263801259601812114971136031627781286582081084823569237614210940855530896625099284900979724195429744349614161331884762148615025070759396627507235527741900332983752278464643261986208380024775233500461764935014803057739299935067053430541777502119274056490312597737428524417201934869021113391197264821900957325550702446646797379849087806662294608251554676093532534343254079453792466173704002224469966082262536271654548699873280*x^180 + 571319806929444560519416043292928498841036751951030291344390350940464416443077020486942899438327050286182784219286870662206109004551712442739035023904066725058010271760042159372819997753360109593421457767267947300410981562168373105574711458800744617769192182840465270912000902939779143555393680746946547246542420871920376691462766072066052897302237224079603652455829514595276734772697542228553220771057651342602004643231897969458385975816456088561091189340768456540702856643447444017250005683219784947176867158958891644522508020875520080387916833810241382328275362586561861171780860366585391218264546361876319237705795016783438242162834476503397059100295079354157383596419604303160860518936934185095750361451641692599587770155461175319308296722206798338331402232941893168028799699765690024660626338676957481409831595130560035734656827382632039480702825136128*x^178 - 557708952190612005696804690930936186179957566947062523558036353026503432180860217967919835719354627656456007673139198379365799946687265788389748457726166355137130022261630812914558142529706036846257884374106065653279502626243611391025272964866776474979437126895152326629269672467192555584461039232130419690605978781864646860362599794907311219217311975033984725912528741519911929759270233902437579140164596830756106346353569653131401760614333928864917756585095030720095268874610186532623103454559495638379347142208928648810018862793808556329544456841438901341063110133893256000018453310306949784166451919027781732132692757511518603784599114839928402558486120911079603224034573212512471687073035915727818852434713374561013529233240013873145590694680205399776749940617125426104864185992652985131432128344211161824640084987694514508715882455215079116270022426624*x^176 + 225092504220207626429808237543412307196914538905262615440427193302313404346874331885111053593220723617933487233324712247172680927340300875968105958775038923174969925103730338475282503445933386129326806627307713118918849864946263989126383359344748742817751135059653517116820621933695143617575978476312251198607406491599365645960232393591212296884770512456324186961532276048062458792461213122064947165483541875399261925330654643543615247932329592542618280566411408464645032223304987626626228992614082051518432224081410970507396425476244257520519763754515112490718154245589560533953444774374369391767604468198722671707227243592862279884652269997885561268495461721513202164342549660180509763035080648552227791945241661495333869354773024564806240282976317833771447918158402576920982186741008069003121142396081620701002671398309401739462099813513015652204538757120*x^174 - 33588153427154157635195938262294474041542306051473022119628014190109413387619055535682366550102795027184228660477629034275557882280499475263801956983265663316160038183550968214666575747761696517760580240100042593282521314995922551818689991149041191982972277495018391290456969499422998546363871947466663879008533604383770906588678714250035209467914957988476913975165476505442172775805331264854176943524693624734351073746311945031077281398516610344716448871276903097799270270466207804837386616081226921225995215627595437125519367543794990010430678119100175537317528507626303769848146229790365196044580973756573690728085183260398428205090882140182404782871312344872006210957140149281125841155284521566820886615099418568757373469080827418034273652191587414339350974081542690085418786686561854035148052207336500004485577498396310540263825164558187421984689750016*x^172 - 15398412519970619346963795231241423918388574031106607417997308135597092386131648433251271391622340447501377371753440853240454470171713840551365356489323515035937822090530288090886998823038800154515574452548031680750209472745597217506400373701301793063607887013997016438743005955831261937379298305687448389037036580970379027721947287650030454387018297045764123542988551056773474142644804903838481997920825810882520599900304848978232850456296545688314641433606287746345133871972517584585494789428118764112957261634630487093376243748729645508792058028307266446073453273016159992372214191745988686366018953481313426053526144343152115305840966663915253601870473094627766834736702639503241295032060722081353139327638748154676117108230988493246946458058049099856003075522776513365463087134538794072037783108879885664348764536454269337159341533016143600828054241280*x^170 + 12155200538472287586934021766710373076334885974638260518494384645302877430288264525475640991252533457023584651099906589331141978394176937568433261307663731239403598251400542525835124382348856267649138687951230104409538141695895388981732854325972067689550615335705321959804579466653143590434231474630983115041451863135579453445680277244382914816393164601864563105432426623268335328326092247066717231902742537239702008874212422556650785491197405103009707889475698135339285705317156145713652267351821941619432118259015232691971166506305909204358583839954023021874377268079933484103994344351629080049070338179117272615535340581791207975521093865143506779349618897564647072046246972441692974440362056316216007494358844313010321391325343345804711510405093752810641030548072690813574740907697762262398460743814138814757573517038279542522967136342349691265352728576*x^168 - 4049243161201360669576345339216633645980600435235198516562797105500955203773578130734280069409691707897816321304763361779427701770766068694744462174315737518680282885050266701963146269617190175561223969416467674434868854880154556591923510112440173840298375023701337703535975777220736210786162105905460295960591261665861351545379532449190862531991453870485648944100427787708186684821740108762478912984050296482722352306162710074578734137699562772159543025048721168705712298063758643281006866340741697381761240204282262033160070263470652736510228455407816679249225783696483513496184926925327093870049923271052219577793674228132006413431019376338784711466234501316527646047843548771106794943611273455013531847462473196911802081635340398554207270308610128385752973076864723783680807098027939077434397052655915301140455941982455777705365901895057015542867034112*x^166 + 612798031001801027934250494227420307272270200402194445778202436008080514689553761902110523733919767096325755866816607365865840393691796550661424919166454581694875309967366503549128939470460895272846293701998585777750671081460451758380020214626139659830073290779525495152515066282093159698249356674647757251883404578661358329210489239734252044887974657216289807346882625016016867039844317543577739047069632877136784674926160412870162288203689388993192589912422211560774172394702374379928224996345231368545410932111400153557221770277798175686721121179991250974637631683726492834733175731219046858911926499825995877489738989973162782396378137720667585818907481344662324166491498659179111147820779889763294686756660267901424072157920443371141303696874155866578163727201871228145308544783516850696167016375892652504160516255033114697228358466176985373471670272*x^164 + 96409425005175698674751542824994589351476199481484554505571556497257418202268340338836955198717298656027055392285294338011490058033235762345202720207347415462622204222458702339155374320142784677909243095212478664185437724229467629688603517033873522575869785389955575811312395313033343577778790303326718303815960794392986232540157192343167387313494481767587345267103800846177501904096013984994220876948523536697938402977322542780768776511554561233022794731498386097632415172494504377455738167667641369650070160256413334104087564054359006809936163162970938591986872591020458786879477800852308967332464503506231229062108444898298739178769768721754581203293754033651388183093122861986736116109528251461821611761936570576895877968138816134501429022983197636211200619251594958177001620781481959308250386667328472931794076118840223776964708311553113536356941824*x^162 - 90205056108645177509985745960428708803914791187338346015685070814365665655517811979129974858840951032940621040142637977792310703048750217536599009845371401480304084461819407071956354078297397310341629624158659999761675020140474200922574216094557508276563855817366284809571169968139318268017799371587160605289459839759598413655964856088618441086586591940706831535979139689788557696729112075120905361792996535332515002520671261954909868104354221657019489946014457464186275873729688006478098695947154254581094725710448451671500046199303332304905200253207441958262897799782368218858264041564981446745900778393982621163251423614957706997690660675671065257388226869460838592828221512387478210509718895199326491544192641973437283911781626416107088279142679213119533781766984461036451972147236820675574068580479224491270903138347333300928888050357281228194840576*x^160 + 30762696866270744744838283351646926788696369378849004264796515419025063096485108332934953298193893445396737188855467420909280065555571377424349025045503001395109299028648475349497880428101804420000964752498771728345884239215599043717065120314818575832945385788137286756139072691923492168999189486207888683442869954327287866709734943356753799146096872763349322458480619461861935376015431502917555830602118804789280795868503713998488591032216415348863840464566294442111468685135571676099430941134361164583572253197328667076706606831700558687030910710476005288763685922351091822272670623242458837255395891728934765446904806230924747453064337479781507190242466612844994243499052339613196532487109398011470800466536723747107714579477495875923433593956138284877367115879744288209412384208242748541205985198907907914030324535132713508608167059444990245131517952*x^158 - 7005161342887676353483578407929437738687565604823482579348192530325437833161974290652182697643313056865580541208236254473197688127034930105083599303172821623869330233729089896967208572320983496999972190752365113565907154919110604968373680617462674981908703531427269102046722266408612029283327900673457503378178578055938255602021473841112349580581868208216006452250100939668304862452395997481570922191619829088228051556708474002991255946629027142899396379937885426616538811086376344430775095651444509068290552512472744601798923837742146426186740978869866337308254622470675325198918296664309855358662585968522248940908628538962805904506278676952180909257891403197020647098057353095911182196741171105589673001400414102237144217122864794583495995180708546203709595724965447294677104170575328903350395482805512074485950058070898358740850558729974882003582976*x^156 + 1179757982974397996994343536802654735136654029120489328097581370862700720346720956591523488100751991120694945829000133648225454633985709281877727167736541137340547511897954914225403216477903348785362660739680230425008587292064061028338350390044013045011404917582919509959568605105326592990287989135624931583960349083761056907641239350381408944214683234924754871715433896231851168651439955998796116787757208098760002334737214773928747638820659756317441909853358278540523782077552169491827091065781437796006484422836443197343036326500531319219202905179381366165532428330904491559334562595797392048929064323285613793456135135451134042647749854960975119918091845276873322042395793303099659781452966372544950911207644122488182831477951730628656394097576411547581349190439880179606375578612374799653272037031515875458609906194526630672683517028587959153065984*x^154 - 151215960080558483925872654668201470413337524136026514775487205477500653565656519217671095802552729578439387208852871231703868669645131404696074550562013472109389826528489354859152285720352419885597901558936722148684354375408402955530483349558446819814760218276274501122583032679308893679452150110087068693338130578155901081410204518486995722435917001436846686780213051339788332700943328633447388959026495779961563531077964486590875709727157008715507834502408362118510875252554736388643132430480684411700327279914335309964992448352702505475636552346880421820476694145633524700495772132267508174510378250592990490702382222563402750959622975657465046945812857967522117975760475718029123742926813934450073557272081384524389473926652567946459335406634138919887095562972865169162520678598737303302619203181369423512291223070053142062073355326206895586279424*x^152 + 14784810226012425687670256248763791865757164394610056008928822056865953768801803904873803172451132068201554386002331262842731452469110497846314398318238392980370950940033477329464943523205988319153454203650374392464761796570519347394642258498640560165218438532923738958326703050094612018510704165042191868950987995703141838533646745953162452170209158201826873950633914483177132003969655882222832745436129845595120358245617862879588179337347027215948915829830373306313331295792787249954901975360116926606268948002703393638427586727742242205075446308893570282636733920731501487607000131341963325680331127161446843667869694791138071793688071063921715074098575716870258484908075965379014915137888386886861200585213038774481989854877116024309719486595076252853781101020853125834266975486221546362477503586580576197079625307928169661404806311494529455226880*x^150 - 1086711929116707875446409901341663666447191810013943343150870793519838650553627740559201891460575008873024336837664619599112129357173385825245857762248786337032765035165075830130072979388889492767078572127769106891840798447968479363318006939244302612681928205508910428557370604784496925748374154412330540128771773572706388998786655769764659627109067692914508575806766320814755418769408513120715291758737416695704149594600811700252304484076447102291750448952970363097603288396916351527330777483433050891510945604049449081287385489732234038759633906944552951984435531928698158519584266499925775012349892176891374527569379531222082438766593501588586450826253184927744465435048262967781242510686732824238257798731143623275620019810770061791877592924278798992072094891707875152321990728778043626964509024646246069157100210122396969832483160449205818884096*x^148 + 57852861104510661560652959003088614471610995146494780679107140938947844769797308668489788548073532048797173930663824484216371608821964350603688551340026495147661436917312048274101360989764681808964723124672011916193819948487801560017423886388928721184859799055428763624374935448415448694952195130184410831867008098652963408346682408026892170713239865940867544722000285919331925017723239248012077098183040973695626466015590872766661168124121882089023397050697263075724313007070574943147744187938350290033014292992124215528427638580432417907153960241367076364855686950754019596616547045751722006008025643719887429147697055549692069592876706417091847031386289338519092839172339052715235243423129165365262436206485732093117980380737304908471900734721894885112546761824291642277261188484091549568646731276456755788173492954441134662341000661613540278272*x^146 - 2005734015880393393832105354651690331994056506545602119875665105588430080235325972041268880842269246692335043145527125405402640817451487782544513276533704155683301496215378388693280322371937111908465845031853597141244396454911481591955425058572726641353008592227647865686791706506785628876272550923955023422516934042074145088887195630728117472677779034823097415897323787847510182416023890533105110407965836728701816980245307565878382542743613047531479329633538773350093440329623242083389898344461028656553318649635274654167712560877887424263638788224181302337995124002105468768469805811153763139615730580023274040298610059640852255626584629884685544808993026048977862686420682554906258339824239874179076672813599015264942002787575472754318075803092549175762279142937885194264385688229856856908909681083834159607473422807060841315590846934648094720*x^144 + 23327880512428266900747361135081587651850876351295066315422494499821507498769485838348864065874625903646581425920625955366172718682929322749776541102020942276533766600367148735899303379037107923290478145172256445412093358900492233195594677026746482431626545717139607536651663715152307013627084781923974555126038105410792552852507495548306030706529663833137979372229450005649964744279560513631457091692576961775807706310579944636073331339234938963358689523846796221524696464450838310622792740307987955475700793974743410009289614434246343193576225679767545051192334505810122342633636393919825124904537883752183085732565298801477125967461684234352608182560805640149708178304624448818940049684724888757936885237424452683918471234477301327678308258558868527042915533897962578774722323553909190199078435132523624707882001736432707802306302012966305792*x^142 + 2059096054909215651983633313587085190945919891193033035763481431525580735434185865451578062985778859868585158287314777237723371294824268165145230199913685627977344629563382667588447630583600593692512368302171569769253650065999659615017131800583126161612663341014128988213156370983779444993785377855578065347981628604877989079440708489639233643985642791596324153111012893314610369784242495369888441036265295121765216105406585531495751628576986238436721309386996139031062662941113147249185942485481853937805026009534844549708277312259292364970602214912353862196429074492071704613809339551019724984373359987492477318617304537763553162564985676255178235323365030251821258571707645776614822318506735598473171236885970506004535081638940098879305001941100844511798114792877525176266528693477012909769561983584213661004605653617060963116284534778232832*x^140 - 146270836934227219130085059664459472518534289073799308024799293143319955131522973100836706804169191879478151841689280671321932449762531459629247543369844925300503537907936993458046807942308867105543193218767666603256426050507270052007826366953889157900150483602322779570110883804817548022828880590946116110362344889657553456645408769154736407641476736774206343139381352393838321897610015671384896066862717951320043806587677434108744559146247918615239938027852561447381225010522505502027238637342759700624063503515778028631285022491919684995416096660353246658208039589405579883296961809476605639640426153037877286167463393121060477472897244791053755740725622239346609737430400652931481914972941282248166465756289443352980660998708598963010078816032488087889010404108732481522709698225918063900802014791588851643983795173090943732197941986721792*x^138 + 3472036592910942334194599616609737132717524438846784157059231337554285931573443175654130655156683184830611553526083921904552857090010622970959855779933802363756836835489449338210178515382937044737987337210512205877890250446980046600841387754182408989963696546703603655986224863103114406472117449244393910599011425533319746496482997037379626208027333292879046440937538392721818066636995679200168034803575608794549927721689272404010722324860473225390094710151894408505458092949616980872897287587436751966501699140617799077915028843497665526856465449588795033703938323274868736668178247299098437935121866999681246748860338427538485027966762388259371929110711157924158367361025413779997936209995216239241695256749415496009528309733019453836049106014114711992375786878078108924291697534648703698195779643699849983350256476524790247733837749551104*x^136 + 91857870974867517604929848970020556987825029537474891069527685465936545894871304594353952640039430992656882164115694928534368693942768421721657235506719689661191146781496186326786174296322282693641895594677976737487833945379016637656557006198382210232347181148085682890192416570803773477553831551325992517254929667004799510083669078598315990698966607520859086534861207155895933014575775770930647737346704505680162886995632571356638643333401272737945632737350916849714014370211383830652828098513856330657268235303246314448128283035455011521115706115301633130736064380320301370536079549975483925155335135617645114405068198862623145970016669878765956697785606359318419692315540325271738601414715776486275815578992123735350797562942951516851674443548846958976077845309474334071129503439166374463834649553334677234602749537906025019075662446592*x^134 - 8639370790269848271672035605211697432776539626363822518199678300767126721846645652761337468650531886933490183933727977562306141938194559584652433785193369932763547758600753908645587660724835641486050536334234048013788391680885706873220036264511155738228892524332373460633010240107768328742605034223366884790207809774584452328244193151569380610663614955825114124353878691410117808593002158416854244594231032278137269527318463290622202408701585090259937835966761167440268556694445703415118952274994246888214835050575887867289266630423360571031605299062509498051418952103495156562463090690777171551501163366918806604889867146698797575897311803105520323700580149476833759404692189990511966076912488226552482911247948856496976703438022358984037627238630944757705001438574599368773147047314704407805184669669577027356658877567431491464437170176*x^132 + 157261030200837019547341480493446786293125905206628537429021751219170316461986319893778764571087479720833770737502609732316319049090520073801070339585471303610629221589080261449885584038423064984885497613798399116400783997211477083323215785081391465643808883420345443278756421388525619755713869419000880994569563216311891872012371155369959692270717705119954635078342403729957639448501911669059542664643007929665572185630200575769363069657148472533772840427848925294336033132369383839299821411855288608430889362426200479144279546582473521267661959054123107789900096103045448130442041657913492936149237978335418018520340923964595090426564622649776121629020738187048094579159336556420790221954244898883154053656818551464928722399298721182392347608936424337900273805780722139026031299686380557782655035840986559446849820816723663748996268032*x^130 + 5235556579438286166546021289972348428726171323603879801559649745898093144495679182644688037616766463896899800286048279184170820689821383564690380304828448099076118808517619441503345604880715710055570794083090925635924952365400256274184826657967265886711074093959194404008197030060272100427765027283551133859266850476470106299514458044422250363057610589621464744152465556374780715110079052633645398145618289856949867901876886580929915436245934285867704264750539948184189667465293355136334334287588542475802072080512088177550528739974252619860691679944844950050607068291463364445400098683891533536411258203197115911424222822025440630524980325887973658289708633812837984349822357637204253268351830454306301999706783930973564457264095562737274699323029537311941077872145916512831528391999682197436543007927743622109699672883735712411680768*x^128 - 260223483643754246681409304240681042938612629410831644461563020734908105369391244223551750950646278617659859675489541772625162131258875057235774957706177194540551895483399116349080141392803299713850278998355121044358887310101841419431571645009075903896092024938875985764287006168682347589766522238585147128360129262207420902195534530598209387179119279511710384434397843072965834347168781116396731709720498176440907940286237455455066456136975599846040623873872819601327715443338158736190577806526288381161610958940465816291116310682555418149438069403496147422714326420977372756100418377435559668611660588096757909596383541106927352226086850691719560080662397526114032970691308978077494244154072368406111385957691147730411337422171777596692989165467396843012202373955167992948696198841369591663535516798225572124845297668369429009793024*x^126 + 634051677415458393028968618255468308274810331648848609935336586436637229572895849208169144342153805198048529089490494104468588593600415767357587109166774650576568251582097588410658623870616130586713631314810886005941627099341413069247240723951065438557586552081182218240401848864441919389491239294604811359494498901786113058754447116465390461356442449162717660840482400524352205467248472589396598726829355171474123641856616189645208454615811837694830746304530364525794696625581625052910705808773864323325210089379369209818607051575671091747083530705468422089358201202059327629025881718049505069115501659084510589323468164775499563622155982202095925320342179790105057084406810698567640127335292076218361105318190823371055986177109118302137084200671127802880263167500370211587023501246800915031607323038599132187678931045331037585408*x^124 + 166629466298070943123032522860762043356132184581469804757082751400767607300249286782638004740785975007012958102104240835449863726572673659361430387360978356813556352199008230879104376893977547763998923458710820603167804690191569165140197655254325325513694073827130102169936119973522320825441097469384023060843982935862606776931534621920629095199516197851725487968767161120255437818646126241233528744611610615423449399007770607017069134406595590696021519539319190203425591314649842605482857906908205241900861981231422239482817236475370401528104845967130367774030507471309931877303496390614608932736366509389680705093464933917766602142098393275165343382671495103537648428475080513675541787400657056858720708450120830254318369791815004517757045792850638153382655198808399751257883735441877873401650903685909182980823939462940548136960*x^122 - 2526643365058483591129050529449655374020225367808006236295860458686898209112414414660185888732065470227195862322943287299382007452602374019020983167026331998949798593330378973851850139908694806908176756720392840580190009470216138023721581925382926637326306797587781002144290882633215700741249162331215589684851927073496980102743424931322961854485343307728196627645504051292651116254563081233805358473583006239106053579937618930387752487610409213667856221739028934937291751163954853663398695036418418498519194213096158713197734314121980074533952450769285449916790254860169475010501879966329247725272092278117563643250863440067002125181811785855652381923965405594001256960102801170688643254197216868211145172671203633904035211740932839955745630032338617588040302207262443913696653818286850724802264144749705160634187161726059806720*x^120 - 57105711780154182724712755528799761802823995037631940001198528876480029716776882423186118899135005492523656010796676565910507245437651190166623268535158418050343393043895322056234777590773729746481731243228340881216457738191817774724768895836555497028463070026903458928271661957073014986103791178456742805800559876129571595342547586634504598773433970595119988656497480921174515108611462796539668472868126693396033479037130211510749401664470847521908781843150120462686930857725972157830772252741118314716034982074738085628567504041041009185132729135237427709186835107549957089668856383416139215198088872255281171419322478166111835333133230983563307161192044118838517692897354434004027350075132173085060951845351497872908963285977368343767694199570318925430543614426383076590258497148875321162630255123933109365963514931021086720*x^118 + 1650191022971424922989969999710335801575017962108301409292262145842305154633970171140173363505094909555719990034599579973257549900908620119741087519676136608996366240476619560930931278271721753887553812539221214378440305837907516511130943063067452874391604447576029984084770699252287812735577684863114906232318585089341265777539479228095738877256552178820255636216662460557735502411813198029848570741603491855669541781679861565371148942131944472479661843808646188218844757738931339875965775438532936621091118533821034596586007563700364652896596480729082426476563433554547742850457399686045524643132170831780798296866905196634267138338658743683334582482191656537359221369535463004464233191466896950670734241829042971287587197323342397131284768099325916337004853359413759036680135284744324218665580940338763254453115665057316864*x^116 + 9212043679937777205353454354328043498470628566590690076424205252637569019352972192245126427806011066066911559356746325292960866819919902479647905961321164118061835197603906938699352800942689087303810929479275707059774798214161473035783253698836489143515965253155550776585421009989564884231762102324832448077767349876862753391991791954837140906843313116728499837640856288846971844390837863307663698458313088418111160978026727449359217647311767939327784198927165792404247952682504343917942517636119695703230384613653041438797713016181785906823191227695685504600296980044843031873642513950551069203420715416946200194100783630258155584403433428384428711332344421816314011497586004395462105608378448001461893689989771216419071572097874761246218473994371331107095378765005385855777695093426225799423888099842387679474116810768384*x^114 - 624850511566110691010259235069638457913788196209821182993532748123122315734674310831266729364948051588262737730771967916807503890406925092552373552230709708554898224868833784221510227681009107744740179546418804901856936794991052518961754955554808235286551199863221424366828371758360513441085467211743713673877460457994103043225769984184393862332519658140170012847238582218190568833541983899356682126664645377831742925991337779917491597828253224760749359824840509948544556862029536481846046380925720023168610776244387633842270528924958910242218487539511014525492670335602387109938321153463485125850598485342846230243261455363167533624467654963891793500432789937580962586182026291513098124822563202576966884246377831658089621826839207641141799473925493422724378297338399095625621258782822389501615537082726382087268533796864*x^112 + 776333580054094921198317978646608986060191292629176527457967710223722001693120679188854185880755469895220170430858564401429532129535331717285031834359579760840200395614285556039226479355966238085818671953684607395608156453825685851248050370527766082315473828797661886978719097984878680132353578076267640164539101641628873612928187734942769791580689832094428088572951829765556803142213307678375634299555110898189619258891923132917499843837090374810670278585588213952969421504208299721994174971420757919533937430402344489199960550266128282540336017654370522812907696516817807136353400123052647908708309851828761036074553476654048173288015965460594052895809764340101748020965165073714668800075011170349915069226211214630119758357300057063438035045674835790591012941941750819988148344004604474800412973904505661219227566080*x^110 + 161863592232433082149148215568969752486562113867542661351543268729631392216305343943762870817267439364547073117303632734160248082156744988440928629674412320908309791044809773641663869626038949466736142982817540114707078682854524048849548081953725787326433961235522464495538966367396240026273752487483649741492959668652854059156750312602371984774942360594017910347457001398628069498386948086592424118089123702913822892135979089583452803335260598207704976055673155262476114557042349551910231749627428214198685004173653869717535398723544630789357144831399221979791547281433443733287723043209758339322826887187570012740550632785279298370192899494566150589244142001137850527902547325020190420254052975985216608854472279752812125148217408799666398394129279748997932150229950187808088055201096588578005214456307176691415908352*x^108 - 843032859653073398092886963296029805596829694361934933971622564665440904485612581335569048493649806468843810479307059781406058481544419177842977677739960113140847883186482108732139965787626678642849344318051385928618365579515432575470615662127526416244953402187671204194463339019694353792161402800191402548200585559085491567101073202791598037216731163439981167355278473980511463769268122997984826320218442215396177480778833578787432586812182000895733029638655337975677985703417257412573231102509100423355164853142956205261981071128288954059378659350626174152790109627684640875796248132775698164863359729260424728649160912537434626434200118547230309503099071717721254152920928143441288714351710572169389179390106171344369720530391317727274774112894765091651232487838254206509652353474739718706640274684582425794707456*x^106 - 30504058278548743352725283606222594947143101461133036193446979152035423707250401790401586386504561972741968899733237723282189440942916456423305667725677928357430503455417309179175954600846027343602872223231659677184962704543827262571009710160253835114392962565962039503541514846524280206922546045754576309203837323129406153487811716024599117756240583465263727247431772171403805610618639905414055279848919489410415077537588761742239626050406330040796112776084989710918088041929124815521373157490757602041087372751451846548889664582300686463088786357348574254384142817187440529500163445260040307698337969336553437749527196620493736262893836186767985847224098686008295894022821086387832962387035825632131562158542435424558612779532011484800041234305112176566593939497706298768058817173005320822594581342888870117638144*x^104 + 243544472735071678876457556552554522894356326998381791053211651478396834634981555236949522601984249626435190342600898457842392356689457507466619349946623332782941468606774052293167334207989998742199150671824093812719862942669434664200360133681530761517278283133386755313755461616826924442332622020778644374063019246179711210084570236309128226274187869852064068855843363999342932144672660051052609234363480599662284356987435374538865847686453674546446306134538066256763306977323432894962089056567851208771816785397767842948163268359619785111525070826765569514752705657365168333724648286293427853272099570745623091039050183827920481054106892986363537016553936552141689308783027592241558754082173505407330711441430841648820833240197572518464549350106904487529314580834942134188960801647993787512790492013606069075968*x^102 + 4291759673642806422738111282617617877738362775583990799399582330391329341486781269067192928789813329106121472669397832628987684997307991817575299024436183555401323016337311392764966699760976699545493740457166960222828904753057432359269287470422132079990215506787478431695733426052282218953165144400125213428317658702268111782995112008762362225780798438138761554505543859283589442054602908613452096439920722305460039125232599705833480057246818380786935591427612830295436703094077025990267502318048154250190757159059286952033738561241290704252115165938196894995168167427171192875853524717636243222388026592755650644838871274916227282526791685469522907209147150090345280885278516980909700841015782777171539681167264398557194127507402673146116742038523480751093012615177502146692445274630575218070955404576908378112*x^100 - 43787987230771901498654672270583875965348573599043782204613600804302648477442596408492377935348147883336933429254884356486890908380793925848052473452931872853817594775670285623817106448781191475767469795211542711758297515270195345273168766229316879695687419418279764674575390566189591659832456255036094318733462138332644210383675237058802046230019835636042576038799281907279670416854056205545833613916593336518324766527809654721708120656069547652040239160492812619427260407438006417542422242949373788564807460869153521297844014458718142397179683301979592655056808706082843916402348858109007302787652031410932361434503628341328360754573860251031317647229505155117280188185236018655023830958269322099449111873714346811210066944296295390860368751356687655506477073345659989296400786416980580707220813882977157120*x^98 - 451987148725845757295010438539849102143542188865170109946211085238204722564298538236199015776476394122157795182330930275432255152529440889415334768796932976419037346488075499373772539705498819384176664380233345038997326003660835708434263224412725697286722369282803834140918464241743228288861069684394170736287226640400943622027151241560639900955435608420160591710386267718433042520410072551294621112182019986132483952083205178701940305428345549025474333852867610190719958724485268036812540769397352129729360676004631711699131733035037475620412715409302279517151929384898525569798688418061023311690826507926996108130055208665245715263394378380811344999392950141550625976695355979135596988911880139825489432044990981513571544998596277652306676044391493336912920744507538964859924966924473504501354094703673344*x^96 + 5562137313691520137138279261672486561423125708276400961243445952130447511465914532213458739991100929464874221882879201386702572169499200419304339383397733685536659918207355105795370568005294696622301249819063532243109294405181496825474635285158308206208537261850073047937440692991078194120074134976912332593242734012633269659252208424434344192492856753151813754803752260176918262521586649999849251121531251243484938983700342213587917490753619429947102371518986523039870801332765369426849154131357002524993000369240989260803819988100648770339394404284199480377127619283497643155813554808851446716649473608670367909014937181313410976018228226104908849663713309755203119794381692646778828507098649730223344572025603912318719393264807174252357228596813854926550173418787364596588731892220995579957433906233344*x^94 + 34735974357194117945113953428419175268859673530443632793675234204527341850760851459232133158521819191072556056276907959613540433051986310093102282888470112771437505152967990911622358320021568635651767895266610109230402073638293847411925618199724541553789209693204834199445219641070470024916809101371261961696913699282988055238779430837902160690475702605856548155095859077148665891163883580233580757921977682947687661070442323915360627856321505810147892375334352673929406871858577104336900468553055722924341934240165942440442151415148744284264279566910292817809904083666431046580569540105690181928851941762861491356212184304199826856874005394811799331195336855742807123296931933203876269832418287399240007108345123008289777790084062813713540285366963373260918380698432238482503385519130584545715508215808*x^92 - 522118159450649305774179890357795358113156330131598051451409581890556493033677675790081325477341050517594791155826733905950434785912777034284191120095860368876102713339080622725418627071182952732262928456804369276223594746984249757924843965011305458989302781457282171367099795818033213167708311661562802857698235592653752211001501425075456963257651316525216627470828420920559068817822252025997728684193822601841384773004456878895417000241855141467256887528236089244674857249922638228642531688933793004119988047001398100159213100156300217206189800386808845531197977829041192785860953925086357263979126059477020624285431164928310692023169425624608027009557513679050581559610931653048607925617722273580119582379924515826943213699121309145823205351209634962478993732615919002175460152011512510962305335296*x^90 - 1793166329411765455674977803709063303649935220078163619294728028689186758969151403352373673059146634061630155837153344964476993186672271781428345445243298992629724831240955184767202524807262480957194186142938885472291860247569318686834112359792849391576534437140458322140972277721502558376849377632455697461746470992187227722124098328851789019428954093950687620873087089503859277043514789257512925893753412758297900455004075473785402458178247127422705329898854344238305700729280962976767017643619788590707119434858968097815532118998615967822101251367515592553272017776554116270055337627991393210074405496523709541687039352161537307221853511065594528239090436660893232869406849134431897033266395574153427513857441785732862968891935746064119790742500391293956263606865321646305562729975478276954521600*x^88 + 37004611185046792398106193589816787882144106298799739511293929160027305934315805623905387547761402224813008734065950258235851297993926882979088041706502657227702438518213388777949624705833689431475176765733628470837096443036344018122229359665272098299053395739120236244799666474503719972916603994084619772644635156838971757247732942306350849840991893399708269331772584794174813393530726638859174716375012163437989341626678232849444959091239929046249401015842116960030977093761231927384613003923553172321020946092111361960592068192685267038807889212681109455629834355290482495789979281582225609830980343126044796520740980318440849495254459342132243666413487755467284803396433468569264406130030292446076515294795306672977298748458427186281279798835628902060716324514315308315634605228966867277709312*x^86 + 44742743085213893472917949775585763467736988183175664646401525489137220630318276975999208051017139493888969515676901001176952543499384510010525247117352670719351186281334505603654234779620147509244574459043050154689485211913967017191950244530121317399287084062302658599106726893057845722733866085320952121398691305532892759680455337186166913077261658244027115238497299451772446300512234683144618596206511353360404650684590690453545421155583871732393060848560931156955075226158399382829985867687659296285891637305947419815429611929731236408384406408943973819161879087724428659359258330562499241714697985396060512991313666385790230911084495616928210507156782679374265973526666128099054764773001558983260359082005842653326857484451292356474228347764969094678181569534475082703035597774537072050176*x^84 - 1992147380522492310361205835905373111824258921064660006333303849048140951731347805532304672367100981014692551380660499526180641117645562096186399209385556561987969650310600688295220980133458299131018412199309999770869930384307855665548686622191135872419089090837792432184680717722421995281141504249092506814279669766739081051566500998981690684741594769164070031234233395835474240865212979369048844746472639781427062269548286715064782681950946303384434120429891527166916504407286407063455278436270668356298495217874856975039838491752312115399145170891284067381557846402133270080417223569515566950412998065528965876418669192693834237482252439306867556012250434204756819789708809956530033033767991191915440948747844405766014365839145011627272296181659511052928082857810890716433924358855018414080*x^82 + 1321689317928792178316460486018363481506419539609576136428669992718726855448528283782244779489121491311610971824680966365155785507062475961783019777123386737072019180966400337673739819172294965973001187293269934738206857336374882952134553271926613094212780787593840954190787675654514687872383261717800698697861856111906833804892221244088275588522705209566445928225344384387663478147341910678950771959014409044696991724452014969206627743237928496485278594814778422311925363763216159938904385234144915280792645085601251954815995829018958740602867325756619742964140035227350336268176193508187580113541893139680149233639113994298100891425074260132421297990469262333988926332606698237778319410815720467754770326840905405006801122419096949802506087521810714807381055484320363568705743512636751872*x^80 + 79941603963366015845204858568231466761010528960451059834228408979263397347271204215327675089593287334558043820084362582292675644446098628624140911048735630404701744303248539792863906755985401120735085687241049730003356870165539523795202496959488073410527565326731623513356954120615063206786412056548867209692409750233185082721906379909923935205060568654592971114111238791476705328853594198225298873817312308149757968947871674488164655139198851026115814301534160522704778603827473201027190937556268457835749315065638259069463171932957633956700758518841833896796867238797024412878077399295952411206915841095778910665349137124656974649724899239715047649279128112057044953659772518462974061812831989378290587738419533022796759458968890600504814474559861393376871997597823540957080687363489792*x^78 - 189027212412238940602620048878921243562658434299272287906307083208866834409025195705504714591798483386682161753164150541086824824640009777253975622086677886994727039236676557930370605436941776556886099951221406081549125193619050761829740416574923296001977969393721146320597817728185213975329328703514819049520248586278983423208734764808913728749349042281024786459000787430217693989210886981415747196158938285029792995767129362047312709564329022984009425758860058297687183753639220414130097775275180232994065649768291925164456525471661326341063400288776720201638147694108650975358744409778659384137057584123563992389080069721861379706229728179159513482135948861800864234919313769173085850646663765107314456786138807142656780396064800549706068751371518758068202334660772318953261370441728*x^76 - 2291353328941140144483313525580964622177601638589253404690827639449935445136187836838099963499043391080026765685922283667458452830891827938618426826171072193926009174930653658296176301656507912611535963837341985870476982134990468091938689421183756099861330273949890163271270996535205092184602021232643926243988673502330379711652162528063449603390789444276233161084804556795548466621740072316424325654439674802744680089842473871329613449485927956567647828703671591121467075425182459125957445155730718039622302229820069704342926468736771966839852184914414027410933708605652329078050752966851505096633406645371879551410538347870305645925245590827331114375174091273646943512762599065377819342700668612423266152662194552753707975611746270112971626854203092088731327698130072304996501684224*x^74 + 9638175036698793379085434442428170026599051788610434430943765960313743176418623748848264448560584156534029510949829452136433713572672317828693463290087722707865081491455246093544873149145381541505263972551848917517899049613700799763759507842551655250054417089294331177594944028258708268294484324654710386915534195410154011428832835649621517703333585543746276637179829961546044848863256947647863526885104008235644042247070062702743693042362387364111116853429556120923166459266233987357470146258952268293039472643037470826898290249690615268467472784793642697511603184064268834441731506762534718663364688020195594565313031597247678641707177262569008087513377637696280785892966715641302956753769773894098660335493769854312617880296291299680538661536424208257635758035654374446950514688*x^72 + 42443235720799742667168833553624160290736945718843441425027104647284965657432100286885097690543040320095279674046837645332209986776793117046472299103456456836121825828800066265421549775637505352232017983014617898675624712965645499769864168541614075989974421297257985218758527070184982102829042896104262311285660984816794824097015922188313100423231151895613609574882811926885008152581457033414206920158094841363286955358728747187368661516620610124413568664365055401778125466921127318642041741023158394042919726103174223402835512979810722561086664961921538309715233506774979047874758142119146270458783627435378886976019354432716282248754994867231410080293133956683505213769219589372732008646638651522562015358597450604423497512068101289326166616387576495031212575011882858417487872*x^70 - 300789164135736171254635593476918238279246981148088485083190397534191839658896992404634730758248579480256301278321915264250390810907343337909349487996629272243938131010635412029246424881654572192935827725008455183412259702730261992374819944212843655558107321524702815670155012015349153153473010927369318536263620770194787272495968062159745317391406902861542207922586429136995259981899639200667474327544350191767820260730654056223692860977347083361288044252885782226723884488702863302490164294230865265368903418921460794102223251161262204734735398824794183730141849032397507025222782121285130182195221717251737852879832746294387124375061066552308961606351127359329577649879655870707667368343213036321789808214156442697444270142267693774122330624283032608452642023536322076999680*x^68 - 324993190060740353078547738887173663261713619204476730412711131645822386231630098802088916827022475592434969840707901712074744239629536628643420673850453023332236187131601096922239176494239308100765982848713709936190981659414620930978379004658034371574746626969122653296373248192330265161039807582836891278862023363282879817982639835002954239311129523808145113492660394129339571723822919714314563796115014880260507383902646985572087680983143865694114626387885540147906194495198517364615130692160204409230335945823828329123104109074399300130836103800415822468388880325391060855692765343688378025007994573455018601279111944548616529034998590374302660281869726668789963114567921584870282737178434791587803457765190881463609889363555759627813412956799859498044939517919108268032*x^66 + 6113234809483638827108473207649444167114954050617173399510308198698265838434183487972921822310421815220312390402199640957519901867615216091893202024672663053075154433314421229481776512057060020756948234905155890145541948867752340316758639855651200352369529130076384727188900977538452526465947800118791768665541093323112954303266983594734062648762900404895259432026433342717613761500481726713699993425950181067227771608083242008907862496069754224924002923213484448372274134872142381420434983015466842147359663949466749168325928104402408888815027296138986402977273251339659848757456940308357272902332391768795697306711354611059939973374508030702521812248608086445631282430460643394240008042903046603174695049365075537607796759307566849008359212753801805434358860301624934400*x^64 - 6427122191180117245614989059097417759588072267539573538380340620102153617542984784938815725877795266954642846057058538282691019303167441462536352720775498236783536614183435070917592015960123792888873060508870876435704452047013883048798099851371076105529775462755094307790278908374720991646088693997000090013576977273810669198223688918055234376535089133472296113457227866381445750845505191346282866634482969433861882178718113933217325821933659328625902635326988442293569787797873733649743341645326605444709394288384663036351970771181426920545540647313103769314862194524742572752222195531898798272426117245785168398590545206871069980244897940173887940931477915293826247333034946007186691345728202114206450383039210053898745873466949113384884370381425532237526417293705216*x^62 - 74868594713171082642662242387119732376649123469892588972180524446772472581005580703506658613976983362155085784267431884139614784093630782352510563622874978794701012283551234535436038275761593957133438406029980675522056586378131408490892820365253172476796523403296302872199613154202837999465732837916524000369198724206335135523868111515530741359394139589147216850458831804140594042079680497366692882509013885948408754736537953936173118139472355438873100441767975594840624789028976376257169462252168444621821748854951222619274132322600347312387704315381837906650085792947266026473942535802299342624327650360569083619365733038268410051120332152500357735034370189155933516274907506169237398070640558821716755497057109143565170435381730715019143510399728538405387485839360*x^60 + 237885378133751810041362227019587686735295374276247894598414606042595864215147761592738451344141626519511067316797902956796836748811479690459634491605046288627998796303588561079707678970917687894437797825034866878705286860246844749647111381151719240541849816280975716932680168377940395848171678081616901489476205122468991536929212118977012816041467727341405161260411976667011328811131380295621716386207137230342755406408497226653749783178190775407411652741403882232236779475929770148105148558579345478204903908809438333950951452263264112012256754825947218870442756125325515267728190991012259274884029889750328530383167395406640959158492157746339642867209646574985025363314355572674214073741140553740848625457126270840401258721591365468548867038887939465684809940992*x^58 + 293151729650265149195092950172656002405255907513372546593240682863059769161260240263152408713897135700013229713245138779201289591158969993543262982333501146208876622914329516482956476529532491396715527141563919939374057921437149674622584468278667201011773012976878889811693358433771550131189263382387048433967348764990547784947035666776063356086956903441843329441316288260922673426026333847498846042515399664430269818616940110664522295850333995497407132561688684420270151698675168463036047376459219850333488962463576366360944934152550180729686213292844737102689518505620205586092662900426837736356325021180109995862714377720608224858557880212716274845389398076014401314858889323261348834370805460621394514395867373813087654787098925956390096009557388180076888064*x^56 - 2923412946315474133683449793302713342058245356163352791522723842114916386662279933437747684540683006564066168595215288913997265591158341346385867828271261688854901344818165863067303820763345330358306881985650441411019781339087639755807253376964266847102251332257394904454556754722856379561120562776925382705502487640560946511455293054876059388259770158779336017969187365231063130872950669065668175645475126083398772895410671222662418877647660664279951511888152410070888507619016566767944639656389262272947832205501761881006408772937131990049957902248900420601668174167752514381534934227776240853957447178291311039803190666112248092221310012908959294775506596820190515379573166696451535594179005454092101558840020723707455743523018502564896675140583515108671488*x^54 + 5022501654918287776586405362058332892199091198574341676347559269596212788751813453684402804683881713672021061685902275291520813888669785026132778909444627526837757908458065234971734502835510338564307308318091840060305097309354158334791125913038400522487011580399177092241936127562122061427426666080115669343772372768046496903012679670476254634951946102827233467579816860079963996420507914032177025394446076845371107530944014427162589947825737503665489733915659612400110449331100934007771442392734849355367329288134326572235456155760512251113263175954967913961411926147558746541782513598925213764533834554205946608298777666456526514625327290079951077236772124145402574310219116907219073346831795246365079043020644861015907473466094338281735587947156070203392*x^52 + 4729685669383807552035245507644265303343258803414629182614993525110197126970364169016562175265714028021472998573397868251306874228166364802472590866026940036010573112366094438440571783374626559465533626758129470517402274408055133617207381791149153059838777462750242158106649837060089977237536836637334544180314597722096032861201001020076920711948906072071558514804038608162188532490428720831310873479903131053769184790904941488714909701365345685539446626864514143437000875124808903888814488306812423806667296998182339094422028809477158609619228276355921986093416825439167214114478174143465395857318490155620876149644369727702966419474004953911636696480374789613489547065445185251923239579327922323710415116488751662932695284861089764648425214138862534656*x^50 - 34732331583512840903466623164959982988163519954670449213842382859971576034045640967115292471051749157368543263112285755598236262331843160876156118378173073826286705921194091587463672105205464058780562073045041937143868128761218954391260197788875654155400646239890087459882643414227827822076741661067453810152493952833168969117537618744141985576327859746046910276049448365857519434399086249547971721483651244276883599918696363386977606120970632717134030970966898433158355791235494929421588056664940808117069581652857460731875557841627730488972494986574294370335660477404745523185839751784249396812695129954432738443617111035371585233591068822715610229449275218125069214933724324523287584861606998656849004460525112956576754531884353247565194863434530816*x^48 + 83698513810083786566634324815250607134720668933605157412696924478395729976426713548444047214932940219998547906369351985531588713769641285920468216245733809981647415402593342990605741059465367910412826586766280133376576682471429042655050823148273930686050340889997962827360735505995762683259149094837993558885875927370054898826758002299161947952187232233704046490455249783266109190991034552730347613483885309417479556957157920752933941102960950110077702957896324233773616761607902006338206688807726940062292649323914091017781278591415027245821165479754562301245793654089835096844030023872273371868590821682576218100067187767939677573800638695995528991935802978762487678875201423839898167843433100143605523105755844146803821907147231974449107561349120*x^46 - 200755970154600709941851526602414394784526251384478777481073070282251340567390477533433086260811247706150723795296288120118441915405714003565841180820076598089462539479523136804439154172653943629651776948656055961327675872467758498071430602016065648341183689114985893677315740486960830206839961333043673306030897594772314049950060264406286413174387049772789726582883792476525049060327783975794530254795563400781081003628215482935421551130414336242231930340016438496846989751488016675874718095581591934628997148211948923836817624527354013620489925261958474835306015097443753826084391215699223566445518968099263115034461622587829624276612869424371509132596523109978604697032908917119571256478058924537633169069145207523570607203698918004239697444864*x^44 + 497069053476869431882976959198449957949812747525334656870244415797611874996420900242287736364128890966786500677663544913108532290323268115085033116782756799517800041529168981046748506591567746468141511849719933407978753095591191837783977173050000942392225359072716051812902672742945118526282944772286314970704605625064997495132658133970786424669602376520046975412200619931253878826306403757809953601798591516238603507035249157629793082685449877658497650118265750896945091258832656496111135170161875133152706338724783956680324315786261513680966149934798876141501063829743045305628871837882358149150135277469689532038124984755283639358201927023314359630109649135004209979987236865940563158240279142223836798152009392843534437227163278729734520832*x^42 - 844324353626885317556903169757515822432384102926313839064851256190681115469310854259618759723123133313872119334592157018096217054868485833907314709428706873039526822650251087509043713257062924527250539017383903423553039927782119425842127021274006151744333181130285675377407154447929943976235149219854749369443885071249341754113093491903426930323030236922855835817883630259469107355519907058921336245646000454534090441271267329330697649311448577942509085374360776665012019383310663505891081417534510542091818688976172460890016537140571117105572662915610641460968702557551286990023573815037896660514454833362051661020632433826791587170235473131738764728441194494924569135742168106000394676074224789794149091270424460121359844865942101952561152*x^40 + 630858936804266201309295441422218841843201140929587582223437048778720701706429176602557673567163826765764791424131568669533863856443079229982481094981356142886518039211221817182485002061177742790320012283517893567574830554190588966867432413874800975504891006261859975712269412312319047366653784209235376250899128419883204039605127245981028526771400229006022842735780607428240771185462174062802904614990564077753687983215022148003582342220653382301272172472250160449960124594425704936772729645971576163500775215403774883671876648851868708044896125715781838594111406130572127509548195322401670754680308874063760356390840511701542295385148414672618319205968739929566131976483933979274776749432831036697301402155493403803261609425163375345664*x^38 + 569205082655124422799483911739865753150094153118446397263319109284533955842522462279961903243728198707718866849304052632120291987316650574512086726622811199992966117284109569397231716117489385900605284655933631454559575436495621842265911458473301413018014329978112601529212875521301250112820679076648467751606995097808033807833604612216768996450364599460295437248454061801696970687047984245995744068996364774062415050139297345380715682181352192330246260929681261207667311498495018203611546175973246630521632310350924068400511316080886838185175016337932929930544491179043803995223667977260878078959032265702294462553450111837916904609086614198084515117524304184711000459178587102692457760101233008295314036038850598318587130344521072640*x^36 - 2071621689095317183792333706661863347694857149402824768997670079446049411732357416980472530235167454949536619282912840105194409773493629252718032662331803440753679457089251813490032167579697609229782606431622138708258193725255723399414203371944283804894162942278192793722999834510252509449652571417544931684305055613909190004363497351566309476307013959215025478164487548805259853085770162016082851675122763733963898055415472109943414658787779380820711489602010551916019483841774123522011975228888267713663148816163706787163521560372970114307823146442644701677568537179909013354082779591681648391691427685922032636707363406643338116107201874802505688751774063742198612902687151559052810275406407266021441276079708267935561162579509248*x^34 + 2655091007651855570102745815752523805771488285971897824678028101656239486474552736223781368309511545492808914713745598562735511477316576632986361643404064992337939026571590292861385411183661831411325218699965507816945752520841105615819353121805301710538609529256274311242565591419905200129661810178932504276579953430733790068423120450935371122989779981297148622597545191931027669376313876164685294892721667044905677998336276539936153249128803574506767693133830787071512651607015822565183865886290670864708847450990481454853729242233246234924455784921925500098292296437780958252848355735873612737469441043745780972353222628783116091609975762921841643184890510582386364574039059407398286922028830580885419970604575069086948817633280*x^32 - 2040243937716729479453939866775597438075811380398334664849490407039618202055026723006643446240624734585598322782946277866515789874208930259913187064608106043116895130095742765109006846069270867250934696014745557137276508841683755760843774234848419844833337631666027543778205184942023635847873024594557367861155105666028096485778463882203229742928927845585087179294986666104150486853176208995978802597849680405686005657719510771337091475678548839216658487334363641758145451267554688040339868586919417069886745907807899751137589719754204124319148469764444000764928902301192855799392995178535310902235528933222541994154929955307371191124519500832624118581018420575317069471838678878323201611919342506575913398368517656158085840896*x^30 + 1020052754080082969632235458861835945103912999029648567701086062131260842740453440334448442430954444653515825322520266995342601611701335196845487302398457023506474945712185678238127805872204385492788403041209949075836520678500149449846607448066502931018836819298155545065055007922301306146220364736952607559992037553933134015960143420388858999690150096121977834811470127562825614854452540344028684073358517006666234852356361143887419281671379568245770878383948492455946229419756027602688805609956313319015190630361958944003655193053803673520531745548829211437255649329025023533908576917022125689910605401217024029932588800640716846339652186992771671202170612342864433840034735604532620756896121932209694961152072876820529152*x^28 - 328542746994039528990683830538368748662822614424998874074480542339873661879752753767274804609732230837135071701389858106088787304640844540289249173244983027767402952843441813259510188608732052575493403174867799932354095522380896508909425920835484364022101340902163564348162403835548031631987407921247082402262239969681417023790485929579734361804006729180344780831371893836188883701250916777996743011627718434917800892329413735106793038201530013418232039440909130656728244988644719346177264130702958313297128898318084809758369503405059377062313572728941860493065614112585861258013731404233808000392144517324465782245598024216834205894390160959108994819542582314220468088480028960778173749733096605387973938171308004081664*x^26 + 61461325332565258941274939460796441514388230643882949141343422864599323133735085608853308558102105735597277975461583721448581105060010642245391889073832296819187207513866304330611872717887101099558687604009305780065196164873572653836350885305181041350153579697593899735993862233577362989148331609082396441480648309476757861766389129782395766147230027793561817798116072133893146454898934297001557991643202455274082855330573400684877225957381599670805368871754502112220158891338178950226119019155641191334973648165798390035879916194648308898650296712996311946709619162574858373126996241724581793174174450354005060569126710487808116392676743188986857526416263837045810748005915626469637592251073820868944927641456082944*x^24 - 3883324668856423612446092800667094150320259697151367320226422814495152338791133336877301068022001925013980560337485123317351271262815861959196520221284006653302789331259145290378430764735537849290861948858717815219822169071991253088266062471844292497150935376100568270612819903204041346582104295189187828002049752727073188767690513536835380714970240394050367058274878665426268406474621229783847244890466955475123457669618857838103478081719873257631606712223042304829240845135957063817601389057762099330915329545276327296389823137055060479088600984205450773261810290040287943375447007407561801850203550104551299284604828814780938712437668547090666687779610286822980928026444241790367419694027601081171160797806592*x^22 - 751535721689490635602726160758343740928826940673121338778302747609797410744715060289298071059289942912694073469602042157195159040645023416219148198990308955434330383762129537908570623448423649238094884469835715932763858841866906190150786482342054042342731140250272752591444502181163447348729408798021285148443833088516483233817616630213169669417701428496430042096983229714906048164441151780977111536642509516904668701606180313251232063095363820525086568769999715875585216849779150412006845439349103947854279557660478759928486358929520853026401648242002965746475781979082697376557938052223108305426560275321379681542136357969467395024769253074682371712000676608324171335903089428276627629775177410856049704960*x^20 + 135901623353313761757229850368703893196660572047067346516029092730489079060783421264594609820133572336072518801921313535152516537040517652303149156360902548376105565122098161025212249035632213470366306135040540427900037262154637463581460642807750908108717551472503069358218752817096744312686430601921320492637261543222562844289780854596340529155845588886212994871100235396349958542935568379229367083008774504804426543254888076302407193690076926665362835787349541609939803659127399095859507712450526415187870813189055235963671460519660610799239740025807008640197790341768222353705734429324430530837675812601867869272037336735309129419801429705939185609282276601371647865702193812112351258233643920944791552*x^18 - 50958306305261076752358194339545694928507225030977648408087258342013939142856432849435688263739731395545536680576652650614664539942150765613702037721485113551947052254944096341028078176408763257208616887571613527085791769294438990279685372266595708796958236334808107441480453944247454277990106070370209310487867543341839776224976660882151885115448375905140909308491612764101097483357455650795629993941539554136858936026910731687399963542017446590052917772745465122169873952141665708438415420812113553459654431408604060411703593440001667256744572894961800318472595793191253120569290991202076163616761133848506841893150781129033795641412956762867858036929543282950355101841180554507314361554629033984*x^16 - 650188828198774002608840858704113147631914846394013323855760348772792047346524954492186625027803588839315220838871634319050726521417767120188044210442093981652413029449454193656650975975894776142163898960873362301886103851593495066917817900263969777651081420250338544006366479876434720118406831137577459317141047860544522886036017588736646561174813636976484737265270943285246353700236811014018410144914516119477281253438253452458138457789066087735553584902114613337945164413501568205341912780924217797465395540143593317947955458044977117734754252914043829969697783422742369290142608093919671920290426399498353838549130305027219258730857042543675733877200926190057366962997563132098243424478560256*x^14 - 40861926570920959266184836493356487870101556498754365516581070114072518091189180068818820457863666698637605119857943187068983288250369863769940564758680953959887006279710923723611093816879531236700799224864997543482099048552660093498402873737977477878914142327203850612590518745668324625073167196655598853675048725291811822907221166746705050428592365581215053703960197023195029173397765610741357245733787930846305599947526603998608467466925663907160552791837303677050517769171384071139547902293479611126942596557163688337306547063596708855958776745722989329824824765024350932915546809460619689781927529121128775001574238746079556057069698886073721044771233933555075979271312038965197032914944*x^12 - 833124753794084640688037276215838669810167821426909298079819213895977644719819165599551266863818992602486166100521070732183379264504317517725873072933252108955469319806377299832404317039593724525658349695282228260134180345130070692615177601547359215253666584822098959395065183293676713007595596733366761959494919803119055875217130615334419699140906087798091373066854021813914501139753617893258163370781495356697852534020858303081733961286021174267574599891197148412999018401884051800916979269763700430554839848279393936903403968359843109042265627807071934454749450827071291058746685172656578386240531842073002002934511734839931947015408559751396076237632250338304856571567081700097785856*x^10 - 7658771618725884748391330938184669372433555954012241782723250710187787203760680649512963498992496408753376086439317515470971187550342509648135600256775055375747285598088997689403432718670035283922985695981614071033648198688170329541911963604718833139088728875684492770415778345349529336462034521272003610851542705422168047136991466169609285399351431104278602837041725333448163552986367470786589957095824606986581538902066418857879307622677635919790783044576891547878441671444126259908645368621950279065035661247809242239807623059271459188039846065519706144020111503573057674327408899865218627504506320806753588729362614715803746221825052026410921736413191705399088362911154772639744*x^8 - 16702567857203944352220222714963108829106565357395107454939865050669758612182200764101986747978197641921273414994875419667808215520877334939365038225290173446236643517881221669480017863871750927015963868760882719540147915762098906279786363273275742496569433501589826885468800735326031467965915990689273474830346752350933191146933485568965520419747935778054524883480013846734781978528383284809136014413009009144603902741385798034222138661411716892287230722920430565914506528132546014332668966111331666655206155742176355391236803719395898910941496600795040770285245449864139988840361464348390670081987574430726296881521856462573617660146588583291996940006882107441263477017018368*x^6 + 179782983655119035426809632822292010043322998080063145867493639194245739413644037741114955417763712148638757392745530307589858555969565820688419743815666086980304051170991581170290846672741818483159449120571441041279952770886645847890021249748579975059644805702156387722032257338446056276886076183359708839626702552458712083173844607335771164274124581313469178768494303465225020165590036620071686936758651254255162188831952375913152201628036706318886051165105008731971580811896481283049053883504571000628631550572045490366900528299775651342918932464482551071356622939013074872993124546958506098401663798133739760583386797810035714293101111354268849000352696905729310720*x^4 - 444197758052136116820947897695110521029794817251021934401181887740289358145846327491337544229683766554798883228243782871248641955973141102950804972276382531416874817011849504001105212340786679083467770811544278317948156695506340338722593025111105815768803766919105647251186565800487492140902716159763626654251136151953823895089730783501228795046526318604927487651461852337447878343654131635973382434640039782873335615115451925767611925478761250949473658982286038364626985823011552713897981212454750093123965724399560721568846778993595360108691913082816059008803044189452248953504408461730575921524060519694814257801237438618852560065556604495781368906796498944*x^2 - 76093196872372578373119402591542924336595309825576292045515391246379464763158228784639574310982195640136389028170516631428420420489719956379967145212728402543856172428301827720835720619511746291529555478771232044026977196487380606051408105650931853037339102824546133136096406879899656252503263781924026226251779704232683941753426157396355555386426406923634579674802667468556932278540083239541771095586953543174979462316844522007563225998088037858674707962626971083428228623682979720860644003550437215307280073434204980445128604856611045119274229393897316722277964178023092238372341675934924661369445149897548641019617913507175210877932947651340271616], diff --git a/src/connectcurves/main.ipynb b/src/connectcurves/main.ipynb index 014a1f1..f33ea28 100644 --- a/src/connectcurves/main.ipynb +++ b/src/connectcurves/main.ipynb @@ -31,7 +31,9 @@ "using AlgebraicSolving\n", "using Nemo\n", "#using Oscar\n", - "#include(\"tools.jl\")" + "#include(\"tools.jl\")\n", + "using BenchmarkTools\n", + "using IntervalArithmetic" ] }, { @@ -42,7 +44,7 @@ { "data": { "text/plain": [ - "usolve (generic function with 1 method)" + "subresultants (generic function with 2 methods)" ] }, "metadata": {}, @@ -52,23 +54,49 @@ "source": [ "include(\"data.jl\")\n", "include(\"src/usolve/usolve.jl\")\n", + "include(\"subresultants.jl\")\n", "#using Arblib" ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ - "using BenchmarkTools\n", - "using IntervalArithmetic" + "# Generic change of variables\n", + "changemat = [1 0; 0 1]\n", + "#changemat = rand(-100:100, 2, 2)\n", + "invchangemat = inv(changemat)\n", + "f = evaluate(f, collect(changemat*[x; y]));\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "sr = subresultants(f, derivative(f,y),2, list=true);" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, + "outputs": [], + "source": [ + "# Take the deg>0 sqfree factors of the resultant and order by multiplicity\n", + "# TODO : group by multiplicity\n", + "sqr = collect(factor_squarefree(sr[1][1]))\n", + "# Construct the parametrization of the critical points\n", + "params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in sqr ];" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, "outputs": [ { "data": { @@ -106,7 +134,7 @@ "end\n", "\n", "function Arb_to_rat(x)\n", - "\tr = radius(x)\n", + "\tr = Nemo.radius(x)\n", "\treturn map(simplest_rational_inside, [x-2*r, x+2*r])\n", "end\n", "\n", @@ -124,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -145,7 +173,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -167,7 +195,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -187,11 +215,11 @@ " for i in 1:2\n", " # Lxi\n", " L[i] = Array{Any}(undef,2)\n", - " L[i][1] = isolate_eval(f, 2, B[2][i], prec=200)\n", + " L[i][1] = isolate_eval(f, 2, B[2][i], prec=250)\n", " L[i][2] = [ j for (j, l) in pairs(L[i][1]) if (l[1]> B[1][1] && l[2] B[2][1] && l[2]\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n" ], "text/html": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n" ] }, @@ -5031,7 +5069,7 @@ }, { "cell_type": "code", - "execution_count": 163, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -5100,30 +5138,30 @@ }, { "cell_type": "code", - "execution_count": 162, + "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - " 486.504 μs (8496 allocations: 535.11 KiB)\n" + "4\n" ] } ], "source": [ - "CEdg = connected_components_bis(Edg);" + "CEdg = connected_components_bis(Edg); println(length(CEdg))" ] }, { "cell_type": "code", - "execution_count": 142, + "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "plot_graph_comp (generic function with 2 methods)" + "plot_graph_comp (generic function with 1 method)" ] }, "metadata": {}, @@ -5148,7 +5186,7 @@ }, { "cell_type": "code", - "execution_count": 143, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -5160,2301 +5198,2301 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdd3hb1f0/8Pcd2tNDsi3HdqazJ4QsQig7QCkQCKNAGQVKAqUUympZpfSB8uPLKi2rpdDSsiktAcIOTULIINNJnOXEU16yJGvf9fvjyrIdL9mWbdn5vB4enqOrc8898s3VR+feMxhFUUAIIYQcq9ihrgAhhBAylCgQEkIIOaZRICSEEHJMo0BICCHkmEaBkBBCyDGNAiEhhJBjGp+SUvx+//fff+/xeC688MKu8nz22WclJSXTpk077bTTUnJQQgghpP9S0CL8+uuvHQ7Hddddd+WVV3aV56677rr55ptra2tXrlx577339v+ghBBCSEow/R9QHwqFWJYtKSk56aSTgsFgxwx1dXVFRUW7d+8eM2bMoUOHpk2bVl5enp2d3c/jEkIIIf2Xghah0WjU6/XdZPjqq6+Ki4vHjBkDYOzYsePHj//666/7f1xCCCGk/1LzjLB71dXVLpcr8dLlclVXV3eaU1GUU0899dRTT5VlmWVZALNmzaJniulAEASNRjPUtSCt6IykG1EUeX4wvlFJMhRFkSSJ53mNRqNGk24MUq/Rtjdgu7kZK0nSmjVrvF5vQ0OD1+v1er2iKA5KBUkPIpHIUFeBtENnJN3QGUkrsiwLgpBk5sH4/ZKXl1dbW5t4WVtbm5eX11VmlmUff/zx5uZmi8UyCHUjSYrFYjqdbqhrQVrRGUk3giDQGUkfkiQxDJPkGRnAFmFVVZXX6wVw8skn7927t6KiAkB5eXlpaemSJUsG7riEEEJI8lIQCD0ez/Lly+++++5oNLp8+fKbb75Z3b58+fKXX34ZQG5u7s9+9rOlS5f+9re/Xbp06YoVK5xOZ/+PSwghhPRfCoZPhMPhDz/8MPHSZDKdffbZAL766qv8/Pzi4mIAiqKsWrVKHVB/zjnndFWUKIoGg0EQBLo1mm7ojKQbOiPpJhAImM3moa4FiZMkKRaLGQyGZDKnIBCmEAXCtEVnJN3QGUk3FAjTSq8CIc01Sggh5JhGgZAQQsgxjQIhIcPPaQ87nY/b/vneL4a6IoSMBBQICRlm/vb+bV+I9RFG+fH2p4e6LoSMBBQICRlm/le2JpGWYqEhrAkhIwMFQkKGGaO2dY77vSUfDWFNCBkZKBASMsx817gnkd68e9UQ1oSQkYECISHDiSCEd8q+xMttVZuGsDKEjAwUCAkZTr7b/k4ErZNgbPeVDWFlCBkZKBASMpys3/Nh25c72LDYWDFUlSFkZKBASMhwsqF6s5rQgQXQyCrlJZ8MaY0IGfYoEBIynGwKxdt/EzSZamLLvtVDVx1CRgIKhIQMG5U1uyohADAozHzXXHXj99XfD2mlCBn2KBASMmys3fovNTGbt88ed5qa3hGsUmLhoasUIcMeBUJCho23dr2pJuZmTpo5ap6aLtGIkZLPh65ShAx7FAgJGTa+ao4PlnAYHZOyJmnBAijnZPe3/xzSehEyvFEgJGR4iMVCISY+gnD54tu0nHaMIRuAAqwPHhnSqhEyvFEgJGR42LLz/RijAChStBMmnAxAa7Crb73TtHMIK0bIcEeBkJDhYd3u/6qJ400FauK0ieeoiZgYERuoUUhIH1EgJGR4+K5lKH1i4MSFUy5UE4d5OXZw49BUi5DhjwIhIcPDpmB8KP3CyeeqiVm5s1gwAPZpZP+BdUNWM0KGOQqEhAwDNTW7jjAxADqFOW7G+epGs9Y81uICIAK7Dn0zlPUjZDijQEjI0IuWro1V7e4mw7qtb6iJmbxdpzUlts8edYKa2NpYqkRptXpC+oICISFDrOnNe+oeP7v2gfl1T5wnemo6zbP+0FdqYl7m5LbbZ+fHnxeW8ELsyNYBrSchIxUFQkKGWGz/ejUR3fN1zd1T3PefENz4rlCxUxFjiTwbW1alnz92Sdt9Z+fNVhMlGjlK/WUI6RN+qCtAyLHOvvz39Y+frSgKAMiSUL3X8+I1LW8yYKHoLNsyvGAAYNGs5W33nZM3R03s0cjhXV9Yl942ePUmZKSgFiEhQ0xXvMi05LqWV0r7NxXIyndyU5BRAGTKbJFrVtu3nSZnntEBIMgoew9+PQi1JWTkoUBIyNCznnc31BYfGHAaRm8C13q35ilLVE2IjBIp+fKofWflH6cmSjRydP+3g1BbQkYYCoSEDD3O6jQtvlJNM7zW9ejughc8o/5cl33L26xzXCMbbyaaZab+qQubXru17b6zW+6Olmgl2esezGoTMjJQICQkLWRc9jhnzgKgRIM1d09ThAij0Rtmnqmx540S49fpT5s1UOTAN694XrkJsqRuTPSX2aSVhPpDQ1J5QoY1CoSEpAVGa9BPP1NNy5Hm6l+Ojx3a7P/Po9F9a6t4Wd1+giZbTQTXve67c1xkzxoAs3LjTw03aSWhYtegV5yQYY8CISHpIvO651mDVU3LYX/t70/1/ef3MnC4JRDOv+d/utHHqx1qFEmof+KHAMZljEuUsLb040GvNSHDHgVCQtJI/rOVlqW3gVE7zigAajg5wgCA0+TMyhrj/PUXuoknJfKHd3zCMAzLxC/kGsFP88sQ0lsUCAlJL/ZlDzl+9RGjNagv1xjizUE9rwcAhnH+ahXD69SN3jfvUcTY5dMvV19WcbJQSXdHCekdCoSEpB198SLXo7usZ93muOXN+rNuUjdaddZEBtcT+xhTBgCx9mDzZ8/NL5ivbt+rkWMVOwa/woQMaxQICUlHrNVhu+gh/cylgiKqWy6eenHru6YM/Zm/VNO+9x+axFnU9CatFD20aZCrSshwR4GQkLS2r2GfmpieM73tdt2iq1hzFgDIcsGnr6gbj/By8+YPBreChAx7FAgJSWv7GuOBsDiruN0bLG/70T1q0nBoi47VqOkyOQBJGMQKEjLsUSAkJH1Fxehh72EALMOOyxx31LvmH9xgmHMeAChYpJjVjXs0crR07aDWkpBhjgIhIelrzeE1siID0HCaeK/R9jIufVTtXzqpOahu2auRRE/lYFaSkOGOAiEh6Wv1odVqQtNy5/MoXOYoyxm3AJgYi1/LX+jF4Pp/Dk71CBkZKBASkr521cQHBeaacrvKY136SwC5Uvxa3quRheo9g1A3QkYMCoSEpC+tRqsmzpt8Xld5GJ1Rmz/l+BinvpSB+phPof4yhCSNAiEh6as+WK8mzi0+t5ts2b/8QANG27Km71Y2Gt391UDXjZARgwIhIelrS80WNTEpe1I32ThbjqZg2pJofC3fak6JlW0Z8MoRMlJQICQkTVU3V4uSCIBl2DxLXveZbefcMb2lv8wHRkFsODLg9SNkpKBASEiaSgyl7ziCsCPDcedbWi7ng7wc2vKfAawZISMLBUJC0tT2mu1qYmHBwp5zM8yFRaeoyQgDORpQIoGBqxshIwkFQkLS1Bu73uhV/uKz782SGQAhRqnk5Njh7wemXoSMNBQICUlT3ohXTUxxTkkmv7540WQmPtHaXq0cXPv3gaoZISMLBUJC0lQgGr+3ef6k85PcZYZrtprYw8vRQxsHpFqEjDgUCAlJR/6ovypQBUDH68ZmjE1yr1mTzlYTuzWS7G+AIg9U/QgZQSgQEpKOPt7/saIoAIwaI8/ySe41a0K8v8wanSRHmoXqvQNVP0JGEAqEhKSjcl+5mnAYHcnvNSFrgpoIskqUQXT/+tTXjJARhwIhIemoLlinJi6Zdknye9n19lxDlpo+yNPChIQkhQIhIeloc9VmNTEjd0avdlww+iQ1UcJLkV2fpbhahIxEFAgJSUfrK+J3NYszi3u1o1kbH0HxtkmQw8006SghPaJASEja8Uf9MSkGgGGYidkTe7Vvoa1QTTSxCoBYxc6UV4+QEYYCISFpZ7s7PrnapOxJOl7Xq33PnRhfsEntaRre/nEqa0bISESBkJC0kwiEJ+Sf0Nt9x9jHqIlKXgEgHNqUwooRMiJRICQk7WyvjQfCmbkze7uv0+Q0aowAfIziZxUp0CA116e4foSMLBQICUk7iRbhjJzedRkFwDBMkb1ITVdwChREd32ZysoRMuJQICQkvUiyVFJXoqan50zvQwmJu6MVvAzA/8lTqaobISMSBUJC0st+z/6QEALgsricJmcfShiT0fKYkJMBCFUlKaweISMPBUJC0stnB+Oj4IuzejeCMGG0fbSaqOAUNSE1VvS7XoSMWBQICRka68PI3Qt9CXQlmLMfQjxm4YO9H6gJhmH6VnKiRajeGgUQ+N+r/aorISMaBUJChsZPKlArIqogpmBrFIbdCMoAIMmSmuHc4nP7VnLrrVEdpyZoNCEh3aBASMjQqJfavZQUXFkBAPs9+9UtZxef3beSE7dGy/l4M1Os3gtF6XIHQo5tFAgJGQKlUfgkADCxMLdchZ8GsdvfWOWvAmDQGCZkTuhb4ZmGTB2nAxCSYjUsACiSECn5PAX1JmQkokBIyBBYE4wnTjOjaTLGaQEgKONHO7aq26c7p3Ms1+fyE2v57rbH5+D2vvtgn0sjZGSjQEjIEFgTiieWGMEz+JMr/vJAXd/nlGlrjmuOmhBM9niikgZRENI5CoSEDIFEi3CJCQDOMMcbhfCmJhAe5zpOTdROnhffpMiSr7Y/ZRIyUlEgJGSwHYihSgAAG4eZ+vjG1aOhZVIWCBOTy1QZ9UzL+hXBL1/oT5mEjFQUCAkZbInm4GIjuJaxguO0OEEfg383ADBMH2YZbWt0xmg1UdZUpimapaaD33/YnzIJGakoEBIy2I66L5pweWg1FBEAONM+2dqfQyRahGVNZeb5y9W06N5PgygI6YgCISGDratAuH7/W/EUq3nR069DJIYSHvEdMZx4RXyrIvnfe7Bf5RIyElEgJGRQlcVQLgCAhcVsfbu3fBFfPOU4+VUvmqSj902eRWfJNmYDiIpRd6QpMVub/6uX+14oISMUBUJCBtXXLc3BE03g208mesBzIJ4qvi2m4Bfufh0o0SgsayrTFLZ0vYkFu8pPyDGLAiEhg6r1vqix3XZvxFvaUAqAZTXIOA7AV4F+HSgx42hZU1nWyjfVtCLLwe/e6nonQo5FfEpKCYfDL7744t69e48//virr76a446eEeONN944cuSIms7MzLz++utTclxChp3EUPqTze22r69YLysygNl5s0t4Y0RBhYANIcw3digiOYlAeNh7mJ+Zx4BRoADwv/tb07zlfSyUkJEoNS3Ciy+++KOPPpo7d+4LL7zwi1/8omOGl156acOGDU1NTU1NTX6/PyUHJWTYqRBwOAYAZhZz2j8g/LbiWzWxuHDhFfHZYPDb+r4fq9BWqCbWV6wHwOXGZy4VvVV9L5SQkSgFLcIdO3asWbPG7XabTKZTTz110qRJDzzwQHZ29lHZfvzjH1900UX9Pxwhw9dXLfdFFxmhaf+AcPWB1WpiwagFYzPxchMAfNKMBhHZfbpMRVlUE5urNwPIWvmP2vtOAABZCm//xDDzrL4USshIlIIW4dq1a+fNm2cymQAUFRUVFBRs2rSpY7aPPvrowQcffPfddyWpH53hCBnOuho4IUqiGq4ALChYcLwhviSFAjzR2MdjTXNOUxM2nQ2ANm8Sw6vTuMHz6so+FkrISJSCFqHb7XY4HImXDoejurr6qDwzZswwGAyKojzwwAPPPvvs559/zvOdH1qW5WXLlomiqGY4/fTTr7rqqv5XkvRTOBzu+OiX9NbXAQPAAJjHRUIhObF9R90ORVEAaDhNliYrFApdbta+6OcBvOBR7rOEOxbV4xkxMvGni0beGAqFAPAFM4WyTQDk5vpA5X42Mz9lH4wAoVCIZan7YbqQJCkWiymKotVquwo3CSkIhFqtVhTFxEtBEHQ63VF5nnzySTXxq1/9auLEif/9738vuOCCTktjGGb58uXhcNhgMAAoLi7uWBoZfLFYjE5EP1UKOCQwAIwsFlg12ja3Rje7483BpeOXqn/nOxx4yQ8FaJKYb0XdyaajS+vxjFiN8blponJUzem486Pqm12QBCgI/evWrF/+N1UfjaCLrz4yVCRJYhhGp9Ml8+skBYEwPz9/1apViZeVlZX5+V3+0jSbzVOnTk30IO2IYZhLLrmkubnZYrH0v24kVTiOoxZhP61tjicWGmHg2/0xv6v+Tk2cMvYU9e88wYBxWhyIAcDDHu7UDhOu9XhGzLp4t9TGUGM8J8dZFv+k+euXAURL1yneaj6roH+fibSiayTdJH9GUtCQX7p06fbt2w8ePAhgzZo1oiguXLgQwL59+7Zs2QJAEIRIJKJmLi8v37Rp04wZ/ZpQmJDhqKsHhADWl69XEwsKFiQ2/rKlw9m6IKTeTxHKIN7kbIo0JTbaL30UvAYAoDS9enOvCyVkJEpBIMzNzb3rrruWLFly+eWXL1++/LHHHlPvD7z66qsPPvgggLq6uvz8/HPOOedHP/rRzJkzr7jiilNOOaX/xyVkePm6i6H0dcG6Q02HAOh5/azcWYnt12dA/TUrKvhdXa8Pl2HIUBMs0+Yy57WmBZerycier2UvrVBICBglRbPRl5SUlJaWzpo1a+zYseqW2tracDg8evRoAIcPHy4pKVEUZerUqWPGjOmqEFEUDQaDIAh0azTd0BnppxoRrr0AoGfQNAX6Ng8I3yl55+K3LgawuGjxN9d+03avqQewOxLfKzy1XYE9nhFRFjUPaQBwLCc+ILZ5I1axMg+SAEA/7XTHL97t1wcjLQKBgNls7jkfGRRqZxm1r0mPUjOzDICpU6dOndruSs3JyUmkR48erUZEQo5NiebgAmO7KAjgD+v+oCZcFtdRe92ciRXVABBV4JGQ2ZsnUDzL8ywvyqIkS4IkaDhNyxta07zlwfWvA4iUfC776libs7cfh5CRhDr7EjIYunlAuK1mm5pITIqWcFMmCjQAoAD39P4uZiL4hcV2AzAyrnwSHA8AiuJ57ZZel0vIyEKBkJDBkAiERw2E8IQ9giyo6ZVzOxnnfl7L7c93ez81YUyKqYn6ULu52hiN3jR3mZoO71gtNzf0umhCRhAKhIQMuDoRpVEA0DE4of0zi3/u+KeaMGlMo2yjOu57nwMcAwCNIv7q7d1xeTb+7CNTn3nUW/Yrn2JYDgAU2fPaz3tXLiEjCwVCQgbc10GofdLmG2Fof829vuN1NXG86/hO983RwNzyTPHGXk6XrS5nAcCkPfqGLKszGY4/X01Htn0kB5tAyLGKAiEhA66bB4Q76naoiRuOv6Gr3ae3rFMhKWgzL1sPBEkQJAEAz/BaTtsxQ8ZVzzAcB0ChRiE5tlEgJGTAdRUIK3wVoVgIABicW3xuV7t/Mxamljm43/Qle9BArGVhX6bzDKzeop/1QzUd2fqhHEq6aEJGFgqEhAysehG7owCgZTC//QPCD/Z+oCYWjFpg1XeYRa0FAzzYMsDheU+yx/VHe+5dk3nNcwzLAlBkqekfnawkSsixgAIhIQPrm1D8AeEJBhjbX3CPr3tcTZw38bzuC7kmIz76cGMYWzpZi6ITifUIc0w5XeVh9Rb9zKVqOrz533KYFs0mxyIKhIQMrK7ui8akWHVzfMGyRYWLui8ki8NFtnj6+eRWKAwJITWRmGutU5lX/wkMB0CRJe8/b0+qaEJGFgqEhAysL7sIhGsOr1EbbTnmnMVFi3ss52ctIyD+6kWN2G1WAEAwFuw5E8CaMvTTT4/v8t27SnJ7ETKSUCAkZACVCyiJAADHYGH7ubYf+vohNXHm+DOTKWqREVYWAGTgySQahVtqtqiJ2mAPc9JkXftnqGu2yWL9s5ckUxlCRhIKhIQMoP+2PHSzsPGen6rGUOPGqo1quu2KE927rqVRuMqPHifL94bjw+/HZoztPidrztJNiDdJo3u+UaLUKCTHFgqEhAygg/E5znB++z6hT214Sh3kl2fOu3X+rUmW9pATFhYAdkexIdrDDNwl9SVq4upZV/dYcubVzyTSnteSrQ8hIwMFQkIG0Jp4hxUsbxMIfRHfH7/7o5p++uyn260X2C0Li8vs8fRfmzXd5sXm6s1q4vj8zuesaYt3jNGNX6imQ5velQNJj9IgZPijQEjIQPFJ2N7ZA8Inv33SG/ECmOyYvGzKsl6VuaLl7ui/Q5r6rrvM+CK+g56DALScdrpzejIlZ9/yL0YNybJES1KQYwoFQkIGytoQJAUAZutha7mR6Y/6n/kufh/yviX3Jd8cVM3Ux6ftjiqYtr/LbFtqtqgTjU7Pma7jdcmUzJoyDHPiwxnDWz+UvO5eVYyQ4YsCISED5ZvOBk48veHppnATgAlZE5ZPXd6HYhPL89ZJELvoM7OlOt5ltKu5vDsv+do/t65T+LdO1oQiZESiQEjIQPmm5QHhSS2BMBALPLMh3hy8f8n9HNubJedbPNRmopg3upgf9J2Sd9TEnLw5yZfM6EymE+KxObLrc9FT0YfqETLsUCAkZEAE5fhcaCywqOUB4bPfPdsQagAwLnPcpdMv7VvJJxhwTctcMb+vR6fLUeyojS9qkWfJ61XhGVc9BV5dqkLxvNzlghiEjCQUCAkZEOtDEBQAmK5HFgcAwVjwqW+fUt/9zUm/Sayam4zH6rGiuvXlk7mwsgqAPVF82Hx05qZwU1SKAmBZ9vRxp/eq2oxGbz7xSjUd3bdeqNnXq90JGY4oEBIyIBIPCBP3Rf+06U91wToAYzPGXjHzimQK+aIZuhIwu3B3Lf7sgaEEnwQAwMbhWrOg5rmvQ6eWLTVbFEUBcFzecXpef/TbPbFf9gcm3r9G8fz1Z73dnZBhhwIhIQNiTfsHhBEx8uS3T6pb7ll8TzLNwbMP47QjiLXpDhNRsPQwbLvxjg8rrDF1IOGOKP7UftRf33rKJDCcxnzKjWo6VrYldmR7HwohZBihQEhI6kUUbIovuIvFRgD408Y/1TTXACi0FV4166rud5eBKfvxcaDzd/0yLq5AcaWZa1lx9/kuAuFxruP6Vn/7RQ8xOvXBpuL524q+FULIcEGBkJDU2xBCRAGASTrk8IiIkSfWP6G+dc/ie7Sctpt9ZeD0MuyJxl+ywJUZkKehYiLOsbTLGVHAMACwM4LNbRYpTMwp0+dACJaznBlfp1eo2Bk5uKGP5RAyHFAgJCT1jhpB+OLmF9WlBwtsBdfMvqabHRXgjLLWlZsKNPBMwWv5YIBRGnxYBPckXGlrzW9saRQ+Wh9PeMKew97DAPS8fqpjap8/gu2HdzF6s5pueuXmPpdDSPqjQEhI6rUdQRgVo4mV6O868a7u53nJ24MvWqLgYhMOT4St/TWaw+O1AvzOCRYKgGDL4In3/SiJAsD7e99Xe8oU2Ao0XA/zkXaHYWzn3aMmRfe+aMkXfS+KkPRGgZCQFBMUbGgJhCca8Zfv/1LprwSQZ8m7dva13ex4YTlqpXh6oRFfjuny+vy1E+/kRFimdYsMnHAQAJ799ll1i0Vr6WzXXrCccQtrjE/y3fjqz/tZGiFpiwIhISm2KRxvqI3XIlMJ3r76dnX7XSfeZdAYutrriUa837J4oYnFN2PQfb/S0/Tiiox2W0Iy3q6v214b7+T50CkP9fEDtGFb9qCakDwVjS/9tP8FEpKGKBASkmJr2owgfGztYxExAkDLaW84rsuJWrZF8KuaeDpfA/ckcExXeVs968LKzHZbfvrRr9SEWWM+t/jc3tf9aOYl18ZnHwVC370V2vxu/8skJN1QICQkxRI9ZRbqoq9ufVVNXzb9sq6agxtCmHcwvuK8jsW28TAnfV0+68LlLSsUItbkP/QPNXnj3Bv7UPNOWc9oXZKp8YVrlQitX09GGgqEhKSSqGB9ywPCmv1/LfeXA8g15/7p3D91mt8nY2FZfNS8lsEXo5Hdm4m4GeCv+S0vNl8LyAA4hrv/5Pv7+AE6sC17iDW0LCusKDX3Hw+p64UQCRmGKBASkkpbI/DLADCKi7284TF1410n3mXUGDtmVoAJ+6C0zB3z+5zW6bmTp2Pw/Tgw4SpUf6BuOX7ajVadtfu9eiX/2UrOmq2mJU9V1V1TUlg4IUOOAiEhqZS4L+qqeOmI9wiAXHPuDcd3/nTwjDIkVpmfosPt2X086GwDMtcsjEdUVr9x4tP+Ttek6AfX/9vHGuMPJGWvu+n1X6b4AIQMHQqEhKRSPBBK0f3bH1W33L347k6bg9dX4/OWqFmsQ8mEvh906nNTG5vL4y8WvKMw/OyDfS+tcyyf+/BGMPFvjMBXLzf88bJUH4OQoUGBkJCUkYF16gPCspeaAvGxgx07iyrAnW683DJBqJNHyfi+H/SLQ1/srtutphnbbLjOAXAo2jqoP1U4mzPv91vRsphweNuqhhevS/ExCBkKFAgJSZmdETRKgBThSuNPB+9ZfM9RnUWjCi6vwOMN8ZeZHHZNAJ/EYIlOfVX21Xn/PC/x8tufrE6kf3gYUaWzffqBd4zJuub5xMvwxrc9r9Lsa2TYo0BISMrERxAeelEKxZuDP53TbhB6k4QzD+MNX/zl+VZUTISjN91E2/rL93859dVTQ0IIgI7TvXXRW/OyHE+2rEjvlzFtfx9L7oZxwSXmM1sHVAT/95qHBtqTYY4CISEp800QkCIo/YP68t7F97ZtDlYJOLmsdbj9LVl4pwDGvl6C6yvXr/hwhTqtaIY+o+TmkounXwzgF1k4NT5XNg7E8EBdH8vvRsbFj1hOa12bKfjdW+6Hl8jNDd3sQkg6o0BISGoowP9CwKEXEK4CkGfJu25O6yO0nRHMP4QdEQBggAeceCYvqeljOnXW389a+sbSmBQDoOE0q65YNS5zXOLd/xbFl2cC8HAdXvH28SjdsF/6qLnNQHvhyNbqX00Ofvuv1B+JkIFHgZCQ1NgTRV00gtL4QhO/PunXiebg5wGceAiVAgDoGLxegAedfTxKTIpd8c4Vqw+sVqAAcFlcu1buWlCwoG0eA4MXcuNpBbi2EvVSx5L6K2P5IxnXPs9q4x1iFTHq+cuNdY+eIQebUn8wQgYSBYtbvpQAACAASURBVEJCUuObIHDwebU56LK4EgtN3FqDM4/ER9lncPh0NC6zdVNMd97a9ZbjMcfrO19PbPni6i+Ks4o75rw+C4tNrS8XHYovFJxa5oWXu54+bJy7DIi3QKMHNlTfMTG06b3UH4yQAUOBkJDU+Mofwb54c/A3S35j0BgU4DY3nmmErABAkQbrxuIkU3eFdMUb8d7035sufedSf9Sf2HjBlAsmZU/qapd3C1vT+6NYmPKRhQAARqPPuvGVrJv/xeriH0wRIo0vXN3wzHIlSrOSkuGBUZQB+KHYV6IoGgwGQRCam5stlv6upkZSiM5Ij+z//j/f1tsB5FgLjty6n+V0N1bjlZbbhFk8do5HXvdLK3UmGAue/MrJm6s3J7YwDPPIKY+smLXCZu2hafm2D5dUIHGFX5PRZmLSVJPDfs8L14R3fZbYwurNWTf9Qz/1lIE6ZJoJBAJms7nnfGRQSJIUi8UMhi4XPmuLWoSEpEBJKOLb+4Savn/xvTFW98MjrVFwhg67ex8F9zXsm/D0BPMj5rZRcMGoBZtv2HzPSfewTM8X78U23OFofflKE04r610dkscarNm/eDfr6j+B16pb5Eig/snzG5+/ShGjA3VUQlKBAiEhKXD/2qcQrgZgMBWeM+Oak8uwOhB/6+oMbB4PZ9JRUJKlJ9Y/MeHpCROfnXjAc6DtWwsLFq6/fv0c15zkK/aHHBynb335RRDPNCa/d68ZT7zC9ViJpmB6Ykto878rb8qNHfpuAI9KSP/QrVGSFDoj3fiq7KtTXj1VnfP69CXP78u/8YgQf+suBx7NSaqQmBR7u+Ttn6/6uSfi6fju9Jzpa69b23ZNieTPSLOMrD0Q2lzo7xRgWV877CSp+ZOnvO89CLll8m+GsZx2k/3i34Ht/d3hYYJujaaVXt0apUBIkkJnpCveiDfr0SxZkQGA4e0XB72KFgDP4Lk83JDZw+6Hmw4ve3PZrtpdgiJ0vBh5lj9j3BlvLn/TrD36G7ZXZ+TZRvy8puWFAobBv4tw3gCfT7GurPahhXKbLjNcVqHjF+9q8iYO7IGHCAXCtNKrQDhif50RMgh8Ed8pr5wSj4IAxl6nRkEzi7cKsLSzSFMXrNvu3r61Zuv22u1fl31d3VzdMQ/DMAsLFj5z9jNz8npxF7Qbt2RhVxQvqk1NBgqwrBxP52FFT3G6P3jnmPxnyhv+uiK88W0oMgCpsdx9/zzL0tvsF9yHJJ5xEjI4qEVIkkJnpKNgLFj4f4WecMudzNwzsfgTAC4eq0Zjlh4AZEXeXLX504OfhmKhbbXbtru3dxr5VFpOOz1n+vSc6S+c+4K2pctJV/pwRq6sxD/azzJzbQaec0Hf1wlukiRU7a5/6kKpqfWD844xjtve551jB/bAg4tahGmFbo2S1KMzcpSwED7r72d9c+QbAGCA2X/GuJ8BGMOGnjTudDds2+bett29fXvt9lCsu/WQeJbXcTq9Rn/P4ntuX3h78hXo2xlZcujo5Zlm6/F+EYo0vS2pdxRJaHrj7uDXL7UO5mA5249+Yz37l63TwQ1zFAjTCgVCknp0RtqqC9ZNeHpC69h2+xyEKyD4Gd7Kih5J7m5CM7PWPD1n+qzcWbNyZ83KmzUzZ6aO1/WhDn0+I3fX4okGiG2u+2wObxbilD6N9O+V2MEN9c9eJgda+61qCmc6bnmDyxiw4Y2DiAJhWqFASFLvmD0jETFSG6itaq6qDdRW+avWVaz7/MDnjZHG5C8cm85m4A3nTjr39LGnz8qbNT5zfDJDAHvUnzOyLoSLyuEWW7fwDH7nxF2OrvdJESUW9ryyIrTp3cQWhtdYzr7Ddt49A37sAUaBMK1QICSpN4LPSDAWVONcpa9y1f5VQSFo0VpqmmtqAjU1zTWtjwCTwzP8RMfEWbmzZubOVJt9DtOAhJd+npEqAcvK8V243cazzHizENaB78US+v4/nr/coETb3KVlOMtpN9rOv5/RGQf88AODAmFaoUBIUm/4npGwEG4INeyo3bG+cn19oD7fku+NetXmXV2wrtJfGYgFei6lCxqtnWWYqHkKhCaHVvfiafefNeEsPa/vec9+6/8ZiSpYWY2/tF8rIpPDtvEoGOBHhgDkQGPDn6+Mlq5tt5XjDVNPNy64xDBzKaNN6issfVAgTCsUCEnqpeEZESShIdTQGG5sCDU0hBrqg/UNoYbGUKP6//pQvbpFXcC9zzhOw2izRCmGWJumIcPyE+988tTf3Ow0LT6EtSEAeLsQF1m7Kib1UnVG/tiIX7rbDbd38HirACcP/CNDAP5V/8/3/m87bmd4rWHW2Ya5FxqmnzlcIiIFwrRCgZCk3mCeEVmR4/EsHI9qdcG6RJCraa7ZU78nJse675OSPD2vz7PkuSyuHFOOJ+zJNmafPuGcg1zuOjl/Q8wkHX4NpY9BiqiZGd4we9rP7znp3ouyrACCMjL3IKaABWonI5tLSY2SksIz8k0QF1Wgvv0jw/+Xi1uzUlJ8D8S6soZnLhLc+zt9l9EaDDPPNh5/vn76GWkeESkQphUKhCT1UnhG6oP1dcG6+lB9tb+6Llj36cFPG0INueZcT9iTiH8p/Gep43V2vT0UCwmyYNaZTyo6acGoBbnmXJfVlWvOdVlcdr1dzSkDL3nwSQBfBNAsyTjyD+y8E5HaeEEMs7j4or+e9dj4zDGJwj9qxjlHAGC2Ht+PT1WVk5Laa6RCwLT98UUTEy6z4eV8GAdl4LsiRsPbPgp88Xx0/wagk7PPaA36SUsMx19gPO48RjcozdVeokCYVigQktRL8ozIiqzGOXfAXRuorQ/V1zTX1AXr6oJ1aqI+VC9IQo/lJINl2WxDdrYxO8uYlW3MzjZmO01ONa3+32F0ZBuzLbqeq70tgte9eKUJjWojs+5zbLsdvh2JDMfln/D0Wf+3qHDRUTve7sb/NQDAHdl4PBeDKeXXSFTBDVV4rf2I+1l6vFeIMT0M7k8lsfZAcO3fm//3mtJmlEVbbSLij9KqZw0FwrRCgZCknnpGRFmsC9bVB+urm6vVgFcTqKkL1tUGat0Bt7qldb6xfsg0ZKqxLRHYnCZn4qVFa8k2ZOdZ8/p5lMMx/NOH173YnVgmqHEDSh5E7epEngJbwe9O+d2VM69kOhv37diDBgkAPirqfEK1gTNA18iLHtxSg1ibb4UsDv8qwOmD+w2viLHwtlWh9f8K7/q0debuo7CcJneC7cIH9FNPZTSD0UGpexQI0woFQtJHUTFaH6pXG3PbarZtrdnqMDv8UX9Nc4272d0YbqwL1vX/KJmGzBxzjsPoyLPk5ZhzAtGAjtedNvY0h8kRD3uGLI4dwKdtjRLe8uF1L9aH2tyDC1djy/Wo+Sixwaqz3nvSvbfOv7WrXqB1InL2xtPNU2Ae3LkzB+4a6TjKkGVwrgXvFg7B3MRifVnwf68F170u+dxd5WENFv3MpcbjL9RPO5Xp0+wEKUGBMK1QICSdCwthtQ1XH6xX23B1wbraYK272a3Gv6ZwU8+l9MRpcjpMjhxTTq4l12ly5phycs25DpMj15ybY85xmpxabhBvtLVREcNfvNgYwufBdp0kIfi1+/4g739KFOLrJLAMe/1x1//2lN86Tc5uCvyXD5dXAMAYLQ4VD1zFOzeg10inowwB/CkPNw1KD5qjyWJ4+yeBb/4WKfkCXXeSYg1Ww6yzDcdfoJ96yuBHRAqEaYUC4TEqGAu6A+7aYG1dsM7d7K4N1tYH2zyiC9Q0R5v7eQiO5RxGh8PkyDPn5Zhz1ITT5HSanWrCYXLwabPgnE/Cjgi2R7A2hP80I9zhBptGiRVXvlCx42F/qD6xMc+c9/5l788bNa/H8q+tiq9B/1sn7usuYg6Igb5GIgpuqsbfOvw0KtTg1VGDNLiiI8lTGVj79+Dav0ueym6ysQarYfY5huMv0E85help+vJUoUCYVigQjkyKorgD7v2N+z858IlNZwuJodZWXaDWHXD3c8AcAA2ncRgdOeacPHOerMjNsebTx50+LmNcriXXwlhGO0Y7TI6UTA82QA7HsD2CbRFsj2B7BGWxznofAgywwKBMbnjny2/vLWtqXQJ+mnPao6c/ek7xOUkerrAUFQIAfDsW8we908bgXCN/bMStbsjt/44MgylaPJOHU4bqa1+Wguv+4f/oCbGhHN0+k2aNNsPMpYbjL9BPPXWgIyIFwrRCgXB480a8lf7KI94jFb6KTdWb1pWv03LaYCxY6a+MSbH+lKzjdU6TM9ecm2PKcZgceZY8p8npNDkTiWxjdlf7puEZiSooaRP2tkfg7WlgIc/gQgsuFtc/9dWd68rXJbYX2gp/fdKvf3rcT5MP86VRTNoPADYODZPAD/oKCoN2Rv7WhGuq249oUAAGAHJ5vFWIxUPXc1Py1QbX/zP4zd/E+rJ2NeuANdoNs8/RFS82zj6HMdoGojIUCNMKBcLhoS5Q9/mhz0VZ3FW368uyL7WstsxXVhuo7fMZMWgMOaacPEue2qrLNec6TU41oT6iSwyY64N0OCP1IrZHsDGMv3vRIMInt3/U14GGwRQdZuoxS4+xOszVw+fd88BXD7xd8nYiT6Yh884T7+ymR0xX/tiIW2oA4Hwr3i/sy8fpp8E8I1UC5h5CrYBOG19TdLjHgQusMA3VzQJFiR7YEPr2jeCGN5RYhwebHXCZozS5EzSuSXzeRE1usSZ/MmtOwZNPCoRphQJhelEUpdJfebDp4IHGAwebDh70HDzoOXjAc6B1EZ+kOU3OTGNmMBacnjN9rmuu0+R0WV0Oo0Nt1Zm1A3gRDv4ZkYH90dZbndvCqBZ72CWTwyw9Zuox04CZekzRQcsAQFlT2QNfPvDenveCLd1hABg1xlvn33rXiXfZ9H1pH5x0CP8LAcBzroFd570rg39G6iVccATfho++U6oysbjAih/bcboJ3BCtMCiHfKHN7wW+fFGoLGn/DtPpIP0E1pypyZukyZvI503UuCbyucV8VkFvj06BMK1QIBwygiQc8R054DmQiHZry9d6w16l24vwKDzHF2cWF9gKRllHOU3OQCywZPSS6TnTC22FgzObc6cG4YwEZOyMxCPftjB2RRHsdkQiA4zTYlZL2JupR2HLVNGiLO6o3bH2yNr1FevXlq+t8le13ZFjuatnXf3QDx7Kt/ZxGbyIAmNJ/KSWTkDxUPTYH6prpELAD8pwsOub9Dk8LrXhCjuOH7oJ0aL71we/+VtoywdHNxAZhgGjJDHUldGZNHnF8dCYW6zJn8w7RqPbjmAUCNNKrwJhunTwG6YkWfrJez95Z/c7HMM5zI4qf5Uo99RsaWHSmHiWL7IXLSpc5Iv4loxZMtc1t8helGkYivbFIIopqBNRKaBWRIWI1QGUxxCScSjW+Z23BCOLaTrMMsDJY7IWP7TC0uZeXHO0+bODG9aVr1tXvm5D5Yau1pQoshet+vGqqc6p/fkIL3riUVDHDE0UHEIFGhwoxpYwLqvE/mgnGWpFPN2IpxsxSYdLbLjCjvGDO15GESKMxqArXgSNLrrnf2LDESgtT48VRQFy7vtGDjYJ1XvF6r1C9Z5Y5S4lcvS/FiUajB3eGju8NbGF4TRcZr4mb5ImfzLnGK3Jm6QtnJlWU9uQPqMWYd/tcO+Y/fzsZCZSURclH585fnzm+HGZ48ZljhuXMW6AlqkbIL06IxEFNQKqRbhFVAtwi6gSUCuiSkStiLpkfyogj8dMPWYZ4jc8J2iPvudW6a9ce2Ttuop168rX7ajd0dU03BadJdec6zK7Hj/z8bn5c5M9fNdy96JWBICfZuClIVpcPR2ukSoRL3rwvyC+CUHq+oskm8NDTlxqR+bATJMg+WqFyhKhYkesfIdQuUtwH0A3v0c5TcFzNWjfg1QOeYWqPULNXrFqj1BTKlTt6Wb8frvCbLma/MmavIl8/mTBlGMtnstZhtN1PYLRrdFBMu/FeRurNrbdwjBMljFrbMbY6c7pE7ImjMscNz5z/LiMcclMd5nmjjojIRlVItwt0a5KgFtEtYgaATUimvq0LATPYKIWswzx7i0z9XB2uGEhydLO2p1PbXhqv2d/pa+y3FfeVWmFtsITi05cWLDwxMITpzmnpXCqmr1RTG5ZKeH78Zg9RLer0+oacYt424c3fPg21OVjAC2DpRZcYce5Fuj78xBRkcXag5HS/4U2vKkIEampWvLVdr8Ha87UFszQ5E1UOI3llOt5x5ju8wOQA41C9V6hplR07xOq9wo1+7ofuZjA2XI5Ww7DsvqZZ2snzNfkTeJsOUl9LpJSFAgHyX1f3ve7Nb/r9C2e5cdkjJmUPcllcUmydMm0S2bnzc4yDsmcHH3klbErAlGJN+YOBWNeTqvez6wS0NyP+UR5Bk4OLg3yeORpEJZhYXFNBqbpO/9+DMaCG6s2ri1fu6583bcV33bVyYhjuRk5MxYVLlpUsOjEohNHWUf1vYrdOvsIPm4GgLEaHJw4QAfpWXpeI0cEvOnDG15sjXSZx8ZhmRVX2nGSCcn0M1XEmFC1WyjfHivfKZRvj1XuUqLB7nZgWN45VlswXVMwXVMwXVswjctIQbNdiQQE936heq9YUyq49wnVe8X6w901PVuwRjufV6xxTdLkFqtdVfmsAqTxeNyRgQLh4Ll99e1PbXhK7mpS4PayjdkTsydOyp6k/n9S9qQxGWOGah4WQUGdiBoRbhFuETUCakVUi6ht2dhxHpbkaRk4eYzSIIdHPo8cHvka5PJwaZDLI4fv+euvprlmXcU6tbfL1pqtXT15NWvN80fNX1S4aFHhovmj5g9Cy7tehKsUogIA9zvx0KBPKJOQ5tdIaRRv+vCcp7s74fkaLLPiKjuOa/9lJYf9QsXOWPkO9W6nWL1X6XbFEkZn0oyaqo2Hvema/KmD8+hOEWNi7QGhplSsKRVq9kWr9sp1BxSh658AiQprDZrcCXw8LhZr8ibxzrGDNgPOMYIC4WDbUr1lf+N+X9RX2lC6p35PaWPpEe+RZJ4dMgxj0Vpm5MwICaETRp2wpGgJy7CLixbnWfq7rgIAr4QaEXUiqgTUSagWUCvGb2DW9eZBXaf0DPI0cPGt4S2/TdjreEuzR7Ii76nfozb71pWvO9R0qKuc+db8fEv+xKyJty64dWbuzEH+JXFjNV70AICZgXfKkI0TQNoHwoQvAvg0iPd8ONB1R9Px/kNLfTuXh/YXuXfwldvFhsPo9nuJs+fx+ZMZhtVPXmKYdS7vHJMODaxAIGA2GcWGI5E9X0f3fMPwWqF2v1izTw4nMVCK5XnnGI1rctsBjtQTpz8oEA69iBjZ17ivtKF01b5VGyo38Cx/xHukq36MHRk0hjH2MUX2IqfZ6Q/7J2RPyDXnmjTtpncUFTTL8MmIcqYgtE0ifDI8EvwSPDK8IgQAGjs6WzwIDA++iz8vZwCnB8BDYqKe0VbHBE6wKQGbHHMZtNkcsnloRK+Zbf1nExJCUbG1+6Aoi0dNauqNtBtA0i6/gu/d31f6K2sCNd5w+6XwWrAMO9U59cTCE9WW32j76C7/cAPsQBRTD8SXKFqRhedS8HOl74bdNbIljLd8eMuPw+0j4sNf3fGT7S91N86PYXnnGG3hTE3hDG3BDE3hDM46dC3xrnU1fCLRE0eqPxzvktNwpPtIr1J74vDZo3nXJI1rkiZ/Mmcb3EUvhzMKhGmqwldR2lha2lC6t2Hv3vq9W6q3NEVSsNrDiGTUGOfmz11ctHhhwcKFBQv7NuY9tb4OYlk5PBIAaBj4p/Svx0e/DdNrRAE2hvGWD2/74AkFH/9s5bn73jsqj8Bp92VN2uWYudcxI5g/I7to+uwM8zwjJuuSeqY4VJIfRyiHfGJ9mVC1R6zZK9YfFqr3CO793ayqkcAa7bxjtMY1iXdN1rgmaVyT+eyizn/sHvMoEKaviAJPONwUjfqafX5BaGxuONx0qKR+Z8mR1Yo+oyZS7Q2WyQwjyz0/Zhh5cs25CwsWql095+TN0XCanvcZLM824pfu+KNBBrgzG48O9U/z4X6NxGpKq/54BV9bqr5s1ln/M3HZ1ty5JdnT92VNFo5aq0sBGJhZnGDEfAPmGTHPgJw0GwXdnwH1Siws1OyL91B17xOr94p1h7p/MhrHMFzmKD57NJ+Zz9ldABi9ST/1VM6ex9ly0uGO8VChQDi4JKHiw6diYizmnBAK+aIhvxD0ySGfEvaxIZ+1vtQabAjqbbwU46SYSei2t1uLZkap5JVKXt6mUTboBJes4zS2AMeKLA8wBiHYZMhqMDpFrUnRmWQWDMcYGOhZ6Fv+b2DAMehqfUFBFrq6T5u4b+kJe0JCKNOQadVZLTqLJEkcFx+BYNPZ2k5ObdAY2k55w7P8UZ1Wus9f1lSm1+hXzl05IWtCMn+cQRZVsLIaf2n5Qzp4vF2AJUO0CFFbw+ka6SC89UPPX3+WeHhWPu+ae05+PMJqy4X4AM0eKAADHYtiLa624wQj5uhhHOrv/NTOLKNIglhfJlbvFWr2CTVqV9X9SrQ3K8ywvDpyg+E0+slLFIZhdGbD9NNZSyZnzeNs6Xh7OYUoEKaGoKBBQqOIRgmNEupFlMXwNx8iMsZocETA0tL37vt0hSnW38WP+o/RGriMfC7DxWfmcxmjuAwXl5nPZ47i7C7WnJp5atLhjAy+ahHLyrGh5QzP1uPfRa0TuQ2t4XpGZNH3/sP+j59UXzEafcaPnzCdeGXi/UoB30ewJYwtYWwOJxsXOQYTdFhiwjwDThiim6gDPsWaooiNFYlWo1C+UyjfpiRxQ7VTDKdlbU7OnsdZHZwtl7XlcFYHY7RDlnXj5nH2HEYzZBM6pgQFwh4ISjy2NYholHA4hi8DsHHgGDRKaBTRIKFehL+LXp+8Iq7c9H83bH7GEuv1rNkAYrw+xusjOovCaQS9leF1vCJp/TUwZekZhm+q4AwWlmUQCSjRYDJT6XeP0Rq4zFF8Rj6XkcdlFnIZeVxGPp85istwsaaM5MsZrl+7/fB9GBeUo7zl7tTldrzsgmGomx0Jw/GMSE3VjS9cHT2wQX3J54zLvunvmlHTutmlSsCWlri4MYz65Ho76xnM1ONkM+YbcIIRrkG5iTokc43K4WapqUpqqpa8NZKnPLzzM7m5kdEaJH+93Fzf8/5dYw1Wzp7HWh2cLZezOr5l7A37t3j09lLntO8nXSBnuHhOM06HDUEsNmGZFVkcsng4ONgHZv6g3hqCQLhp06bHH3/c7/f/8Ic/XLFiBdPh4W1jY+NDDz20Z8+eKVOmPPDAA5mZnTdTUhIIRQXlAnZF8V8/7BxkxAOeGvnqJfj6+BMKAB78+s5Ld//dGDv6DqfMct+OOzNiccFgVYw2zmTXGqx6k40zmEMxYXJuQYbZkqHVmk29/FCyKPnqFSmmRAJKNChHg5K3JnZoE6M1yGG/5KmSmqpET2XHmRKTwWgNfGYBl5nP2fO4rEIuI4+zu/isAi7DxRqPXrBpOH7t9sfrXlxfHR9MyTF4xIm70mzmrGF3RqL71jW+cHViFhjDzKWZ173I9nJpwERcXNWMbZHu5nVrK5PDHANOMcGlwXwDsnjYWGhS3cUk3SbdVsSo1FQTO7xVrD/EaPThbR/LIQ+jMQiVJRCjfW5KJkgMF+aNRjHo02V8WHx+vSmnweCoN+V4jdmKOVux5hqM5iwO2RwcPLI4NMuwc5hnQBYPJwfbAMfLwQ6ENTU1kydPfvjhh6dOnbpixYpbbrll5cqVR+U57bTTcnNzV6xY8dxzz9XX13/66aedFtXbQOiVsSUMj4hDMeyK4rMAwjJCSrxTQz9xDNSzmMUji0MWh+P2f3zuPy5pzcEwOOFSy4JL7dN+kILjAQCUaFCOhZRIUA77lFhYDnlj+zdwWaMAyOFmJRKQmqpiR7Zp8iZqRk1hDDbWYGONVrAaiGE5ElTCfinYJHkq1R+JYmNFD3NwdIHRGVm9RZFF3di5msJZfIYrps8wjyrmMvJZgzVVHzY9iQp+U4fHWn5MZ3J4swCnpdH3W9xwCoSK0vzF8763fxPv/cFy1nPvtP3wrv535UjExY0hbAzH+/QmSc/AysLOxeOijYNd/Y+FnYONg619wtxTZdMtEHZPiYUlf53kc8v+eslbLfkbJJ87uv9b2ecGr1NCXkXs1zLgAKK8vtGQXW90NhodjfrsjKjHp7V/Pea0Gkt+g9HZYHYZ9Ua1HakGy2wu3qxkFFg4zDbAwfX90e9gB8JHHnlk48aNH3zwAYB///vfd9555759+9pm2LVr17x58+rr641GYygUcjgcmzZtmjJlSseiehUI76jFE31q+rNAdktsy+ZhYuCWMEWLOYZ22ztOEFx9x0TJWwMALGc68Qrr2Xfw9lzRUyMHPOA4RqNVhKgSCSiSoIT9iizJYZ/UVC1W7+WdYwHIsRCEmBxphizJIa8caBLrDkBrZBRZCjaBZSEm0UksmQ9osDIGK2u0swYrozWC5xmFgSIrYkwWgkokqIT8UqBeifWlbyqjM6mtRs7u4rIK+AwXl5HPZeZzGaNYwzD5Xu5ao4RLKvBFSwN7hh7vF2JsWs74MVwCoRxubvrbytCWf6svWUt21vV/0U9J2W/HtqrF+E3UtSF8H+7jnLdd4Zh4RMzoECPVhF6I5Jj0NhYZHDQMXPxQzrfQf3LAI/lrJX+d7HVLzQ0Ne9dLu7/QihFAERitRo4xvVldrlNBjcltzm8wOmrMrgaj021xNRidblNenSmn1pzXrLUC0AAKoGcxRgMLBzMLK4e7s4+ejaijwQ6Ey5YtO+GEE+666y4AdXV1OTk5fr+/7SX62muvPf/88+vXr1dfLly4cMWKFVdccUXHonoVCDUl0EYDkxtKvIYMgxBmoDiDbgZyhDNoARsj6GNBB48iXskTfNk8HByssWYjJCMLRYhAiABQJFHyusWqEtbuSnyPy9EAJBGAIkQVG7DjzAAAIABJREFUtS+MIsthv1h/pGXYLwOmV4sMpjdOw/BahmHBMJAlWYgkM6SpI0Zv5jNHqd124g8mM/PVR5KMfhj8Uv4ogGXliLQ8G77IildG9dwOGCrDIhBGtn3c8PJ1iVv3ugkLsm78G2cfpJkI1Li4OYQ1IWwPw9uPWQP7xqyGyTbB0ta+0Wlvs9HGwjR0/9jUCTqCMtwidAxiCvwyJAVNEiTAL6FSwAteNIuIAZICVpEzww2jvWWX7vm7xz7GYjDaQg3WZrch2GANNWQEa63Ber3Yry4OEd5Qa8ptMmTaot5y6+jPxy4tt40pt42usBYyvC7S00Jqg70eYW1tbUZGvNuF+vDP7Xa3vUTbZlDzuN1dLnEiSdKcOXMSnfUvuOCC2267rdOcpzRXv/DX+VzLLJQK0PHnV8eNAuDrtLiq3V1VqTMDFwUZRqNjrE5GZ4ZGz0CW/Q2co4jNGsMYbYzWAIaVGo+wtlyAUSJ+hP1y2K9EmpWwXwn7lLBfSWY+p6NIgiIJ/f9ASiQgVO8Vqvd28qn0Ztaez2a4GFseZ89jM/IZWx5rz+MyR0GbFvNIvRbQ3NqoS4wUvC8jdocthhD68vR1UASDwY4P49NKbPuHwVdviv+oYhj9kusN5/0mzPIIDNIf1Qr8gMEPTPiVCQAqROb9IK9l0SgxFSJTIbFVAlMlsZEB+0UbkBGQkdSiFQAAnoGNUaysYudgYxU1bWNhY9slrIxi52BnFSursEBIYUIyAgrTLKNSZJpkxsQiJCOsMD6Z2RJjm0SmUCtvi3JhGTm8sl9gRSCDVWQFfpmRAJ/c/h9Sp1+m7ckM22B0Nhidm13zuspjFEJZ4XpnsDYz1JAdrj/58GfmWKBZa3WG3M6gOyfo1ond3ZTSi+EiX1mRrwzAmKaDS458kXhL4DT+R0rYbn9eq4FQkiS9Xs/zPUS6FARCs9kcDscjfygUAnDUD1Wz2RyJtH7gUCjUzS9ZlmVfeumlUChkNBoBuFyurm67v930ka/NXMydnrhB+55gwHCZBawlk9EaGY2O0ZsZlmeMNjnQKPsbtEWzWHsuo9EzWj2rNYHXsAYrGFYO+fisQtacyXAcY7Cn6taiHPLJYb8S8sphvxz2yyGfEvbLYV/Ldp8c8qpp9S1F7Gx91ZRSIgHJXSq5Szu+xTAsWE437TTD9NO1RbM1o6YOcr/tiIKb24wUZIA/u3BjphZIy1uiLRRFSd8nUors+/cjwY/+X3wiMYbJvPo506JObgINpsnA5KM7gQFAk4QqAUcEVAmoFFEeQ6WIKgHlAkKD24gUFTQqTKPMoH9TAXciGn/Sc7Cl5Cap62/HFH1vhjTGkKaowlqkvvzXtJ8k3rJzYABr1FsQdOeG3NkBtzNYmxOqyQjUZfsqHIEaa7BW0/X3kkYSYm/dnr3i9W6OPtgtwsLCwkOH4lMkHzp0yGAwOByOrjKoeYqKiroqjWGY4447LpnbPuYf/DTw1Uuyt1qR5e4mKuylGKcNaK1+rdWvt/q1No8xK6C1+XT2OnOuX5dhDzfyinDH+kc0UutJCuszdv3800VjJzr5wQu93WCNNtZoQ1ZBkvkVIdISLP1yyCeHfXLIK1aWCDX72axREKNKyC8EmphYIJEthbVVFBmSHNn+cWT7xwAYlmOzinQT5unGzh2EuFgu4OJybGy5hTNJhzcLMGN4D6AaYnLY73npp+Edn6gvuYz8zOtf0hefOLS16kYGhwwO0zo76Z62MVJAuYBKAVUiyoU+Ls9iYGFlYOKgZeJfvhIQVRCS4ZcHO+62xTGwsogqEBW4eGTxMLPQMLCx4BjYOTSK+DQARYGdw1lWWBhUxfBWy6TCp5twpwMsA1vL3V0rBzX2Gtj4ZIRcoNEQ8igRvxxolLweOeCRA41y0CM1N8iBRjkQ35LUfDqAbvLJKfz4KXhG+OWXX1511VXbt2/PyspasWJFMBh89dVXAbz11lvjx4+fM2dONBodNWrU66+/fsYZZ6xevfqqq66qqKjQajv5ud3n4RNyoFFqboiVbVaEKGRJbm4Q3PtihzYxOjMYVg565IAnmeVR+uOpBXc/M/9eB4dcHnkaOHm4eBhZ+CWcbkKBFi4NLOn6wKlH7c6IoqjtS6WllSmH/HJYfemXwz4lpDZA4+1OJezvcw80huU4x1jdhHna0XNSHhc/asaVla1dDX9sxwuuoXxO0yvp+YxQrD3Y8Nxlidvj+qmnZt34SsfROCNAo4RKARUCKgRUCagQcDgiuRWuoq8x0s4hX4M8Hlkc7CysHPRsPF6GFPgk+CR45daEp2UkmI6FiYGdg5FFvQgGmG1AJgcTCxuLahFRGaea0CADCuYZ0SzDwGC0FjomHq4yejOSQQHe8OGWajS2XDjmWGBnToMr1igHGiU1ngU96ndyHyJcVxhex2cXMaYMueGIadFl1gsf6j7/YHeWURRl5cqV7777bk5OjiAIq1evLiwsBLBo0aILLrjgjjvuAPDee+/dcMMNY8aMOXz4/7d35/FVVPf/+F8zc/d7s9zsO9kwEIgsQVldwKWKdW+tClbRilo/rfpp6aK1tv60ip/6tVpbtSoVVxCxrVaLFVER2XdCCFuAhOx77jp37sz8/pg7NzfJTXKT3CQ3yfv54IHnzpyZOTKZ+86Zs51+9dVXr7vuuqCnGtIB9TLvEO3NknpvROUOOZq9dSc8FQcZjU5iGNnWhJDfE3Z5kW7TRU35cVXvh5hYpGiQqkGSBvEcqgWcZ8J5RnAMivRI00ZEhTKoQd4R2eOSXOqLWX+909Equ9rcpV+KzWclV7ss9P0vz7AclzyRi07UJGRbLrxDm1U0sLgoA8804OE6KF9ZegYrU/DAaFo4ORIDobtkY9PflklOXyt81CX3xv7gKbCRMb566PmHT9R6cdANXu6Ikf7EwNojrRzStZigRboWGRpk6ZChQboWWdohnFhOcrRIjpY2W4vd3uq0t7gqS4zfvgHJK4OpMyXHu5u0oscouDg5zK9xGb2JkWVo9PpJC7RphZrEbEaj102YpknO79d4m5GZWaa2tralpaWgoIBlfWX1eDwcx/knqLTb7adPn87JyTGbe5yoMRKmWOspXkr2Jk/tcW/lYTCyzLBMt36Vb5734G/mPz6YS3MMWCBdg2IjMrTI0CKFg5fBbCNydGN9rQNZEmqOek7t4Y9v9xzfItSfRggLOoLhtGkFupxi3YTpvvqiru+f+yYRSyrxmdpjI0OLdZmYExFddvohsgKhLLdv+FPbPx5XusYwWoP1tufN824Z6WINq1DGETZ4cdbre8vqf92qJAYWI1kgUYM4dVxBvReyjLkmxGsQyyKKQ5sEj4QZRthEeCTJ6m6RHS2Co0VytLDOFq+jRets4ZzNWmeL3tWSVHMoytXq5bRGwc6EfdIxlgWn1Sbnc7GprCWOM8exljjWEs9a4rioRNYSx5rjWEtcuF750BRrw0LySs42oe4kf2o3Z44xFF7KxSQry74r67zXeVEtYLsLZTxiWNgkVHsH1QaQqEGqBnEc2iTMNeEqCybpka0bpjkVh/mOyB6X58x+z6k9/IkdnpPbxLb6kA5jOW36ZF3WdF22Ehendo+Le1z4XmXHkngLzXgvM+LWMQhF5DwjsuBuefOnjm1rlI+cNT3h/nd02TNHtlTDb5AD6uu8Hb11qrwBTZIC+BC+pONcTQnO+nPr96XZqtr1MVZXU6y7Oc7VVFyzw+KxuzhjkrOOk8M6sjKAxprGRiexlng2Kj4wwrFRCZwlPrwRLkQUCCOXXUK1gHoRNQKOefC5HSYGdSLK3AAzkDBpZDFJh0l6FBowSY/JekzUQTcEdceRvSOircFTvluJi0L5DinEqQBYjTZtkm7CdF32dG1aoXbCtNecUT+p8a2sywC/SMSTSaN11HOEPCNi89nGvy7xnN6nfNRPnBt/31uRuXBuBxFdu2V2acIWgMCHUQK6NG8Fy8/zvF6vBwAH0AYk9NzvWNdzN/dgU7rXyqgW3XX2hua2Gru9QWir9tobte21JkdtvKshxVaT4GrQioOdCKYLmy661WBtN8U5DVaXKU6SpGmnv3boLHzyxPyZl8cnZjKmaG3yRNZsZTT68F46LCgQjlZuGfvdECSc9aJaQKWAvS4c4sECNgkhDvTTMMjToVCPSXoU6jFZjwJ9GEaFR9AdkWX++FZPxUFv3Un+5A7v2cOyFGorRZ05+f/mPbYh/2qNKeatDCyOjP+hgYmEO2L/ZnXrml/5p/GzLLw79uanmUhaSBIAnEAdUAecRuQOCwVEb4PkaRCFOtFTJwl1olArCg2ip0YS6kWhVvIGH//cLzLg1kc7LIm80eoxWT0mq2yyek1xrNnKmK2sySoZo5wSk5s1MdocG6vlImT67IGhQDgGSeqbk2Me/McGANUCSnnUhhACGCBLq8ZFAybrMVmP+H7+iEfsHZE9Lk/FAU/5bs+p3fyJHWJLH/2VAHg5HVd4ScLsGwzTFo/eaeFG/I4INcdqfztLGbjEaPTWJX80X3B7XwcNCxloBeqAWqAOsPV9xDCQJZeohDRPgyhUi0Kj6KmRPHW+jUKDLA+qUyWrieG0KZLkYhitPmo+p0tltXEsZ2UYFqxBZ5rCclZWa0UUAxbQA3mAFYgBImBxzaFAgXAcaRVx0oPDPEp5lHtw2I2jnpCm5LdyyNWhUI8pehQaMKWv5sYIvyOVAva5sd+Fk4210uk96ZW7Z9Tumla319zD+sMKRmswFF1mmnW9cdpiRj/KesuM+B1pfOk2155/AWA0+sQV/9bn9TjDyHDwAo1q5KsHeu+AzHZ7A9nlHaYWnR6G0PLz9jrW2yw6az21ez2NB7ioeMnTJjprJHeD6KqRPIMKyAyrY3WJnCGF0ydx+hRWn8zpEzljGqdLZLkUTpvEsAbIgBsQ+zmsWgvEALFALBAFGIFkYDTXBRUUCMc1j4zjHpS6Ua4GyFI+pIFNegZ5OkwxdETHSbqO9rOIuiOijOMeX+Tb68Z+FxqDdQLgZHFiU9mM2t0za3ctOvNFoq3HyiKjMxrPvcJ43vXGou+E0u80EozsHZFctqqfZigTx8Td+VfzvJGYNcYGNKvBr7Fzq14gDZAIpABJQPIg5guSZdHWILXXiy3VYnuD2FIltteLrTVSW73YWi221Q9yhibWbOViktnoJC42hYtK5KxpbFQiF5PMxaZw0UmspT+DewTABtgBG3AGcAAs0BpygGSAKDU6+mPkaJtlggIh6USQcdKDUh5lvO/vMh6O0DrmZGgxz4TJemRLrhmxxkl66Eeia4lNwiE3Drix341tTpS4+3iiDQymGjDDgBlGzDCgyAAzC2/jGec3b/KndrvLNkMSg8+oyGo0CVkxN/zOOP3KyOwC4Deyz0jL6p/av3kDAKM1ZPy1dvALKoWqVW3wqwB66TKlVGuU4JeAULtWS6JoaxBb68S2GqmtTmypVkKd2FYnttZI7Q2DGRLOaPRsdKJvRfjYVDY6iYtOCviYOBw/bx7ABlQCDkAEWoG2vmrPfhpABFhgFlA0tMUMCwqEpA8ycMaDMg9K3SjjcYRHKR/SWm4cgxytr5VxstpVNXoIvgMrBBxw44AbB1zY78ZJTx+RL5bDdANmGDDdiBkGTNZD03PAFtvrnTvXO7ev8fd17I41xRpnXm06/3uGSRdG5pDwkXxGZOnsfUnKbEExN/w2evHPh/BaItCoBr+6XoNfLJACJAPJQA+LZsqiILXXiy01YruvGie21khtdWJbjdhaJ9oaBrbuioIxRGmsaWxMMlgOvEM/ZZE2KZ+NTeaik7mYZNZs7fsUI8INtKpBUak+9jlnpQm4dZhKN2AUCMlA1Hs7ao2lPLY64ArtRyND6xu54e+qmtTPYXkeGaU8Drix3+WLf31GZS2DC82Ya8QMI6YbBrhkoLf2uGP7Wuf2td7GMz3lYaMSTbOuN51/gz5/zvDVe0Iwgs+I49t3mv9+HwCwmvQ/V7L6cHe34AO6ujQCvfwwmICJavALVqES22qFyhJP5SGh8hB/5GvRNqAlTFWsJY6LTuZiU7jYFC4mhY1J4WKSudhU5W+HR4zcadD7RQTagXqgAWgBbIC725vnS4CckSldiCgQkvBol3Cc97U1HnR4j3o1IfbEieV8Qzim6JGrQ6EBk/XB306d8aD4JJrFPn4B1TCYrMc0A6YZMN2AaQYkhnEIvCzzJ3c4t7/v2L7Gv3Jed1xchmnW9abzv6fLnhG+aw/cCD4jNY+e5605CkA/5eKkhz4Kz0nrgWagAagDWnvOZlDDXjKQ0K1Ph+QVao/7Il/FAU9lidSvyMcwXFQiG53EWdO46ETOmq68vWRjkrjYNC4mqfe3l6NrhfoOMuAA2oF2oAJoBTjA3m3oZBe3ApHdvYwCIQk/5Y4IMioFHOZR6vb1xDnChzQPgI5BfkBPnFwdphhgYHBPNf7WHCR/LOcLe0rkm2IYjrZJ2euxbXiBL9vMn9ze2xTtGp1h4vz4e98Y2ZddI/WMiK111b8ogCQBSHzwQ8PUSwd3OmATUNHru7iYgAa/ztN3S6524WyJUHHIc/aQUHFQqC7rc259RmfSpk7kYlJZX2UuiYtN46KTOGsqG500mEGQoyAQCoAdOAs4ABloB2yArdc6d3da4CogYajKGC4UCEn49XRHRBmnBJTyOOLGER5HeJTxaA8hNGoZTNQhkcNmZ9fvwCwt7onDMitSR2jmM8nV7trzL8f2tfzRLb1MeapNLUh46B+auIzhLJvfSD0jbesfa//PcwBYc2z68xUDP5EMnAB2At2XMWeBRCBJbfML6K/obawQKg8KlYdcpZs8p/fC20fvFcZg0aVP0WYWabOKdJnnatMLh65XcKQEQhlwATbAAdiBCsAFMEBbP4dV6IDogD9RgAmIGapShx0FQhJ+/bojZwVfUFTi4mEeDX0N/GcYdPlJZIFFFiy34vro3nq+DCmxpcq5Y51j+1rh7OHgOVjOPH9p7I2/Zy1xw1u0EQuEza/e5dixDoB5/pK4ZS8N8CxngZ1Al5cBZmAykAIk+t55yl5eqCoTzh4SKg56zpYIlYf8S1v0hIvL0GVM1Wadq82cqss8V5OYPWwtu8MaCCXABbQAdkACHIADsPXVpNoToxrt9AADZAOxwdtcRxEKhCT8BnlHmkQ1NLp9XXIqhOC/nnaPiGka3GbFPVbkjNyK8cLZEsf2tc7t74utNd33MpwuatHyqGt/zRqG74d2pJ6R6hWTlel7kn/z1UBm1m4EdgLVAVv0QBZwPmCEZG/yVBwUzpYof3trjvU1YoHRZEzVZxVpM4uUyDeC76vDGQhFwA04AHfnhBNwAa6Qxzx0ZwY4QKdGOyX+jcJJ5/tEgZCEX9jviEPy9VB9sxWH3Kjrq8roryBeFw3tSE2TLUv2r15v/eC3/tk1uzDPvinu7teGpywj8owI1UdqfzsbAGuKTf/Tqf4NLLED+4GjAS/oNMAUuLn/tH/2nFBTJkui7O5j+hXWbNVlnqvNnKrNLNLEZejyZ0fOcM9+BEKvGs+C/nH21VGlT3ogGjADFoABNEAWYAFGx1wR4dGvQDgWfxMgo4GZRbERxUbcFgsApzz4yIZ1bfjWGTy/BGy0Y6MdKRrcGINbYjB/+DutMaxl4d2WhXc7t7zZvPbXsqvrt7Zjx/swWOKWPBuZQw8Hz334SyVhmHxxP/4feeAgUBLw1o6FmH7Wwa9z/PNNb93JHg9kGE1Cti5rmhL5dJlF3Ai1yPaPB2iBb8IzJ+BWw5s/Mfi1bFnAAEgAC6QBMYAFsAAmwDiI2XPGK6oRkpAM2x3pMyL6FRvx8wRcHz0yk90A8JTvanzxFrG961qJhimL4pf/fajf0Y3IM9Lw/Pfch/4LwPrD5y0XLuv7AB74FqjsqOJI3hYn+09n4/v8qW1BOiLpDLq0Qm3WubrMIm1mkS5jKmOIgO4nXfCAK+BFpRrtRLvI8RzcYYpzxmB/TIABMIyvut3A0KtREn7Df0dKeaxrw/ttKO21OSSBww+t+JEVk0foDZlz14dNr97VZUYSTWJ2wv3vajOmDt11h/+OyF5P1U8ylPEJqU8d1CRm93HACWCLLyrIksvVssFpe9/d8LncZeU8TsOZrbrc8yzfecCQd/7IV6bdweKc/72le0C9UbrQAAY1qhmDJSLlde8oRoGQhN8I3pHDakQ80mtEXGDC3XH4fjSMwz/9i8dV/eh5YlOnsQSM1mC97XnzvFuG6JrDf0fsW95seeN/ALDG6PQ/n+0tax2wHWgAJK+98R2+fbO7dYPk7fwmmdUYCi82zb7JNPNqJuxz0/REVuOcq4do130KlQFgA+atVt5Vdgl7EbZi45hEbYRkTJmix5Qk/C4JJW683443WlAZrCvBFie2OPETFjfH4t44zBjOyfJ1xrSVJULtsaYXbxVqjynbZMHdvOoez4nt1qXPgh0LD5qgTs3KJUzoMZMN2AmcguAsdTS+Z69bJYtdW1J1ubNMs28ynXdDmBey96jdKZUOlrwa83j1oz0cLy0BaNXw1vmPS3YZ440w0tfq6EM1QhKSiLoj/7bhPzZ84cDRnuuIM424x4pbYhE1jBVEyWVrfn25a/8ngRv1BQvi713NRSWG91rDf0fqn7qMP7kDQNzdr5ln39R1twAcgrirzln/gbPxPY/jYJf9muR88+zvm2bfpEnO69+FhYBmOX9UawPqAQ5g1S2Dr8kp9AF1uKCJHt7dRsqAegKAXo2SoRCZd0R5a7q2DWU9REQdi6ujcK8Vlw7bF5Qst2/4U9uHvw/sCcIaLHE/es04fXEYrzPMd0R226semCCLAhgm/f+dZKMCptiSIR9xuT77xFG1xt26qUu1i9HoddkzYm9+OvigQx5oBWoBG2AEGDWqBYa9wbfJBdKoy8/631V2+TPQ35woEEYUCoQk/CL8jux3+9oRT3iCZ4jjcIkZqzJgGZYKonPPP5tX3ddpuCHLxd/9mum8G8N1iWG+I66DnzW+8H0A2sxzUx7b4tsqS/y2Ha5N/3BUvS8JneaJYTR6Q+FC07xbjHnfZSStrwVO+duhpp1hDXLagJ4mBvXvwD/KliHrY0yBMKJQGyEZd6YbMN2AJ5Oxz411bVjThlOdI2KziHXtWFeKm2PxbsbQfRn6mIqv06ac0/iXW7315b5Nktj0tzs9Zw7E3vDYyHeM7D++7GslYZh8EQDJ1tj0/G18xW5Z6lwZZxh98jxz5i3GhOtYTzQOAvsHfW2NGsOMAeFNB/BAHBCtbomgNbLIKEM1QhKSUXdH9rrwfjveakV1t541s0z4KGs4ZvSWnG2NL97CH9sSuDFcowyH+Y7U/n6+UHkIQOJ33ufrdrbvfxaQAqtXGuNEc8IPTAk3a/RZ/TivFmABL6AB4oCUYJW5UfLrOtUIIwq9GiXhN3rvyG4Xnm/EO22dpjY1MHglHT+M7fGosJGlhuducB/ZFHh5Li4j4f53dROmD+bEQ35HXEAT0ATUQjrVXLU7V5nIRKNL9no6JlxlWK05cZk58WadZVbw8zCADkgATGpnE3/CPGqCXCgoEEYUCoQk/Eb7HXFLuL0aH7RBCvh5v8yCtZmwDv17StfBDc2v/khytfu3DH6UYZjviAw0AJWACDQDTZ1WR7JV/am18rfdjmFN1iutE19n9SZEAWY1thkD4lzPfSzHHgqEEYUCIQm/sXFHWkXcXInPAlahN7F4KwM3RA/5pb11Jxr/cqtQXRa40XLhsgGPMhzsHRGAFrXO1wS09DjGTpZdZ3dlQFJeMcsAw7Da6IxHolJ/zHzHgAxqnPOhQBhRKBCS8BtLd+TNVtxTDXfAsLPro/FWBsxD/IUuu+1Nq+5x7f04cCNnTU35/U7W1O8FTwdyR84AZUADAIDva5lWLRAHKaq97uMF3rbT/s26qPPi81/XxGXjGmC4JoQZFSgQRhQKhCT8xtgdqfXiujPYEfD2L5bDh1lYONTf7LLU9tHT7f9eGbjoIhubnP5MWX+7koZ6RyTgOHAEaOwrpx7ggAwgE4gHoiG2VDU8/73ARYnj814yJS6BAfg+zYfZFQXCiEKBkITfmLwjf2nCg7Xwqk8AA9xhxctp0A3x6ArX/k+aX18uBazipEnKTf1D/8YZ9H1HTgDbel7BlQVigTggXv3TObAJZ0sanv++sgavgmF0GbMbYQCuAYb+ZfKoQ4EwolAgJOE3Vu9IuQdXnsaxgEGHWgZf5WDeEC92KNQeq3/qMsnR4t+iST0n9f/bHfoZerwjdcC3QFsPY9VZIAWYit7b9txlXzf9ZYnSu4dhOVkSAejM05NnbMYPaA2g4CgQRpR+BUJq5ibjWq4OR87BI4kdT4IgY8EpPFoftqkrg9KmnJP82DZG1zE1uLfmmP3zvwzqpHuB14GPgebOUZABEoCFwB3AncBiIKu3R9+xbU3jn270RUGDRZfoGxdhTroDiygKkjGIAiEZ71jgiWQcmNgxPbcs44l6TDmGM8GWuQgXTVxayu93MAFNg63/eFxsqR7Iub4BXgf2du7/wgCJwGzgLuA6IC+kQXu2jS81r7pH9noAcLGpyQ/9R2g+oezSX7gA/RkrT8hoQYGQEACYqkfjZCw0d8yVUuZB/lE802cfk0HQJOYkPPRP/0fZ46r93VxI/VkrSAT2AEc7h0AWOAe4A7gWKAr5VJLY8vb/tq75pdKRR5temPzwFzihlYQmAKwuQTt/Yj8KRsjoQYGQEB8dg0052JOHNLXm5AV+WYuiE6gJyzp2wRgmXxTzvcf94VdytLR+0H3oeg9OA28D+wK2sMB04E7gwv6NZJd5Z/Wvptq/es1XqsKFSb/6nDNn8Pt888MZcheAHeopWgkZGRQICelkhhEnC/DDgKlAS9zIPoq/t/R8zOBEX/Fgwv1r/B9t//1z0yvL+jimEaYNJmwE/C9vWaAAuBPoYaazXojt9fUrLxch0mmgAAAgAElEQVSbfR1EzfNuSXjgA9YYhYPgW7YqG/UzFvT7vISMEhQICenKwGB1Or7MRpxaNfTIuLMK88vRGt618VTG6YvNs7+vfmKcu9ZLztYec1cB/wTXFlDjmwEsAy4YyKW9tcfr/3CJp8K3jq5h6qVxy15mOC14oBS8bZuyXV8wbyBnJ2Q0oEBISHAXW3D2HPwgYMqXrU6kl+FjW8/HDELc3a9r0wr8Hxtf7GEaUiewKeBjOvA9oHiAy+x5ynfVrfyOt/EMALCcdelziQ9+CIYBgAPwth8XPTUAWLNVm144kAsQMhpQICSkR0YWazKxPgsmNcw4ZVxzBkUnhuRySY986Q9o/LFvW9f+umuOFmB9wBh5A3AlMNA1NFx7P67/43clWyMARm9K+J/3LBff5dvnBo6At32rfNJPnAeGvivImEU/3IT04YZoVE3CBQGzr5W4MfFY+C/E6i1pfywD43vnad/4UqcXpC7gIzUKsnAtcGHpwK9l2/hS40u3yR4XAC4mOekXG4znXtGx+yAgwN3u6ymjP2f+wK9ESMSjQEhI32I5bM7BS+kdW054kDMEsZCLTY25/jdKWpalhv+7yrfDBXwS0DVmPrzpA+3JKsttHz3VuuaXkCUAmqTcpF9s6LQ4ohs4AgB8u9pTpoB6ypCxjAIhIaG614pPszs+nvbg3OPhv0r04p+ZZ12vpD2Vhxr/citqgXcApXLIAOcDBb2coDeSq73uiYvaP3pK+aifODf5kS81yXmdMh0ABHj5M6LnLADWGKXLDH00IiGjDwVCQvrhSgs+z+74eIjH803hv0rcPW+wRt+01q59/+bf3dCxbxFw7kDPK4m1j87ynPHN7m0qvi7xf//Fmq2d8riBMgDg1feiuvw5/V0Zg5DRhQIhIf1zqQX/Cphp7MFavNwc7mswTPyP3/F/qi/9gSS0AEAUkDPws9Y9dYnYWqukTeffGH/vG4zW0DXTAd8LWN6j9pQ5h96LkjGOAiEh/XZNNNZmqf07ZdxXjcPuMF/CMPkifdY09ZNcd2gOzMAPBn7Chmeu9Jzaq6R12TPil/89SEdQl691EABvV+eUoZ4yZKyjQEjIQNwUjVcD+s7MLkd9uKdhS3x4o380hddT0yo9POBTtbz7c/cxX2DjohOTH94UPN8BwAsAorna23IaAKMzagP70RAyFlEgJGSA7rLiMnX5OYeE5DK4wrp0E+PWW1Lu9X+0ffliy9sPDuA83rqT9q9eV2IqAybld9uDt/m5fK2DAPgY9b1o/hxGoxvARQkZRSgQEjJw/83GNQGL48aW9Zx1AL6GNXslw3Ws9Wr/apVoa+jXOcTW2trfz4OkTA3HxP3Pe2x0YvCs23zVQSSAb/SPIKSZ1cjYR4GQkEH5x4SO2c08Ev4vXMs2CUAdAMTl/Clgq9z4wk3KKPhQyKLQ+PyNvvwsm/TwRtP0xcGz2oByNV0M/hj1lCHjCAVCQgaFBSrO6fj4TP8qbD3bD0gAYEq+idH4+3YynlN7an83D2JIDZLVD+R4Kg8p6ejFP9Pnntdj1sNqQgcxtkGoOw6A0eh1OcUDKz4howgFQkIGK0OHP6X60o0iVve8bkQ/qL03kQPzgtsC93jrTza+dnefJ2h65Q7J3a6kY67+Zcx1j/aY1Q0cVdMLwB/doqzNq8udFWR8BSFjDgVCQsLggXika33pn9cM+nRewKOmz4d16bP6iXMD97t2ree/+lsvJ6j/41XOXR8qaUZvir6m1x6nB9XJ2+KBXHovSsYdCoSEhMcrab5Eo4iXBjnE3t/QGAWYACD2lmd8qyMxvhZJ179+f/YnGUHbC5v+soQv+0ZJ67KLM16o8B8VBB9Q+5wJIDAQUk8ZMi5QICQkPK6KQq5aKXy4DvJgzuUPhOobV13WNMPkiwFAlhmdSdkou9qrHspt/MutkrNN2SLZmqp/NtG572PloyYhJ+nX/wXX6/gHf3UwDpgAydEiVB0BwHBafd7swfxPEDJaaPrOQggJzWsZWHQKAFpF/LERKxIGeiJ/IAw4Q/Tin7lLvwQge5wyGAYyAJl3uPb9u7rkC0arkwWPLHRUEDWpBSmPfctwWvSCB0rVtFIdPL5VWZVCmz2D0ZsG+j9AyGhCNUJCwmahGZP0vvTj9Rj48PpggVA/6ULW4psg21x8NVuwgLXEKR9lwSU52zpFwYTs5Ee/7nssfIlaHbQCEwCAP+qfWY0aCMl4QYGQkHBaneFL2CU8Xj+gUwiA8qaTBeI67Ym51rdUobv0y6jb/5b2x2OWS+7lrOmBeRgw1iXPpj59kNX1VZ/zBIyamOGbzS2ggZCmGCXjBQVCQsLpfCOmqSMOnmmEdwBNhQ3wNTBau7ZdWC7+kTa9EIDksvFb3mA0Oustz6StLNHlzGAYljFYLAuWZvy1xrKw78EVAFCi9k2N9S1qIblsvnGHLKfLpwZCMl5QICQkzN5WK4UuCb+u6//x/nnaurfgM0z0lQ8pSf7rV2XeCQAsl/zI1xmvtma8WG2946/osyKoEIJUBz0ntimTsekyi/wLIhIy5lEgJCTMphow2+hLv9AMvr+VQqeasAbZaTr/e5rEHACyo6X6l4UDLSNQAvAAgOiONQ473osWUAMhGUcoEBISfu9k+kbueSQ8WNvPg/1dXgqC7WU5TbxvXWDJ3qz08Ow3b+fqoPo14D7qn2ubGgjJOEKBkJDwy9PhArVS+HozXKFXCgVAmRatW08Zv6jvP+FPu0u+GEj5DgPKSsLRQJ5vm+xxCRUHAIBh9PlzezqUkLGHAiEhQ+LdTN+qFIKM+6pCPqwxoKdMsEUDARgmTDPN8a1Vb/96Vb9L5gVK1PT0ju8A/sR22esBoE2f4h+YQch4QIGQkCGRrsV31KUK32lFmxjaYf4RhD0sGqiIufZh5d2r6+AGb1Nl/0p2RH37agHyOzYHNBDSe1EyvlAgJGSovJHue8C8wNzyPjL7BBtK350mMUc7cQEASKJjy1v9KJMIHFDT0zt9ASjT1oAaCMn4Q4GQkKGSrMH5akvhER6toVQKq9VEX9OzaectVRL2Ta/IohBqmb5RWwfNQMAyipLb5jm1GwAY6CfSXNtkfKFASMgQWpfZkV5e3XM+BR/QZTTY2IlA2qnfYY0xACRHS/snz4RaIH9r5YROT7/n+HZlDUJGY+Cik0I9GyFjAgVCQoZQhg7XqwPTP2zrq6XQv1fTY08ZP4bT6nJmKGn3/v+EVBperQ4CmNFpj686CBinXRnSqQgZQygQEjK0VqX7gpoI/Lj3SqFXTYQ2OYx16fNgWACeykPeuhN9H1CidkmNA4yd9rjVnjLGmVeHdG1CxhAKhIQMrVgOV6ndR9e2wdZLpdAfCENbHk2TlGM89zsAIMv2zW/0fUCFmrB02ix7PZ7yXUqaesqQcYgCISFDblUGWAYAROB/eploxt9AyId6ZsvFdykJx7dvy4K7t6wy4FDTRZ32eE7tVla61yTnc7GpXQ8kZKyjQEjIkIvncIXZl363Fc6epkXzB6oQBx0ChqmXahImAJDsza7d/+wta4XaQKjrWPhe4V+DkKYYJeMTBUJChsPqTHVMoYyf1PSQSV2/qc8uox0Y1nzhHUqyadU9veU8pibMXff4h9LTYrxkfKJASMhwSOBwqdoy92ZLD5VCfxuhMdjeHpgX3OZLybJz/yc95vO/ks3vtFkWBf7kDiWtP4dGEJLxiAIhIcNkdYZv9lEv8FDQSqF/WDzTj9Ny0UkM6xts4d7/afBMQkC7Y06nPZ7Te5V1DTWJOVxcRtcDCRkHKBASMkxSNFikvpZ8oxWe7ktS+Ffxbe/fmePvf0dJOLe9C8kbJMchNcEBnRfc5cu+URLUQEjGLQqEhAyfN9VKoUfG/3avFPqHD+r6d1pj0eVgNQBkUXQd+jxIDv9Mp91GKPLH/GsQUiAk4xQFQkKGT5oWF6mVwldbIHSpFMaoif60EQIAqzHPu0VJNr+2PEgG/6r3Ezpvl7z8yZ1KkmqEZNyiQEjIsFqd3lEpXFHXeZ9/HH3Iwyf8LBfcriQkV5u3saLTPjGgG865nfZ4Tu+T3XYAmoQsTXwmCBmXwhMIS0pKFi1alJWVde211549e7Z7hhUrVlymWrZsWVguSsholKXDArVS+HITOjXo+ecX7XVkfFC6vPOhdpmxffJ/nfY1AUon1Ziur0bdHSMIL+j3JQkZK8IQCEVRvPbaa6+44oo9e/ZkZ2ffdttt3fPs3bv3sssue/rpp59++umf//zng78oIaPXG2qlkJfx68BKoT/+tQzktJaLfL9iOnd+0GmH/xLdVpWgBkJCEJZA+Pnnn3s8nhUrViQmJj755JPbt28/evRo92y5ubnFxcXFxcVTpkwZ/EUJGb1ydZij1sxebAx4D+qvrg3ouYz+7q+UgRcS73AdCFiPol5NJHc+QPJ6TmxXktRASMazMATC0tLSGTNmMAwDwGKxTJw4sbS0tHu2xx9/fM6cObfffvuxY8e67yVkXPGPKXTLeNQ/1N3fR8YQ5JA+cTFJmuRcJW3f9HLHDn8g7Fwj9FQclFw2AFxchjJPGyHjU2iz3APr16/vvnHGjBm5ublNTU1RUVH+jbGxsQ0NDV1y3nPPPWlpaQaDYfXq1QsWLCgpKUlKCr74pyiKVqtVlmUlsi5duvSpp54KsZBk6DgcDuWOkLBIBYp1xt0eDsDKRvzKYmcB1sOaYAIgCZLT7uz9DEHviP6qh72r7gLAH9lsa21mNDq2nTU5TABkTnZoHbB3ZHYf/EJJaPLm2O12kMFxOBx9ZyLDRRRFj8cjiqLBYNBo+oh0oQbC999/v/vG6Ojo3Nxcq9VaUlLi39je3h4XF9cl50033aQkZs2a9c0333zyySc9dZnhOK68vNxut1ssFgBms1mn6+egKjIEZFlW7ggJl9VZmHICACTgN+2WF9I6drEC2+e/dvA7MvdG55v3yl5BlkTsfMdy+U9wxLeH0TGWqE753ad9Sy+ZCy82080NB3pGIocSCI3GkIYihRoI165d29OuvLy8v/3tb0qa5/ny8vL8/PyeMgOIjo52u3vrFWe1WjUaTWAtk5Cxp9AACwu7BAD/VeoS/paKkJdh6ophDVMucx34FIB909+iLv9Jx6m6zJ4mifyJbUqSGgjJOBeGNsLFixe3trZ+8MEHAF588cWcnJzp06cD+Oijj1566SUANptt06ZNgiCIovj222/v3r170aJFg78uIaPdE2rvlaM83FJAG6EMBJsoLRRR312hJLzNlWLzWTSqOzr/duqpLJGcbQC4mBRNUu4AL0bImBCGQKjX69euXbtixYqYmJjVq1e//fbbyvajR4/u2rULgCAIDzzwgNlsjo6OXrly5Zo1awoKCgZ/XUJGu/vjO9I/qwOYgLXjB9pmp88pNky5BAAkyf7VajQDABggsVM2/qg6xegkGkFIxrtQX432buHChadOnRIEQavV+jeuWOH7zTQuLu7QoUOyLHu93sAMhIxzGsDAwC0DwNut+EsqEK2GQDsQO8DTWi660334CwDtn/0pZtbPwehh7Tp/accIQnovSsa9cE6x1nuQYxiGoiAhXdyqRrt2ERICaoS2gZ/TOP1KaLQAIPL2+neBbkPpZYlXRxAaaE4ZMu7RXKOEjKQ/p3ak7zoL+LuIDSIQgtWYpl2lJF3NHwFdh9ILZ0skezMALiZZk9xb1zZCxgMKhISMJBPb8RB+bg9TIARif/AHZepRd/smr/skOg9och/9VknQFKOEgAIhISPuBnWl3FYpIBAOboA7F5dhLLgMAGS59cxvEN9pb8AUo/MHdRlCxgQKhISMsGfVt6MOCSX+Li2DqxECME1ZqiRcLZ/KztaOHbLMH9uqJKmnDCGgQEjIiMvSIkZdgOnPLnUxJjcgDOq0psTF6gMut338jH+7UFUq2ZsAsFGJ2pRzBnUNQsYECoSEjLw56lD6dW1hGEro06KJyXxYSdq+eMlzep+S5o/5GggNBQtA88cSQoGQkEjwI7UzS4sIt9pkONi3o82ITluhMxcBgCQ2vexbKJTvWIyXGggJASgQEhIJ/P1lAKzy1wgrBnFGAbABDBOd4asUehsr3KVfQpbdao2QFuMlREGBkJCRxwJ5el/6Hf+Mo+2DOGMzIAOAMe8q48zvKtsaXvie+/hWydYAgLXEadMmDeIChIwdFAgJiQg3qZXCvf6Oo4OZALFJTcTBuvRPDMsCkL1CwzNXKpv1E+eBocefEIACISER4ifqUD83sF15OzqYdV7r1EQ8uOgk3YTpAAI7xrDRwVfGJmQcokBISERI1cCiDqK4PQ/A4DrL+NsXzQCQ9MhX2pSJAbtZy4V3DOLshIwp4Vl9ghAyeNEs7CIAHFeaCT0AD+h7PSaowOUME3z/TXlij7fupFBxgDFF6ybMZC1xPRxMyLhDgZCQSPGDaDzXBAAy0MohVgRsAwqE7b6eMjACAf1RNcl5muS8sBSVkLGEXo0SEimeDFgj4j2lJjewMfX+njLxveUihCgoEBISKYwsMtR3NO8pMWxgzYTNaoICISEhoEBISAS5Ql19YpcFIgYaCAPGThBC+kSBkJAI8v0YX8LN4rNYqhESMhwoEBISQeaZOkb7rUwbUCDk1QGIXKeeMoSQnlAgJCSCWFikqM2ERw0DmmXNXx200vNNSEjoQSEksuRqfYk6Hc5o+18p9M9HQw2EhISGAiEhkeUHsR3pT2P7XynMBJKBGGBqWItFyNhFgZCQyHJLbEcz4VsJAa86Q6QHrga+TzVCQkJFgZCQyJLAIVddgGJbFFrL+3n8FmAVsC/cxSJk7KJASEjEWWTuSP+zX9Mg8kAZIAGl4S4TIWMXBUJCIs4FAYHwiWRACvlI/3tUS2+5CCGBKBASEnEuMHWkK/RwtoV8ZKuaiO0tFyEkEAVCQiJOtg5atcOMwODfDSEfWakmaCg9ISGjQEhIJLowoFL4Bz7kw+rVBNdbLkJIIAqEhESi+QHNhAcZtIfeTKjIDGtpCBnTKBASEokytB1pWcaSyp6z+gmAGwDAAjF95CWE+FEgJCQSLYkB6x9Xz2BDKCv01qgJHT3ZhPQDPS6ERCITiwkBlUKvjP3uvo7xj53o19BDQsY9CoSERChL56fzR1V9HeBVEzlDUBpCxi4KhIREqJs7D4HY74a99y4zdWqC1uMlpD8oEBISoa6I6vRRlJF3tNcD/GMnDENTIELGKAqEhESowm7xrEHsuVIoA6KaThyyMhEyFlEgJCRCGRgU6DttkYE/9DTLTOB2fQ95CCHBUCAkJHKlqv0/C12+xLONOBZ0ohl/n1JzsL2EkJ5RICQkckWpQwkrdZgjAoBHxs1BB9f7F7KnOWUI6ScKhIRErhutvgTP4IUK38r1+9x4raVbVn8gpDllCOknCoSERK6bo32PqMCiwIkpauPfM40Q5M5Z/Us1USAkpJ8oEBISufQMivQAIAOHGHyWATMLAMd5vGrXdcrqH0RIgZCQfqJASEhEm270JbZbkObA75N8H3/TrK/2TyXj9U0rc9CIzBpwh2E4jDdau56KEBIUBUJCIlqM+oyuTgCO4yfxyNEBgBdIL4NTGVbYDgBvJ2DaNJz1QpLBy1h2FlefQX+XbyJkHKJASEhEm6bWCJs0wBHoGBQbO/ZefAo1XqANThY/zOt67L9tSC1DSejr+hIyLlEgJCSi3RDt6yzapIEAAFiX2fHc7nJhwlFssuHJdMjqWIvFUUhTByDWezHtBLp0rCGEBKJASEhEi+WQxQEAz+KoOlhenIrn4tzKgoWCjKsYPJPm23WJBZ9MwOkC3Kj2mpFkrOo+3IIQoqJASEiky1EnHX03BnD40ndFCS+m+hbvdTPwMgDAAf/KAgAtgw8yMUkdbvHberiotZCQHlAgJCTSHfX4Ev8vDWjq2H5fHA7m+/rOKETAUgrDYUw7gVsrcVsszBwAVAtYcnYYS0zIqEJLWRMS6VI51AgA4GWAJiCrY9cUPT6KR1FNp/y8jINuHHQHjLIH/t2Oei+S6IknpBuqERIS6d6f4EtoZXgbu+491tR1S1AC8EB1OEtFyJhBgZCQSJenRQYHAG4WJc6ue7fZfYlfiXAW4uV03BCD70ZhmgEmplPONe3Y7up6OCGEAiEho8Bctb/oNhboPC5wm9oLZm4MjCzusWJ9Jj6egP35cExBzSTMCFjgt5zGFBLSDQVCQkaBuSZfYltUp/4yghd71a6hs5O6HgUgRYO9+fgyF9MNuCUGt8YOcUEJGYWo6ZyQUaAjEFqAJkAdNbi3Di4GAPI8SDYFPxbAxSbsyx/iIhIyalGNkJBRYIYRygvOEwbUBYyO36am59HkMYQMFAVCQkYBPYOZWl96Z0CHl21uX2KuseshhJAQUSAkZHSYG+VLbGN8iy4B2Mape+NHoEiEjA0UCAkZHeZafIltFqACAKptqNQCgFnC1IQRKxghox0FQkJGh8D+Ml4HAGyo8m05zwMNF/woQkifKBASMjqkaaAMJuRZ/NsFAK+pE3DH9HQMISQEFAgJGTXS1GqfstZukzpxzMX64PkJIaGgQEjIqLHc6kuUyeAFnNEAAAMszR3BQhEy6lEgJGTUuFB9B7rNjMM1ep4FgIkeJJh7OYgQ0gcKhISMGjMMUIYLluvxRbvvPelcWnGXkMGhQEjIqKFlUKyGvS84NRDSUHpCBocCISGjyVx1KYlDagcZGkpPyCBRICRkNJmrNhPaOACIEjElcQSLQ8hYQIGQkNFkXuf63/kCOBpKT8jgUCAkZDRJ1iBb7Pg4l6IgIYNGgZCQUWZuwIpLc6NHrhyEjBUUCAkZZQoDltM+P2XkykHIWEGBkJBRptzTkaah9IQMHgVCQkaZ12aCkQEgSRjpohAyJmj6zkIIiSQsIBXBZrNFRUX1nZsQ0heqERJCCBnXKBASQggZ14Y1EDqdzhBz/vGPf5Qkmks4Uoii+Oyzz450KUiH9vb2l19+eaRLQTpUVVW98847I10K0qG0tPSjjz4KMXMYAuHx48eXLFkyadKk9PT0nvJ8++23eXl5GRkZ+fn527Zt6/Oczz77bOhRkww1u93+3HPPjXQpSIezZ8+uWrVqpEtBOpSWlr7//vsjXQrSYdeuXZ988kmImcMQCGVZnjdv3ooVK1pbW4NmEEXx1ltvffTRR5ubmx955JElS5ZQbY8QQkiECEMgPOecc+6///7p06f3lOGrr74SBOGHP/whgNtvv93lcm3evHnw1yWEEEIGbzjaCE+cOFFQUMCyLACWZQsKCk6cONFL/paWFlmWW1tbW1paeJ4fhhISQggZt0IaR1hRUfH222933758+fKEhIQ+D29razObOybAiIqKamlpCZqTYRiv15uQkCBJ0oQJE5TMVqs1lEKSoSPLssPhyMnJGemCEB+v11tfX093JHLwPN/a2kp3JHI4HA6Xy5WTk3Prrbc++eSTvWcOKRCKouh2u7tvl2W5+8buEhIS2tvb/R9bWlqSkpKC5uQ47syZM16vl+d5vV4fNA8ZEXRHIg3dkUhDdySiSJIkiqJWq01NTe0zc0iBMCcn5/HHHx9wgQoLCw8dOiQIglarFQShpKSksLCwp8xZWVkDvhAhhBDSX2FoI+R5fuPGjTt37hRFcePGjd9++62y/YEHHli3bh2AOXPmZGdnP/bYYzU1Nb/97W/z8vLOO++8wV+XEEIIGbwwzDVqs9lWrlwJ4IILLli5cmVKSsr8+fMBsCzLMIySZ/369Q8++OCCBQuKiorWr18/+IsSQgghYcGE2M5HCCGEjEk01yghhJBxLbKWYWpoaNizZ09FRcWFF144adKkoHn27du3Zs0ag8Fw++235+bmDnMJx6F169Zt27YtKytr+fLlJpOpy94dO3YcOHDA/3HZsmVarXZ4Czj2/etf//r666/T09OXL18edOmlw4cPv/POOyzLLl26tKcHh4TRxx9//OWXX6alpd19990xMTFd9u7bt2/Xrl3+j0uWLAkcP0bCSxTFo0eP7tu3z+Vy/ehHP+opz+rVq0tKSiZPnrxs2TKNpmvgi6wa4eWXX/673/3ukUce2bJlS9AMO3bsuOiii+Li4nieP++88yorK4e5hOPNE0888eijj+bn53/xxRdXXnll9wwffvjh3//+93IVTZ4Xds8999xDDz2Ul5e3devWSy65pPu/8OHDh+fNm2cwGDQazZw5c44ePToi5Rw/XnzxxZ/+9Kd5eXk7d+5cuHChKIpdMnz66acvv/yy/6Hwer0jUs5xYvPmzZdeeulf//rXH//4xz3luffee1955ZWJEyeuXr36zjvvDJJDjiSiKMqyvGDBgldffTVo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", + "image/png": "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ZuYIBEJZlufNm7d8+fLW1tagGURRvO2225544onm5ubHH3988eLFVNsjhBASJSIQCM8555wHHnigqKgoVIYvv/xSEIQf/vCHAO644w6Xy7Vly5aBX5cQQggZuKFoIzxx4kRBQQHLsgBYli0oKDhx4kQP+VtaWmRZbm1tbWlp4Xl+CEpICCFkzAprHGFFRcV7773XffuyZcuSkpJ6Pbytrc1s7pgAIyYmpqWlJWhOhmG8Xm9SUpIkSePHj1cyW63WcApJBo8syw6HIzc3d7gLQny8Xm99fT3dkejB83xrayvdkejhcDhcLldubu5tt9327LPP9pw5rEAoiqLb7e6+XZbl7hu7S0pKam9v939saWlJSUkJmpPjuDNnzni9Xp7n9Xp9OCcnQ4PuSLShOxJt6I5EFUmSRFHUarXp6em9Zg4rEObm5j799NP9LtCUKVMOHTokCIJWqxUEoaSkZMqUKaEyZ2dn9/tChBBCSF9FoI2Q5/lNmzbt3LlTFMVNmzZ9++23yvaHHnpo3bp1AObMmZOTk/PUU0/V1NQ8+eSTeXl555133sCvSwghhAxcBOYatdlsK1asAHDBBResWLEiLS1t/vz5AFiWZRhlcmCsX7/+4YcfXrBgQWFh4fr16wd+UUIIISQimDDb+QghhJBRieYaJYQQMqZF1zJMDQ0Ne/bsqaiouPDCCydNmhQ0z759+9asWWMwGO64444JEyYMcQnHoHXr1m3bti07O3vZsmUmk6nL3h07dhw4cMD/cenSpVqtdmgLOPr961//+uqrrzIzM5ctWxZ06aXDhw+vXr2aZdklS5aEenBIBH388cebN2/OyMi499574+Liuuzdt2/frl27/B8XL14cOH6MRJYoimVlZfv27XO5XPfcc0+oPKtWrSopKZk8efLSpUs1mq6BL7pqhFdcccWvfvWrxx9//JtvvgmaYceOHRdddFFCQgLP8+edd15lZeUQl3CseeaZZ5544on8/PzPP//8qquu6p7hww8//Otf/1quosnzIu7FF1985JFH8vLytm7deumll3b/Fz58+PC8efMMBoNGo5kzZ05ZWdmwlHPsePXVV3/yk5/k5eXt3Llz4cKFoih2yfDpp5++/vrr/ofC66UFlAfRli1bLrvssj/96U8//vGPQ+W5//7733jjjYkTJ65atequu+4KkkOOJqIoyrK8YMGC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", "image/svg+xml": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n" ], "text/html": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n" ] }, @@ -7465,13 +7503,6 @@ "source": [ "plot_graph_comp(Vert,CEdg)" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/src/connectcurves/subresultant.ipynb b/src/connectcurves/subresultant.ipynb index 70d51cc..c84cd53 100644 --- a/src/connectcurves/subresultant.ipynb +++ b/src/connectcurves/subresultant.ipynb @@ -9,6 +9,78 @@ "using Nemo" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "subresultants (generic function with 2 methods)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "include(\"subresultants.jl\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "1608439665285565803232304//1251*x^15 - 1297795047031106493568149616*x^14*y + 27683015945643545295611431440*x^13*y^2 - 86407846455606538783280976*x^13 + 3101555954382566913195498945328*x^12*y^3 + 5289494387977664333589393240*x^12*y + 53935757035480634503561949673600*x^11*y^4 + 14888434180536539977309638984*x^11*y^2 + 132571431253302115292123136*x^11 + 462837358969719715384097135958576*x^10*y^5 - 3410224622843501740604550919792*x^10*y^3 - 7354641254159812151335674844*x^10*y + 3165018522476623179028918949394240*x^9*y^6 - 45031116292621363989328436013360*x^9*y^4 - 85006570775082108402131665056*x^9*y^2 - 115292786706841839957190896*x^9 + 12827607512699632445580187463080624*x^8*y^7 - 224453213706240040739048696954232*x^8*y^5 + 745913093745769432422404810712*x^8*y^3 + 4356812740379517473026114200*x^8*y + 4251804851914997769306214853580720*x^7*y^8 - 672203958822197172732610607116752*x^7*y^6 + 4898402715552927605475811484880*x^7*y^4 + 53733019798096385511398418792*x^7*y^2 + 60038503306269383516796672*x^7 + 692542935539707714310917883786640*x^6*y^9 - 206444368279389060165796677665952*x^6*y^7 - 12493004136726939382465032981432*x^6*y^5 + 74886885224275167882851626960*x^6*y^3 - 1053745108158309073402553076*x^6*y + 89881054980958692169121080402032*x^5*y^10 - 47181934726325595685416882978576*x^5*y^8 - 213774579972935761882648535808*x^5*y^6 + 700721112865314842206753316280*x^5*y^4 - 7881617940706326540612401856*x^5*y^2 - 16865677220581290594690288*x^5 + 5840981120256583709477828251920*x^4*y^11 - 4096999286052207826787591868600*x^4*y^9 + 203432830752048945097765874736*x^4*y^7 + 90907609663610057598116292024*x^4*y^5 + 5663823046464683743731566012*x^4*y^3 + 74305257547257503105707160*x^4*y - 156840079355291684019189360384*x^3*y^12 + 433126298187886110621906595272*x^3*y^10 - 360511798765092965245629535392*x^3*y^8 + 100722980442141532760717214216*x^3*y^6 - 6036244459328381350035128880*x^3*y^4 - 97363997306557694713420056*x^3*y^2 + 1850003538678786657657456*x^3 - 20554923500424430640961760336*x^2*y^13 + 52973743800686284846007615184*x^2*y^11 - 47419181322093137881626400300*x^2*y^9 + 17449407647144104782658688864*x^2*y^7 - 2466612466866597688408155996*x^2*y^5 + 125623297897583180840891248*x^2*y^3 - 1723513737447749211812012*x^2*y + 193384233601848353806297920*x*y^14 - 809466282114237935430328176*x*y^12 + 1320697319143637236969109712*x*y^10 - 1051412471113453651285125840*x*y^8 + 415366877662184932782898992*x*y^6 - 72497158541235345143975280*x*y^4 + 3984871237924403688874992*x*y^2 - 32144769403583975845728*x + 24821495574115978422083344*y^15 - 107319055768171943813388712*y^13 + 185446357383222499539056664*y^11 - 162625711514366988638249600*y^9 + 75774213346177911027001176*y^7 - 17895854908220937120504384*y^5 + 1866612999054155602814920*y^3 - 67150823250460422656216*y" + ], + "text/latex": [ + "\\frac{1608439665285565803232304}{1251} x^{15} - 1297795047031106493568149616 x^{14} y + 27683015945643545295611431440 x^{13} y^{2} - 86407846455606538783280976 x^{13} + 3101555954382566913195498945328 x^{12} y^{3} + 5289494387977664333589393240 x^{12} y + 53935757035480634503561949673600 x^{11} y^{4} + 14888434180536539977309638984 x^{11} y^{2} + 132571431253302115292123136 x^{11} + 462837358969719715384097135958576 x^{10} y^{5} - 3410224622843501740604550919792 x^{10} y^{3} - 7354641254159812151335674844 x^{10} y + 3165018522476623179028918949394240 x^{9} y^{6} - 45031116292621363989328436013360 x^{9} y^{4} - 85006570775082108402131665056 x^{9} y^{2} - 115292786706841839957190896 x^{9} + 12827607512699632445580187463080624 x^{8} y^{7} - 224453213706240040739048696954232 x^{8} y^{5} + 745913093745769432422404810712 x^{8} y^{3} + 4356812740379517473026114200 x^{8} y + 4251804851914997769306214853580720 x^{7} y^{8} - 672203958822197172732610607116752 x^{7} y^{6} + 4898402715552927605475811484880 x^{7} y^{4} + 53733019798096385511398418792 x^{7} y^{2} + 60038503306269383516796672 x^{7} + 692542935539707714310917883786640 x^{6} y^{9} - 206444368279389060165796677665952 x^{6} y^{7} - 12493004136726939382465032981432 x^{6} y^{5} + 74886885224275167882851626960 x^{6} y^{3} - 1053745108158309073402553076 x^{6} y + 89881054980958692169121080402032 x^{5} y^{10} - 47181934726325595685416882978576 x^{5} y^{8} - 213774579972935761882648535808 x^{5} y^{6} + 700721112865314842206753316280 x^{5} y^{4} - 7881617940706326540612401856 x^{5} y^{2} - 16865677220581290594690288 x^{5} + 5840981120256583709477828251920 x^{4} y^{11} - 4096999286052207826787591868600 x^{4} y^{9} + 203432830752048945097765874736 x^{4} y^{7} + 90907609663610057598116292024 x^{4} y^{5} + 5663823046464683743731566012 x^{4} y^{3} + 74305257547257503105707160 x^{4} y - 156840079355291684019189360384 x^{3} y^{12} + 433126298187886110621906595272 x^{3} y^{10} - 360511798765092965245629535392 x^{3} y^{8} + 100722980442141532760717214216 x^{3} y^{6} - 6036244459328381350035128880 x^{3} y^{4} - 97363997306557694713420056 x^{3} y^{2} + 1850003538678786657657456 x^{3} - 20554923500424430640961760336 x^{2} y^{13} + 52973743800686284846007615184 x^{2} y^{11} - 47419181322093137881626400300 x^{2} y^{9} + 17449407647144104782658688864 x^{2} y^{7} - 2466612466866597688408155996 x^{2} y^{5} + 125623297897583180840891248 x^{2} y^{3} - 1723513737447749211812012 x^{2} y + 193384233601848353806297920 x y^{14} - 809466282114237935430328176 x y^{12} + 1320697319143637236969109712 x y^{10} - 1051412471113453651285125840 x y^{8} + 415366877662184932782898992 x y^{6} - 72497158541235345143975280 x y^{4} + 3984871237924403688874992 x y^{2} - 32144769403583975845728 x + 24821495574115978422083344 y^{15} - 107319055768171943813388712 y^{13} + 185446357383222499539056664 y^{11} - 162625711514366988638249600 y^{9} + 75774213346177911027001176 y^{7} - 17895854908220937120504384 y^{5} + 1866612999054155602814920 y^{3} - 67150823250460422656216 y" + ], + "text/plain": [ + "1608439665285565803232304//1251*x^15 - 1297795047031106493568149616*x^14*y + 27683015945643545295611431440*x^13*y^2 - 86407846455606538783280976*x^13 + 3101555954382566913195498945328*x^12*y^3 + 5289494387977664333589393240*x^12*y + 53935757035480634503561949673600*x^11*y^4 + 14888434180536539977309638984*x^11*y^2 + 132571431253302115292123136*x^11 + 462837358969719715384097135958576*x^10*y^5 - 3410224622843501740604550919792*x^10*y^3 - 7354641254159812151335674844*x^10*y + 3165018522476623179028918949394240*x^9*y^6 - 45031116292621363989328436013360*x^9*y^4 - 85006570775082108402131665056*x^9*y^2 - 115292786706841839957190896*x^9 + 12827607512699632445580187463080624*x^8*y^7 - 224453213706240040739048696954232*x^8*y^5 + 745913093745769432422404810712*x^8*y^3 + 4356812740379517473026114200*x^8*y + 4251804851914997769306214853580720*x^7*y^8 - 672203958822197172732610607116752*x^7*y^6 + 4898402715552927605475811484880*x^7*y^4 + 53733019798096385511398418792*x^7*y^2 + 60038503306269383516796672*x^7 + 692542935539707714310917883786640*x^6*y^9 - 206444368279389060165796677665952*x^6*y^7 - 12493004136726939382465032981432*x^6*y^5 + 74886885224275167882851626960*x^6*y^3 - 1053745108158309073402553076*x^6*y + 89881054980958692169121080402032*x^5*y^10 - 47181934726325595685416882978576*x^5*y^8 - 213774579972935761882648535808*x^5*y^6 + 700721112865314842206753316280*x^5*y^4 - 7881617940706326540612401856*x^5*y^2 - 16865677220581290594690288*x^5 + 5840981120256583709477828251920*x^4*y^11 - 4096999286052207826787591868600*x^4*y^9 + 203432830752048945097765874736*x^4*y^7 + 90907609663610057598116292024*x^4*y^5 + 5663823046464683743731566012*x^4*y^3 + 74305257547257503105707160*x^4*y - 156840079355291684019189360384*x^3*y^12 + 433126298187886110621906595272*x^3*y^10 - 360511798765092965245629535392*x^3*y^8 + 100722980442141532760717214216*x^3*y^6 - 6036244459328381350035128880*x^3*y^4 - 97363997306557694713420056*x^3*y^2 + 1850003538678786657657456*x^3 - 20554923500424430640961760336*x^2*y^13 + 52973743800686284846007615184*x^2*y^11 - 47419181322093137881626400300*x^2*y^9 + 17449407647144104782658688864*x^2*y^7 - 2466612466866597688408155996*x^2*y^5 + 125623297897583180840891248*x^2*y^3 - 1723513737447749211812012*x^2*y + 193384233601848353806297920*x*y^14 - 809466282114237935430328176*x*y^12 + 1320697319143637236969109712*x*y^10 - 1051412471113453651285125840*x*y^8 + 415366877662184932782898992*x*y^6 - 72497158541235345143975280*x*y^4 + 3984871237924403688874992*x*y^2 - 32144769403583975845728*x + 24821495574115978422083344*y^15 - 107319055768171943813388712*y^13 + 185446357383222499539056664*y^11 - 162625711514366988638249600*y^9 + 75774213346177911027001176*y^7 - 17895854908220937120504384*y^5 + 1866612999054155602814920*y^3 - 67150823250460422656216*y" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "R, (x,y) = polynomial_ring(QQ, [:x, :y])\n", + "f = 1594627541097114368612385*x^16 + 24126594979283487048484560//18765*x^15*y - 648897523515553246784074808*x^14*y^2 + 9227671981881181765203810480*x^13*y^3 + 775388988595641728298874736332*x^12*y^4 + 10787151407096126900712389934720*x^11*y^5 + 77139559828286619230682855993096*x^10*y^6 + 452145503210946168432702707056320*x^9*y^7 + 1603450939087454055697523432885078*x^8*y^8 + 472422761323888641034023872620080*x^7*y^9 + 69254293553970771431091788378664*x^6*y^10 + 8171004998268972015374643672912*x^5*y^11 + 486748426688048642456485687660*x^4*y^12 - 12064621488868591078399181568*x^3*y^13 - 1468208821458887902925840024*x^2*y^14 + 12892282240123223587086528*x*y^15 + 1551343473382248651380209*y^16 - 7416582067989458752697004*x^14 - 86407846455606538783280976*x^13*y + 2644747193988832166794696620*x^12*y^2 + 4962811393512179992436546328*x^11*y^3 - 852556155710875435151137729948*x^10*y^4 - 9006223258524272797865687202672*x^9*y^5 - 37408868951040006789841449492372*x^8*y^6 - 96029136974599596104658658159536*x^7*y^7 - 25805546034923632520724584708244*x^6*y^8 - 5242437191813955076157431442064*x^5*y^9 - 409699928605220782678759186860*x^4*y^10 + 39375118017080555511082417752*x^3*y^11 + 4414478650057190403833967932*x^2*y^12 - 62266637085710610417717552*x*y^13 - 7665646840583710272384908*y^14 + 14233446085691566995553618*x^12 + 132571431253302115292123136*x^11*y - 3677320627079906075667837422*x^10*y^2 - 28335523591694036134043888352*x^9*y^3 + 186478273436442358105601202678*x^8*y^4 + 979680543110585521095162296976*x^7*y^5 - 2082167356121156563744172163572*x^6*y^6 - 30539225710419394554664076544*x^5*y^7 + 25429103844006118137220734342*x^4*y^8 - 40056866529454773916181059488*x^3*y^9 - 4741918132209313788162640030*x^2*y^10 + 120063392649421566997191792*x*y^11 + 15453863115268541628254722*y^12 - 14508062550440954802512688*x^10 - 115292786706841839957190896*x^9*y + 2178406370189758736513057100*x^8*y^2 + 17911006599365461837132806264*x^7*y^3 + 18721721306068791970712906740*x^6*y^4 + 140144222573062968441350663256*x^5*y^5 + 15151268277268342933019382004*x^4*y^6 + 14388997206020218965816744888*x^3*y^7 + 2181175955893013097832336108*x^2*y^8 - 116823607901494850142791760*x*y^9 - 16262571151436698863824960*y^10 + 8412196412628079801200763*x^8 + 60038503306269383516796672*x^7*y - 526872554079154536701276538*x^6*y^2 - 2627205980235442180204133952*x^5*y^3 + 1415955761616170935932891503*x^4*y^4 - 1207248891865676270007025776*x^3*y^5 - 411102077811099614734692666*x^2*y^6 + 59338125380312133254699856*x*y^7 + 9471776668272238878375147*y^8 - 2755131867388737857954960*x^6 - 16865677220581290594690288*x^5*y + 37152628773628751552853580*x^4*y^2 - 32454665768852564904473352*x^3*y^3 + 31405824474395795210222812*x^2*y^4 - 14499431708247069028795056*x*y^5 - 2982642484703489520084064*y^6 + 476197729395824935891282*x^4 + 1850003538678786657657456*x^3*y - 861756868723874605906006*x^2*y^2 + 1328290412641467896291664*x*y^3 + 466653249763538900703730*y^4 - 37550891878150349195068*x^2 - 32144769403583975845728*x*y - 33575411625230211328108*y^2 + 864999024811562109121\n", + "fy = derivative(f,y)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "632559895040048450895748090921641756886470228306004817227440309623067873398228088069018040251313080535541450992745300209771913835521779702851008199977671534167020726336028849097062217287114441992687321230930303095905972747640853160351660208664959050500217080574852996961414727994443272751786036434872954875250716232070420773759333628797461020047048235438883314149281419343763992629189899241992642798646724391513499355847851338387200722573897704432812196619126617722623406622592983236145079741904401558388992742690851903641091398722543025648433824160021835136234674310742569983816952022083521533801084276938125707406682530227862453357465307279164636566301531780944075120368014853781399659352324804488911308378478698006412255396289309228753762567885043144255897027389133906655733401960480165347379506923302457102765690367959194389553475275566215856622522401289230737466554330152659753698941296424927480901117973044723248858530377801520232634035287951690170368//444254602912010649973439519576625850587386574321*x^240 - 27280401809043582954539709800229226941922256980762099535036499469356024225192847844918313932768028629251329437519101996993970341851293586870895549640347066844386299636910638649798335456186372490446008392012158871353916959299022590903163552882931093272444691187445341146648517946361167018968136826774772113962849465879790102455251348737056479322221709995316094078136416250360990523364461729461850028858705264806880923150961924124407046423932721077201463196081164343322738702781866248034507095968507453401568130160667467602453149314651008726972613943280037431840411263647639241806686969966910099416809803044475402362256227285290811958827145608766272617475011223862153240270515220786858552113698761257356726448825101429564119037578085319198826291782685401319262165064153604466681776942253520673005988389961671405814531881624435876753933251290637808429188046672563460115471178341729235324494283405530920355753033727568907783250422603641548562131288533980151808//1065358759980840887226473668049462471432581713*x^238 + 232781727688990465067222477489171853922170824222830873466758849005239573328709048867518094392804620531802515089304440789999706741203247359411010880719507536004782263325736137280512250590150966116095228081518608802857473947793747485046412665305104447231081157234793691795701848519131673943242523376269499607036769689817868950339864725301942561716706029279975016955889239618870902178157502712755493624125552228706266863442546954850305100467544450803962403261330733415929264661647189816796642033870045716452603276388132054172372105288655556215235864970809421544949965692582195225570574030007138579183752943602616698304283826540504098824790923002425697513101027975260447409809278811131493861078180430317826111038091879066104658578924134511286571046125616886493327306941169067384123338683452219957273712037287725185724815721416507176740389822525808772782494712089600290416123142198812054291146550417774558245587602317169015805421208868749622046871915591312080896//1065358759980840887226473668049462471432581713*x^236 - 3758993000530458366765783957549506760745136386051307348223748071338079611519127833065727474232131961604905229730088398321096278643810703031546911822437302797290870515827568238502269438735671637860549547056291963549031502903648860512060571645648391847249282450865621347569772853808002385065904975114974106958017810622815466202861742541770520592039020449982332544000378957605376424232115993284905966960931388494359223272359699599586557271244614550943856875536929666579766156830934621987749131372576628461470049536615998018330559825577818241755479281216933480857832889657504047559532568866747570109657483082924662568761928243203138043306775861981445171077883775312013987529936871136107637759366662494998169934776550526289902374128653805617083904332525559176539890824830363950838373588061146501921420924637120738634246048219685714450763752353107793036981174516957120448600313786288442925101120848949624988880672895546599018327081353293832012977515363617174716416//3196076279942522661679421004148387414297745139*x^234 + 4771915693316543740571196248631900594483544813493831048812641803482820007024309998671787984013026390019340909507826646499010064123518553972016039376902148883858920728480387862157577188387755145700059701097054462199502159247780885281061225852076092318144917949467124960335562499169718507347189770901845070930440230998681392837399109957098872410833826487341886001590328585280959929530300664435506615694598783095701716331351995800093499285424575162297655852752460937072657600772799901623280762443506618210546484932505294635912707762891945132135352254016297786812089874109894636593069454867437669438653621378878862029770521885421900673525480790277466451720530758288277756432852213403144577285463630174790118910523958522791976643007937037141664054248357468263920162427765318062774207548022124042731670616913209229008641982920513887512242421254129327412379151669156391430900045820818453330830932113863371658984512190838364938549443080223810821927975065750912106496//1065358759980840887226473668049462471432581713*x^232 - 13682036482554749265145723386771800329387662572923750789904285851920874034273938817291495491564239039225113220409684323385774079828867957609528367938822748666211370565995146549079761408968229266344379248810656319713124053106189958829229992135681600488773149230893393585438923357597818076112345322922865367070334614987176300512622691086968652703633940163596119874185617694821958234955936716253892605501555970244382235116476574909250726254448165984547970783827294930588248005759984716993957628399314125113195577576292938187808330846373504159151675510053053073286547579664013470932376927874331838761277481247511260684836446661370527485921433963029106116150329280318677945973025777168309484994612478707832305931526393019563231652745262660798101625828850684626177434920761145452105664133512030575023696245526755323316183229644820489392563772783891954975450604956585203163065327207878980495650893926947277847620131309257461921821677872272797264128523690164107608064//1065358759980840887226473668049462471432581713*x^230 + 92107816235732629800007737485685874417916238981313133441055675759833039191322987802008601314928375044643397070120315430374264951056542750305480832372222827790485970300255920879563937562039745470462727152481590015608682256847002469815890056980255654308979571605728087610134928592113013326122215088757957755780230529115861561238343503732048205744795676281819243547838674380069471673320643806274023347379257476814343909721913154656131271114373129084821316851100658540653077289170206630953530787579317589285411538226794222963632049200222953056804899453930859045368689816271692283282969703081571260241810063816469484239233505503187605837934157030267867096963064245653297572426852631562491677751498503881737191549649773279496810476672359936182933230001237889136160777674763488925363800603573929532683109084951329329146404489554481614600017545035315216383598257380352132471619371501275636918523889851315610374707177297402690000148565485153748847651952689044474822656//3196076279942522661679421004148387414297745139*x^228 - 18451520014489241763171295982448891633568136607154996042957721009014960442727157244812911732402106154875282349513394678277539152017938317576351806986771034761470501730054158325052626889704217243854854991774763104666949677457024020579818533506631082959375019135721142628973423309879160433188933218628148004477863022645325783890806087666424072938204981024126093596401852590365465936318511825038723709200038107947984228346371642437672317697752458231233024900032734027695364845882631691204334443935479367482428893319671696879047473319174454378882005089947400699071283800886493201366394346670327100271515400182670896322959794234545978023886030631777287628426393092999773983174344491649986601834686979655514157845958551661481838700416514771216385839875317894711644363558631367183422384014179475698419115932023215769701045761173994565597369125628305363161128062194007273698172586070344376023286355570529782111570409923541940048371178585229148327442529560829393633280//355119586660280295742157889349820823810860571*x^226 + 195875409639277475135878422873932887276940157067842794535045789482255317814541068243268852562904654661562683393656474512670571491230018579429132046330985380455574318624830855512983051243941562319019481229619119569601974893474228069246236213495889623866664269360418546718467040338778378532196790849225909271658222711141671541762445604877897421495174681741783614196126394846147410740294784924019248440172585884303789384169532716505142468779535502004741301571931008356876028998891883917130920952844232965994102638729953373698219686866470362634789851600525638209803444884201362881191883067246882038096070233279541303654628388570488111254412648877227357918629920335188180027940489296458234803148814508037868392876536599537279450450370742076375893993575859181537993432207636747067499743590705701821045323370728267430219348301017470389608998547851553643424876318723137541735510071777165412946076862403647109020941623487667850157540854923678819008072162121411985408//2554817170217843854260128700358423192883889*x^224 - 2157524506983485030528118190200187767411870950862002482709589848344336495785806992534837409401888049290128101011964560571763010747225146587967342458196473325776253212994580323137047262627408862148115740514865835819013389899113181380944717140140719748057885234108111993037781377748923975117068755931837159406777432138923093004397581528566209118137470734596605552343092791350284459660286371710141469426306308048841919065536259773689675932772969270070371901086741937471771631298669191762433167958512491248922656026122548378067443502527021439560167199776289203005143746606565181632515793135939812013522856789455924933548418030488266960633576432389537168423718195139767332649124068348303784010929634256982456949255474014279723089570991268093324942164491467238392196389672935634920774026679386430929366886317186742230306778511578011216550321728419217138975764954863146466843136861244483917321613709652724488051302546792826885076130338779401324154403261642929340416//22993354531960594688341158303225808735955001*x^222 + 737151319801538188516360212897514327555317788579351774699676051131879766642292937207027062777529116728516977721576392099809455206615028250903540669917615970196733972408666217945833038995219054871175597436342136393522530097750345633422486250793295190066307015111671391580084664464568564838385053356149936393549660580547366706072312578315652908872870441033553623112750233395927312263393693252785724689268673508345410258375681789941925709468548086578628159377526726153578433087509474337358525696366042956147173542369263306543113045414883215326108215652853949845685531664726859862582943945707485266816813690175920298875923615295508002739517404679284984875166124594705067362372909034709629234844838833966763931485319379992528902127636811134073511130495685283622223256693004902270587047997984719695434747457597639795887128502099543331207747773972767873248577544017123553790475725636395612053991804566974300568603619086402047515944399306668104236768366728992260096//7664451510653531562780386101075269578651667*x^220 - 637396936296134275850042228616397336824475458389674518166539059010100404309978927760380834284331790892251875249605567166192041077389701439053791758805400433479304782398186015675112556432212578027148444500265099607422397175715040758669395464476280640809224390372703788300995007849293894025156224621185075041083556782372808450847514324998213985988096015737079999051135313697500951410768565508504579328151468700882950857604611887882365227035741958893064201217428964926745543819711064075726603892201719987571881204786553343096995483193366884369626596366221775787306143396988105559006867594322727498099483917825613087093161437893999958966418817937503070359158538294259689888476558262575213963601444887528655234285435544435447238754515632798754271538616865643990477145050779880495730679162380320348672657916283570780176899488660918702200280248147156724590045307334518606774654723382155998410201844321819873147527812672060376408978065018161108620271374329740001280//7664451510653531562780386101075269578651667*x^218 + 1402969738815753891312977371177508735885912189894563416151516330423347897973211613492249483909206521268728341544722754340923125087510219804800485945066456345056950895009518632621519595922477669068387725441669050641200463218713353364108518787216215513750967154687335953174681104301555598608590456174204641111893172020691674028271745101051440883078903114247578597005973649590657795611939709660186757378597111218894893783457387978556365800690799615416898377198555140541536774605036108905340855031982443602927879717527871403630382647736883681621910945878986309633475144855519470913278531974754654893658314851934115205249416728123842755269312551129302450756686727609562829057939371526937217234615271977689813940958549161261073727704815574184112735510159375680689523018756634536863122089680836016063572309193780447479366318992270937544189116617818546247227378248235746997340844797879249359739650583938848303272032693451042827783393785203383427396902331975504756736//22993354531960594688341158303225808735955001*x^216 - 292828972455305209998818872309471508538419396825037092123609691537566093250436514765987006542063442614206291507376660689033253403614643627040570937834174266662799339687615051761337095437300930564785295145790421939733468875975798321160174471645023816953581954343056931382189521413733255151288697017552613302353437039244073825419772902081007200866566914591322935285940270396402026986970455278390477884878447145701137754163059864105038935521431277759363203778218904573776112772417252561631099606465248526127773804052717724032205282361226005106793841420188537472327271718366528482645609976327408322373768628406300464750253179903073973582145789140929581097587070858145820671912659666215731313721931968180345601173223574666057847349680396771850464009255734865538540315127819565985291852093778480359914485432580110204956621271261294149769989278729390626970827164448643295605241232619263197704149953940832713366245311746796204193156536977414586627540511891702939648//7664451510653531562780386101075269578651667*x^214 + 157686420121134235108388815074478940272770749033150166015931256242799424163678562335270024541154513070355400775052983703498686280723906252230135117178888904922368032757109098094682251809625447315818406982584777736579473477585104691032893340908670996925527613835431449325805623383161583338612419339812133689026731856063751139857805796817288716967633903293968690286587976144110863908896587940311093085109466741880342967926340080059701767564837793733260048195655376175981678772029871391163815622418793987844638022623272916283880206582038466234186006406743949418883536785668399450866123201738322549120388020553820620465899771075947927591473409220975324665846370463923042359740292798244757599848742922542726065470135910685272533816118890400400102693316863780097662828037246614001478705543983641948618328165595050639780174936656591582533145915896757288728124438641543661516062381699340969596625945863683135025661151516043059982744446155685239536542482934947381248//7664451510653531562780386101075269578651667*x^212 - 221743193919270938889586725549866081793965729742812327642276245369795872584416391317997122799132496299038387933596316115052604101137394829388256499083465457792789260964392761640247419178432257299424729525130401654538158098532078237729096697602305635930843911605899269572893884427752534401778258774693445419441262112876162917575632058612238389343435862384524668474424418417144348017078556625064495356925202187569591709603032083096462249443602183196034849113853666634645882987951841731926175827596555952117008499879779532842231768609735641106931142493918745595093468371621077721466363261727726003143044902620009978547449287333027096191870427758172580995293650527655814529093134693464273350762799174476928501538864801236923943866652245031072563680822903938285728391672740321540680404748384162980460304280556400091488984581735138479208018126548969457646114367330337802668984600819530831735901791004045009073034443462622131241974419518631752992119760599100948480//22993354531960594688341158303225808735955001*x^210 + 24556713573473514644921871074142903562375641191750023441023615257165070203149012201233461605257780773206115974320971573594388367132249147268534353946986733002367540061060696760732065567026745809658570246434879824928416864571969032155332541949744709591851722861743060222396550257566530538441327957352311863310669935423447824535312349353454684814296296435283897278003525331041259706246700790483254327666743724004976457795677843063912932745538848393723216893407813049572980612976704179474551931871551080158545272261883291264013488737406279258923138258531288443568709743646535646372297823781556640272606523383508839936525340021222909525226526532708844872261474180779183718644511400295059259146806947740176082736479125282540059748716601853070311009313802368235267795401627391449789703735710286106305886869551867526380992067247246994549940776753456832333185591414037500993463001394837607920440007212008103156323263240932851891351110916364277285135971690479616//6126659880618330585755704317406290630417*x^208 - 9244905953993718435755460876212890903093345076161610921685784783069912603332142904825685095553070875736494297405081460324762046232251629147583839858395426372244056801122847645725184693660496928010094523498766151683848145311177160260846175020137433702234480249725341389428749997469785517381983751443860810844506727658127745018534784560363658323964041994334166193240004135699452488828735643775166507914792632409819684561606987266011473355137192274616694360563047506941948017796659334821058040852002924510740978311116875213362906044833051430403730224763129083199135192779827337181940091138671335547119066308859563025617345449480759054782695363438196741550333228989714497051374800898827806457892948040629611716518532970377089591929607805603130219733236527725667391079300456767937122549859403859540026208100576140133024557575912977275428405933630615081739278319025710777411977594867635256113177514282491413551993139076340932492913472571761399996182356295680//6126659880618330585755704317406290630417*x^206 + 1060787892152857476115046857928047656820363033387676898373423483850061544531886262862131882578719136486020967826575011314945505862422075540544788720571290215627081061998173966861354589668111135856025738733693833216913671816166090024669782174847339502063885136205118471452477254546501845487021642268161753854861208705440283239831795967138445960469448548376005905837569272694765213655723911500213610887747569325709253239167091399272554463884977430595341502642731132060025115293033844997447101274058461841248625243974412852455316989761119113258946172001098034270623385552941950709901278494049236422411442909174003163999178507030889808906999560763136533938305817753705386487475826222227549430418683737635108855796496050033687835542552548363330336295412192618164925080392224957585960328611972531439171817588540174992961382151642103311099738435690865767477916284810540024011903534837847310316348778558492157066652513616769906925009993669745998560346381484032//2042219960206110195251901439135430210139*x^204 - 976006515598873850701987406106764302485881428506485441339504943158735118379436084009482936256390480161802851392364926778366245197670065278745418826079763526178045039580116317943507625750009657944403744136097964524508034862435989117679765352896461345157818919087235920759370517193120739104988164180639520700252373154484120336008414563461663254587466602119790628512859148383476264932573421439346237881939924727070819471922856642257478307297769591314357280225307200870754908550312714806998460990170303518495682906109736764512278841518765720004012876725156798785121804407187444855099690075175255725664153954558767639078725880229563977859357588837411557479893432383321321462568339768235705759500468381834327496311073187377121506502385652742152183858097133271738513160946826580527990976645444854446272587853486878279411424234520205800973601083098012046104614486726897065045963605512267487543880688815920692710705331247764964808540205444595318643136346980352//6126659880618330585755704317406290630417*x^202 + 81897547200734986617961238452721410353565955106751721992638754769623624256529540996071640927821550243210890490480269620406188965427846852630229949464482305624718302833311152245704370129914729728664206500900430549542037046289014922543273839068408389218523461934450499777090634130804654783824797933267055480056168557898545072015862846763910837229623890433854410342776615579878869300503611486456645417374160558752601015740607912339433507148302183607594360844584928652604939574448845067959739929563770627792118685706530047269013449154952871439894101955952686485591976705407265492490329875763092235152439716438062625405551551166385639744517418692963382296351088826967854703597040607762560323218265771869144244019723981785139470121444943763076516674744523384882785916470143105794849242739517646250941718870002765014460929560766292224122988017936416835557738451847072844620535798648862805169513895853396408683207661967765635530955493695124168936527818129408//2042219960206110195251901439135430210139*x^200 - 4674623583193075037277278820391411270988098531531706945216484466308230094717818523402330319618361052931695171417528380316227642087602208707611931698581964448919288500925595382309316074521108271147453087282675026920091305472826490521807000596401418543863459400233750634809559825852002832049445106489555839686491202228521986374798484119053883996988952855891951337196622621273729563519729607720545901661103270895843707161563884410898350099296105214202676275848439596756214017749140525933577536109385265335433569465908297557071457752056305279130122827045579308043351607565711680561432593708132265597323256162240119397457714173685371778316491117057040600970275951626488379140405171954457923105207303739529902136928593090106718579501105740392547760199702556616789964126114249552489597114279821747486016685822989559288449180374550385810777928556875227531171340047585646124314689589067573828053375381094147078854416255642387590534199575089269405337694240768//680739986735370065083967146378476736713*x^198 + 2063569693401612766827045948100013523262195502581690822196828299156220878387054991738539021728209944490851027417999240863319098227676327587831073666447416099030464717357551243161717087698511632284627651759278990576370102744579683989234249783847718497951805264600996596565662117457997758741760891620982160623934007074145353954936935484409317512859047264929774168434812383593049566342929549907284125155655569453903606138545222413612616844420919357328868195008112324804646050364488907448449921356118729255068982820560822621336517302337362663815247416662416931582461999370537571073672440005701626940473858635387464669327081329613448197365257187307383887720016229551342619846793838547102160409551759426315906282217332173369401040401206088515907950469547002305860212847711159719234413625393495451851891562847338310314431584534885407948305725836923939026911557415620912850856415558821009549904880344221804592579776654306865546636138941231897392395143086080//6126659880618330585755704317406290630417*x^196 + 440051627646558741665231894389798328219722560064457713338871511164783623173311989359182503130574575712997127608989552699100000591704679084231339978987634219428156501986363990764913904481173993165419459319907209892680274678189478009548612758405800633146542612418481297598878777784317618853008318071030727307809907701489844182080096576461283577438785431348269013999764583639493202671192244750544635317716707230153348815068391434124459261658298314382816414254291029549546512117529937984131332035905713288957713275407176767420918559693086929596881162953916651320593531678581699220130580203825410488080447626309462611892469211847121287817020599473664625895340866285811271338662707177880985218122339086339721244707581782437947527202344159737151072670201643992024151261470600813311403661139961263442266005167839484209672443654138705423036781926828636238247956800936471041424490498262735660815047228150393033432732530161784133543453414493947736105156608//4897409976513453705640051412794796667*x^194 + 1123977333180560158339759205364497672273570619084199584779265344593633511376378782595564235115785145239624522949815359753691645927026562618130769334323625319159689847943302403441789336519277180203161974944078464912691886778792266248376435936496547895276664857702199806326336938429346493514657597192747482285319320832219060474589323915855353192061196188185862337867180044160863381549588597446612219651749699890851580417060576939025751503113187324236252285484099836526320134617420153682594824092365742459584522280461302379605802292006052760682188000169817423785853828545039015983312252765189855521522204137505292915243837613370555198760810237620576524181418777154192999339705970035241683618784220977391026965020881677295308959993595199041862139208493418817013877074503346798614636389403013474775469727109380105494579467499621052612702078943818168915701123886967358701403578250355808275687707137146614638929813299424433279431290985279949067574575104//14692229929540361116920154238384390001*x^192 - 42693918493639745407656687509375827088113446031840854373047788608488030202444095399053803600070637931997000159216893461393270911539465983260341813090299142731760509907173385037962057039786481340355615429622561551761503272651955925834809114852424621274416722895773256495589098850402611569838819283663452933944424081810264868088010828406690796745684985909421508473716087747333544858635413136852919264371473084979148894586262009705329709413713858338557440012096353058731432724826690745100662122378925087221941540111455094511048243489756915206215328787650360721437504479696112250534519757534513751690474856590096973571610478559290006055320007392845877677738614301583535319039854008470644872554825407901628529382323259482732225127934043577927635419386601843620204705407790123852521504623427493218675754065418964956890139610960036215263196383907700619557578675409912093870283833739640760510502989893703691686551944275262990671532715158664661048492032//544156664057050411737783490310532963*x^190 + 472979646461245649581648713282155790465597450983008342450482034752878355382301690884784062969659724120167224666094255693277023506558788098895475012246054735299943365262463657366091603884447759023161536156727532710617140346962108952524128705423458531309131010693269738724791435509209854719931290535881027891023430070334114727538029479909590830786561740061139399902518614732202735343076234512260948966422009423626423116632876104645834005846100148089094700796234881010446864620171986563367898667749813260373613492468565205346462743297988516442040620246119135662430835393978252982741010163535653320719766595743899133002447410139877279530947737913777205521972142705908538627744733092620513681354427190944622191657180142729375754930235550216245847367636771875032967217063646024127719902201472144583371761891745247579273858261820504468560163780832526764875998232533488731187258912091040603890083780304773785295821048635356247850058775345119624880455680//14692229929540361116920154238384390001*x^188 - 107344385913779489851775186287973499273511829604762589690255430986183211656410004458001920144479311412458170452683527212908475494545389786842615891596962275198817925376994256036365960643063788928368899706858702073101239674839626286115155721663199545087634351577125080401641008203159707331853363545299124697697191863274060904474497023488797990963896298105022635236014076353294251614514034823648917468398423304263471770740593939388626836595240889487685226711393221673988761436255967480651080173619802559836290368284666583767846729516174729968588516320750499550650437280856988557252281212645560789066164730170181593531709074226864655467430147939443237058285259136242469953056677015812744255143741129023040466004946422760693755056956530308056246493468303521424397960688258902670975649152325671223087515960145997416598068946050370836071633216895895363214273600431294567168386731953750830537907495175790044535878883455914885225211538086932494682161152//14692229929540361116920154238384390001*x^186 + 67146474339709181016330465592396928976925426482611734497257286767677557051137744030860351590662150450834953996360037288752590564223519894125563080975455152392503400347431751222873869257893852541504787407957609813432818106326634778070757744011354573660641913356340918853693110205315469006949992363221094178935191248152265203237249885939983011926515071773070297527473893317569922751201211181698429661485167039117495048652633210417619385136965874852611305125349637032316433450937587031696511071349201506550266019656629825187338676749699618659339924536605300940791617570419676371552588751677368041934950615987486850408137047315250992504130291109256793542371736095210341990642096811629784516219441097056679465156027769872788573624634966422184416116344597068764115461137660409223543080820635805740927585851955744842711380999431626335583368733004069634603946824555346335102337244769679919758860346779736871579886276655184672001119810515064655446016//105699495895973820985037080851686259*x^184 + 678617155330273402465464453805030362247999683833754382933828186661835254490177255446270983933039165038703939389969651928132301657193290573868568929935774840671618539529831250113902589079683422955975822724367154331518996903677688348548819798238835083855978050630226802267003030874730720965344828445387544252001118690835563221945826970799238130592586508857763508210781631211826041651295148028970089217134694879614166306918937063654129575160367983996595889196200103294965531566155197703542601707726714713893084696092754987833384555752876907728153430066061226306659370866400836754954143388134320997796167661759370670576604901468950711239765941826201213314748514270767314750241321375320433086261179219282871149662439316935098739717136446401006523116129193735788351755131493850537587646716171997801522630951284711183529260458016390562276460260026909439074110764831538199346958706220226692385076886747907496761301659711115463973854004193366812655616//4897409976513453705640051412794796667*x^182 - 192905313129447033982369591679622242377606096450442440901013040432043791935382430524950426425817512750844593244101742283629910253634380003822124515709775513453336232010708920355795799105248624233712075867283272076838867644935472071720352843777751764718215589778825913144098883711714923618901767568336204217847258272846493027959060800336600861242396715489678119089211135866845421352452172487394315555690165509978678294877847465193892957554950725193830261769229270451745514464681165045644327726555514087030020293629857870872072927440011673042414328490448828786575578252489236075786292481357118074136966460514040514132236461412357933772092848013767347955553055913390299042591692266248417844496168530037535832422925552898254471311916940476327225402617525354222719220935564010407885312942866060327918949422547104964508718452480393146058260338461971290909935466861059112433760747855861749837635677971766413798637592211601094366896376660872249999360//4897409976513453705640051412794796667*x^180 - 3392777261346132047976394974053941082694428592900275255515664515768621920688970479838596410560533495326073036102172325614551229078274749854680192571561260076201431209128979481351565659939632367381276378126681165141585513108894315220549146431054003800324343599662664709223463157234425352677206120387318254336753555916634415338479581639745156667408882506198852540979710628133179150273809330963860132091353032766781804700506419397116110390425388477070542442898306523291947355837413514418965172692435224893684372236257549041103482981650880255300117974559454015048364906410952667470822603018878091867273217738188501677317141728396254044469029896603162729599005519147534450979830120038163285931348488533065019411044594965717432535802574540404016144280985255023971205694766941279590098956007321408025485312010967011819883936433157632418914672898728966813967546135884402253169587611959984497213048669333924428047004941577550195441057353653288960//434977349366147411461057945891713*x^178 + 28787979009750079857457268283990522007721292032239826019559595407711394952207263554364123453848928112686810551444424835607750303864128750908515547934814103714900930730026178875869204569251191390816567867678596407385976338254784749887017353283380830553103768247824919421588554472399166869305575256971829586833313943391922073174383796187571174220162964610345901434264641725576640043472318744454822981407405545220394555208883047363941537489620774248454418892317346844241829043317099859096066973406975627810979252638240291228885392785009803597879130312956659081294732914735552565931315185301236877596827302477176605919274658579127873051526250568723465889804028915828429542362520293356090300077665744312646401001898506362648829132681816023998855976880933928535202671972119579798156918574678478621091730949475429663236232304746107769526421125504974681260267257942679226184926770126913916767127868042355669507550650222228392787029375447856054272//3914796144295326703149521513025417*x^176 - 9668743737618829186009837611081554618588744531817036253555550289225299352071832284532824646364293697069331050462272172181330722971494361906639228827390089683747357082987165098002770960835567243054332249836042418102656413943022684618970297515994231224509406841786832592890455216721423344980617614937680268882527799781077496067014192087139915057484796851962319721232210422301101789558499702774160551460081055123661790935900941185779387241341415231412360611122689836473831390045055756895834040456897756775861104839267702457022334107940719335339272894046920357768914988095399907735778152768577978993642629170041470783246834236598391748963634314831748485355828386062180246234725635825966048126630434365050734453772119204307341962158787511694583267536741367456567217878121286665119583040176842984371694043247056142817592782472336896545625427044026975574592478262410227883373489777651540073760783945422581437796111208274171893351432335252258816//3914796144295326703149521513025417*x^174 + 236395797049204515055762235846439189226502490612619737274830244835363081558074296455334682349435975981191137907360565810928160313132044559530376398586109630269737834761924168267045322663014169290267563570600174741907364831706524833503316967004851413030819666562914843027958444783090411232013794356452706561566464259559197251680740980692190225453739418701884539171950290421033616257735606019024761381910781313971654792594978234799345863262001480352314338379271501207299257514683193161679403685694387599047728259442232484323313705139547803130102844382901069860537977042515322888754675066624265641883605162195647573815985478192681161660263290282396521509500519741858242302743141739068696000676349478466359090257716666893143366168455348175390740158526722154279606554901266279785631925891360635406738655442781963712185667438744613443281290178542678230962665326154604834610935342409021290149625232685838348351605330935696158743791785176203264//434977349366147411461057945891713*x^172 - 342933695806208684814737224561799430591229511955157650660819031380244329553179626008706335465520362126502140608229190557345616473132026588046917894278951318696541444884962234919805424407017941718097071685679196782825321842257885064210587660399278016703895834990680275137621200601511399531971468337697450817310572781872954266591364465177551255229636542493853404073440123913369243480728613033017965842881158644496290274231524364595011523630265981371472897819037907279953998274337185070374857533455566021912706960799059559633532284433632763771750964748692651007609792338993510069407371079761403018290255987455203085806133800434625742911405762747636257533130520947083268720250072842820515095986344574404991757218025377552056315621019094498609473743067095869359996964887831128850236540443273962570225589608882773811693921457985308848400158507299593978013357984638143945487467826989501058471573922930125688291426433650868447641177303143153664//3914796144295326703149521513025417*x^170 + 13789577611957901133347570781359247335059728524925474893923742234425649002383835108450951766871458649083253180664978474526148144629641528547488595437121173482105869919449021852952026026967564825536055739651664668539544529909315746382271025130211238545059408852676581553118780779023161683486880227031505997800568077186570920078913126915853980735296198985580850896529954830204724796855216105559080777048542537431558002020993200041228607465437021126144335271706428203043383561685834169735736763869105884254084939485772219512581860702254670238918853022416927250733391550867780987361549936363161816979899401160178358193379564621577133781105731196953403138208058808163222775390108342467206884913709147072386573959339748897592202396928918893443692412142691680335019949819283955748427513145603965428809940037700903135948242706413949743053669645745358356866883659169958135393350708911862329013123471631654521189058684666666361236534563017064448//1304932048098442234383173837675139*x^168 - 43591075490245781470880842696937710119358118076277735820769824536022657907471008675063934640623389007935331528608130931829451899887041012696320179028471464910775913786591805224600860045428400889175301288299195708555117382290644069448946648120460440514641717279617617547234420412989907171756190023077946876660873699372165086050780382943005314794440889184631288893983831281848588218416789710452258489163639694868780110569230483896033898955850714868707479651116456979538088713598901035380681130968289281467012960929283654075120862600942957956543098048926072433335745490100737323271566856973549602857876679079562446807101536652963002582415405389035374396013505128832051403401663390762356606678856306506321593616891656423452988584638001679258334766686368504210355229064010485585984585358071141130514643732817778706687081233277585312487407373432534031234037459047434767843354820676551275487214494495397444198508821883132612820603682947072//48330816596238601273450882876857*x^166 + 121415762809963544638358643917928220322957232859259751723671010189661452864122273352679275531718220037255510476915626664463286688750867365056919177222408799061368692583570032541731076857709991951709751361361484709315354419964960570384791350200375852402658753395808929829636354668996955698737788925387246004117050667271765871717408475452173493834916086565091919462090171999049828739688232752970829055712920647444382744507491188354712345259202571128716242400617547405757452248567536405388352280098838710645465122182545197624866411705182164901030772026280822102575672127156340755025289385941877037547568122495324024197226760830666932411250582507054894190615155461079630203937606212135326504236952938760300311974372154530950180492753355650615682942448094291046820340493726332397727314689157182914991524065271987414161746012910940577742242669876630225010513664744799871639133111405908507320442073070324445973045734057721435410965463040//3129333448677319506914085941667*x^164 + 20415845205180239100000312400362906420404232448011917756248104040522259063908077672738934824515590823258891901448073520726658667164929518552754320115359634418608015411977529545622895881727287912631808015020237175768580647549840973561574062673405227674517899737795136381755602478708966575545348646069943580340389244433928053113326941517284056895747407270672366615801430996079466750087268763852642335583525954567067899131087963090028126956440901447438914849480128729123076743155756774086657118357484435451395545796207919155589705050712896844053672569786599837132273041556006354936801117912944931088918968743287016595810903112638820698008066321659891121031205989116147611270797215059525225054623546814349063027152607017600934101560725855735612699099616659957837326121478047169382879270207722722773710067042082306460291049203045194168270638475420948056431368411178724916919209971858735119040901742363733345335812347879721505573044224//9388000346031958520742257825001*x^162 - 1111824196789961346781362803557615078200618156377088563151427663195112729913743412504056072322512408515626720094095155109446834462083716462766188884330998083772922504307920638271246484639102127345159094839201600081222014753133907783420061225432018741647334957363155923874019989522433501510426900346795424529839247736470928075339418044980417710057812584845438796141579769200203752824505268273292075340533522438039383778298843376680777362175332282018215614803194863842155028742407546653656735505503160161749556625616235091034770883502902691255279540087346653323963979961395228364211310206771905728738232265229098798120646602542174698452304309967070240058884521541185564126234778532889130454650276517154078862898322851269267485600291129932112307024430640309925021203699798831456862369787851852348058432896795736798121974493894079022296476654049016511345217361144060671153142219907153986539602833755146548240434545541094716668379136//3129333448677319506914085941667*x^160 - 451823983571337459424044959719669966894648358167009453453031604184650843775902995512534719091880244117938005402227158397991069378926034846361121656957214506511219315213922626774429002831454865263255764706907827041081543156295158953393241310403597290667870964719181811631362250150286293770507684060645776121352797248533740254031553992283333485015849291711177920591560628317632130541313218897695348595842232254841867227767327751324378687935543790735952635211017552253454935945106372285225275224620837852352862280586026087685356495100380656908989526037578890363753532635061031634452374330559066360509179838510849499410942441290577445478026364076072388566498941115033864566614781048831034493267533853486727657747148313714318468361181751433165777935760040684502129381531004606964540399933556281534530157873734049844659767146825657777343187571473717998288385133530416282693529130471553456969636547004271646682116681896958894494711808//9388000346031958520742257825001*x^158 + 21785449133648072688654359754936587160741158756025149244945890601978395662674584475335377275015538858170773076496091077645229703406692038761936929400270222053128123967296327143197963605594790582853229328465374360360914029432262744612943088130454168539334554032540090116763675642749856324755521730701338831745102139086391044970296201594443134394147516076962441811393607565764527718669264375321596271585593280335170783847387166655246890638425278452107056829855086576237473813745862877253834159403141836606452952605909978489131344521853700195600772993982206220454121030634072696258558991513434993926449102019521821464867314366517610179296354329368279077122579484686197643852261284467757552074709460611862254335369431221126733519640985969307477905770715026469032213482147363953412756174776636959605993468270811826506072501314849355216737520846791685701529727355089347806511573150203407468671499009969558411084778929854916969103360//1043111149559106502304695313889*x^156 - 31408740809109379477927242200508627325607521391969087945050612276111259327715097133075846198586385290820332267894578422084064325831129975449119087751025643111297052881876585211776376183168616063598950883539762863694971358275572043356498200102361032049554464802701192623627294341252141369200628388826673030030062205168917345522437811172256693477291656470223986045642751047652915396265454623088256228658278701138149807481908437347937305754627107407301114559585845438929368102373224208955595515204832214388647008432289978799246885174952949254153738596165610881311620206951589049406905297750332587875461497375316074718680950924539452668014893283275862612373968305960719662813034591109060327671624178094834542355589459615548117901912493736376077094149662374242458738424835256661786338504969947800292939901079103032548497334353663685649563628959419175644107879275764294433256087783087804358260563936656182390509566302488894728306688//9388000346031958520742257825001*x^154 + 989897437017082465142326105017260134474661831337393168570274094887716908645976871965304438229632214836133535495454028700015939272788672164507936553863581336460624462992007145513779538850232685266159017721552040044333838762414788264136269209844574091073197176679836936992945394874255057015019702045951162781772287191415882345368701605738901168664773057101458205530112617605660337337181612165990542141059385746615234794474824565464954449306260564721382892450648043708206407017692761253560343317016670046239435195845075014585410718360767968528616722970535268695040940328513759420418151062529575469560230523711878320214699485204822049885097275903429008114576358388787623373939408053034654288264386456361023911053162826573500639517132826223177424671483914717669777301668768562911100474348053493559900393255782487537719925239698263185898615692375479264264598862136321495953904610485788657001699654530008374267812763762579166199808//3129333448677319506914085941667*x^152 - 53343806760014081803860380337337858717408310894083843050326522912538476994585349864472264061600638072078813603290599349872320061076368086600835349174983897184207667690359620295496362824271291233465489583668181830832829877074282271229959842660795523963189969026159387582750561138411509663133318602885675718706726075761927240868607553299066798057567794968653311372491948298249967062225309373605889959125461119649040737867676016272912413469591193569867320000929291380085074122949826340641109854684041082140918489060285709368411504031629275310765477422288032534155172433924948268866574887701772296810592990408292784677821218631421486139825226347417700435657522621360809546355237064585408953933289687985578178387941882536432271830696533788905245286054611723485280985680157507499460125200759042338435382701483728953716117795422746026067624635056662674093518341549037859942019326490134559141329013632057990040927260806519499784192//3129333448677319506914085941667*x^150 + 516646319892200457303849547939540600525032395800312254191975072498284683654577772329025743427936877811771254285632958501112703848052829874951044399176912130646944897472479976296159368001040347610115771403394672819489639400208143832606889747683123733979262295508657350390145724164779298319303289800936862175223149772130227406955104797814667067804856052571392342927136137738558047157641426093978243160336232490487991442014778264205710206022953439896006858782228475822085763362726617614917624231945695363086660499494437659109091989251700192746020378834073500395194839074636604111438977534680157779071531348644843836564732557947177081104951284149814176738070991317888521228889167688636248950189439663223197461181072311599996613429189881506612149740767607230593697719494677133434397709323175709701289157594421581379143566732358831186321263479064791394274656844923825422214765084681221363709795780110468347834485054317264896//2501465586472677463560420417*x^148 + 34930768256671184564192974883284174859268370565019107306646615758097430308621028886318482451612926248998924632907562278355143197213617363259497525475311001844976634003120260084410756057723158730867709584111262454434047103391009833640540880357083652825655714963389382835298787576549056536252380921085310943702711370325951972437617032998344313374329880934419674376766196692423716281498550607523193857966714638260393765501217058630589491765706549156955884413067807208299390131657656065967534087417431239364305800967199751347463687978587179226253646980345673073234083613145139752878812971420175599550892255829136476984593824271156000174361129959739162109195420454173784650604454013056266173780424719350656111340793142636782152290054914459041360451767863874319122133167243126440210150164721433753308310327113445267575151219535961115126035991304383462028743615213538834712691578343728692001241177180714674617428695215767552//833821862157559154520140139*x^146 - 868188481765807116869109210267437045473301569505200516091793496691577516730115578854163216880065034955155018314218392142503480972525111489398915864225124420101667998526961258905185439159657088416285332055681854621099013813961753469484437016634961593002210636253289638332964605583347496455675469523274976133389124593551441205197536135522914227466631159128967875136614533842534516508758334811666532964615518318114331001049307257999235372299079945639681293596243445515675447069897756865774392053504614432346440251078141689683694615337384390478383306858322470962280776477624286992890066683988638783177206993864138924418479692892865388208131817706236003546729646824900225244421481173591391099546437930971090535285638608665920297502968023336404510803461024549045582646713248693154639421538555828515505921297811824804052763792364004277300548188667205270096541740627686716567660239721317150637003882620112503384696676155392//277940620719186384840046713*x^144 + 53299001843892340717389639907702930740027026150750173592558292156524970325568416547279092171818268558868985815037385815631346192602716687678338652598222319502702849218218850204179076120236119473818787701066168330035653841453272506661332372696997438186162081281166156519079250592422157319780038157483337231892076576654376769370041859536599570912461863645056430477675007821185183155639281555403303261852518542908314351418063378425506858764821225809393553206208614348260344412750669530422148158421309888990047732785269321769306180222092405697608874876291806663081435807256838777425779347659870510476788520983799971387478970602850341728349147785648259006818144772369464935206238781944529725201310788900513648045130656194174246268369328818778415200637115309599387723100423755548267952891614275013468132850758779126652666780720078423357441250773224887341006657704729069014777282506497957764445381813234832972778188046336//833821862157559154520140139*x^142 + 2712059954210280488431337377260144623175182410154536623068139284543844842932048474335380975647208672156011662361945264436244202533384270170638406790536135930950569867746231105872868914136745918804608695376627174265866412917282224269552448105865000361468197541223648768056760016230904888873678610534421351111766694418893123061284189309163755285165678466766761805128586760650701087584648130161627775347530138337327607724397145279620640404055191035552311868290017433080474259072008743985761155040897274961559339852996866556308718779770610777146440795955191735951960220433168738799147365818716598869700941589799873932187133435597673668964009391599005595108271875437281511408244688299228431861872321972636497685127928547997037630314583442688335367991807421666531991103822813913584688489762192653504029586811695087317247893233248213263069790651827055885550461881876020391326767228045577116812593994173579133856853786624//833821862157559154520140139*x^140 - 186786268128273122657874794230077092014202325322049184592507458800035930663100780532622655491854321502311030561897837415809433663377758254338350415457166418438413523671795364322098727963796432199875676828625334774364988008992042309655058827180520475806952193171051943940904093656800327253247133875060433689061545948621035509003484903893173275828712697280870333614288291478138730663458059398763814867215167484619711034579604050439566700843976687284351316528629619783233569175319971272463033613807860024452098357735777881276288774002335935394349867892222879161236660015441294005578681812852828730534790054542078791170012067086618201608511622821244524228332364608711069826443243685051721944579110132582817815697054162400118138541723566517662414565581508846887026216811367656697305623756250296427869588366231898070858655432638288843753920603187070020479037318267003879902684640553009091151575604166870896565867773952//833821862157559154520140139*x^138 + 2106836211264021589002226134801465392029573079686001432114554557280445526549554661221413569880262157750589062211903817399241204027222473810651163624910941335879298515311944344948448995800712925597975163908971034415184445675121166784787925077477934881887319833371195042327555254178057157428266678221917824127715698485097348902492077317880449637053144454675356348866787102497583115600497178179842999976877072914226437313539992079085559488833015785392498679177555765195680666296569967494522598666867484546259005007812191345979736496520964509118645398685495451082414157523328717480765809272711933294086709123529817839644695811742927004460365626415043951887184844956549008292198429089611666587500363400416484385796129218091401187807374790579720373930852858225421447324923721114681170373954790134535382622503454824777349518611758798480614922353384618036901230467908055853037168975744333100209847395411811775824265216//833821862157559154520140139*x^136 + 395355045081825440938613488878167970878144974406511620485199453147724777998112072500440636303620281771232430359469163954411660147181436551850708209598946442165489257055436703188294326104944067934939933861288610730868798529392180661755319373287611307963814038312197035674736170955105771972446419723538350160901024791161093531904789563029877043437178975069028208572559350801503570187437981893509401538965282513660980572626264322030247004496269878619913924597886609763529372487373424431682460970313622514384069702562008785230814370087433637835190254042665409527243142121893601322071491959962980912984606652130639276443206465962147798729614487048209367342364827184548412768880737472573406567113836722601072434043909827429607875866339575637451727354053232782023794421086951175519425887453960064161062685929877424601580793320037248055094923109572046200298948906184041578482376568399678170198517235091252604567552//1999572810929398452086667*x^134 - 42628286731696015132157672673735345734065512634936710431847997996813849690277220070738744107814180252064673186049527467954175852391096876161200575466501969614534991048646289009721008123673363094520114542256955423145278848009144803471909610878163940098486634659908427653476359887025936358395238502984653867586217588313878001273502602952400785826142346361341932799325900482823316139501108684422292607596983239381948793622941849659556153530793930684033232483312927264521014102400562635319653644785915521051381295535366538930615062337749461200588707428869942044731668518987628746533169265971565252847360556909779728695698829133429933295628197818562396493824038858093295536837942991438131606756458094976202574421021206200849810903121227476707047190492927319541522705110096508236455494851681577308526480229956874291758883688835417843582867696987866276161354282351754138840678303096263349483999816511653870043136//5998718432788195356260001*x^132 - 24038259646073143883732884772285750180158482177182982863115968438580267254952699668047208464959607181285080679109244231718636543289908355285004651077012053769632058444160869853525678444645597450754361287415949102687977308525997987177713258529876153488455016808842430918049988456388404318657523073248009854431985548006031346661973750255282697800314747835625604561015329054307977866016315144691560830390881919736792285751758678926534703867066353362125208035412603470088400815502239211988551897340174743126072150150740352128394389317889460017310283855531223554042411404776480671577695331506094823560887695044355772675644535683417026147839865940197081314420209618679875255468055040881937996078697395788879013273331139415563490195814089644968130348561034188407989278905907614968890563393394678303305311486127418725859145225136802163728536057786573259471739017745660411824849259458525319239492098812798828544//666524270309799484028889*x^130 + 36810701803250446265568085085372586878741958431312382733748108005002082501474267599700627628124535326939513582614813014386180490744288324615849973291849233741756433260412364633227311802882811521522894160511398805198779379683060334948382574914945779674851919725409499400412094031429914307314817705233373368917788208633447702363788721127020508472352981080318013780637610014883922744108581664355638425034044745429558672076488882515833483086793302691184499602905561795143072047740594994961673179379798095750861774279646262343715369591933390249807655138485225594434380030951372212167414789842325281113756182202997927014886787056733649026775393469825509167905207881436538635750229162521283507920786365485008355416156420144339331228459533907456334915540806394942438072679519823576666372081889485581274625703578075093442051330520942711376126033212830423529304153108619203961960774146843475472480912179608944640//5998718432788195356260001*x^128 - 392886378624768369603300160906259159425560034496190200209577450139667163759556374966820170614877127896817112116687861661261764803293012434933685439529521091966922753635399030304942445260801067646700796970653393633839801906308267153396572551429501220069789492680708737290988906520397950684630526349615045259968158995034260159407901192117355618545800071982621983520020864504496022824799986630764896937784115945504390120263400677254968824820406949377088212947277474775388663778503882092604897694719114193135101003606171354473719759540163885225653943417987866076350743616283036669563865651455170983505595663449897570450306161236426447229616997864585165844456965314463852832459291304212528227641974116506513085680023445923018816179410951623352204993843066728646537519220202810424908054081062441763968403155317703180706683909832186100838209216745035150244072982213865638986968413029767693640997696872382464//5998718432788195356260001*x^126 - 17181401537896554808452392498719424194517015398069690435090485083392375212418926208786606422547643885405620528765116683926930337487612794679781837881607671409747566345168374375818303099048631091479335100023091055256112154157693442462560297644261181097022134395601794821049545799741630931129249336698663324636108471543686821714140937049536695148726641631448731498617978265129487845844394152946747669060949908556559685964096773866819666845138956314584904060151818461907211506778968967923710186357155328550556973034187491522868823729200685549003008873959599589900974563325843923392287932045748377729856881713081047939634043840169803429856768972941099917208334842179597341161663040976547097924016532516461751133725494718960898508703452955670838995660094328255296925030304136305161129859979322205517530077938862831774230531543364140184048989164324192456261688675588889632748422890154940608446723560308736//5998718432788195356260001*x^124 + 133598535624129799102914143059172129990722845441810046231786948674090573280071328801061151992463646541615929691179284108432127509904096783631065457888364786194212052732948169572601082074093282293894683714530823584776577225705811343111130716572880881013570484251114390630424013536271167310958458031552173234189205090326603050302851336012863602047616365520888110157340154712849007174907480330186973740966581596274617361228040684555642676239965020901148098544895755146354900077516802501813722987161480551647088272627122809538237540724243248121892188680159960286273069256731483834505678179288360170881747733925004278250293702998273908062027843065625293025596420761962719049990688993478090016282213926763715700585034758972036913776237244433686536498031549506803516452756324614689634520428786850644643891144671567953528163706218244886778620654357401629800429792637199185332052115527515768962344061763584//1999572810929398452086667*x^122 + 4256505824417130273255362716986711238326467912253240147482666856366897085559426984405242488965838194581976316900199020603626413918469331093571586550323814324319269938320333821375527264564222704601532358972420064799732195927387687425960475518170451936767034539878146280402657006254367017633820631525871681779822135454017078451962266016048015171388350439014916576188938865576909423986626725970584346244773949966738696922336384540770515882518246247681326344599788645067087342322476017652020691449451982869335067953174246133439524988683670707913543406177595904442411395239611771032302523158356948702913349821897311318300595115287033404939758662659077767658846454351993501416965716373488766001878868293587995417111275885947234755564551667474063761878664885867608942928778047577711540641854734380623717536113562714660588512827121284050808127105132821817707564306909518123177874197461269953445313380352//5998718432788195356260001*x^120 - 18247905969221488212259240847278684373144082650865433185525023301590790782916227256205711942122516295765524699315407163149514849981914802628402130500928653407530621269394366438309523769616062925301304756390846861320679387687434703187850159207265257781436272603726037577027270717592881075164727823492137415944726281111304885867500208315491343679320527106994030931369027620931096274391583510704973832424877010690420874843445945880607133920307432229221834050673425136947978991029657346892284742652886858989488616295742096288294661709440948446496476985604017643389770660040777097827073882438266726809887714677028347016809563765221861816240553147937086328568358190951927569030008535539872383318392933911473674661515576448898017860870366584609265478834986364132833860075757898359443425714672076194918494325308434995015168885422674421726949482089334066644068277994726904300834609767627333310611456//532793181702477605139*x^118 - 6130890542448792259329269296155100069415270879923670368445341997082033229748544629182793741752436195690499482006396431767861216345581600614606263378820541091356415314334252795439092170141170198493147580207742642653919476221853572454724127709545344368696819623282572863545569965914837861641497221110693666634772842469175966263420665413136868018391076890508298144191306861556191845572295665907436159274833311756068328754919076575286428099923956629518564840391477163564552197767155467118575899244175553453059972926654966099074577232204596267518371101103191211162518396287995012580891001467740926251137061352842874366033268564238635817801626929834586544253613920307907406204116494402952967420971637817869691639399148876796504335999441420095265966970946161887527346310693814538921842966000659736482512710602260561157541509088099106384743282708560320918342196458520982234988632317502701961216//532793181702477605139*x^116 + 18540284057671863957399086082256135943367043622097887751437780666519323351377250046806021217803427520697100140439517736909164730029632163973932338024994825318169990915607796567024145574557966702074686929438986394375510289939752907532206287442860450926238039305030829059952106992704440163027671363432606614713939849680452375943491761480740479774506510385114141577792790922031787874805208664042689530210963009317891592335627572940950606621587029337071226358470390002785107956493864698111481787924394890495217324005687352395486668599171324221413055986749449629860887534043264189977984792092940029795742211125587337129316574485508724464652435082744778553037248176937758157758831171499857719961980725373877661084615909435813348314578149817316863498179145309475836790963341546711881317238717743943701854054123974508706505439889470388608147955365656168292592731660532225120164057825793760296960//1598379545107432815417*x^114 - 11334999615880291567677364503237116388768181819238065680983002096427392694532317211029372522589346999419357555409436043167302644895480588460535675291036568769583813618917537835850653290252003392070866421477240009733302038034778959850885754028556307360199186231491138135998968730187216802430363963777216631474774392786014292482527060493715544955740657378308924927312384200497204761928827501304403207565218977032657714662330047277458192975397469433287199206305896736800912839130615620348214447361390620802846093803220930108273848220715834325346433857818607143022121531197577828524779973263932001482516032147194503486436567117287299800205631069069226104901587587541632679464580147712481432745958543013923979019494944050551866813456550587895914595572891846014838131791705503568512071128861424394614777442938678286706687118946863723285120748237256363129446628955967401335626583658928799744//177597727234159201713*x^112 - 1488483679582091471638313002936652104523949189249473566014804596758656459681365588484938232750835663331826383701232359073218543856054634275219309839327856665695488308173907651317573579595534690508483564025981571094552172631205762330541458345583786770745651058566396180514923201623682977061012476318034139821006458149681918340194309212615599204736267894940161735879514930416816345987166621404434541712610616602713257053781226482251869990334147618710653336684822962767576871175089333576637559995363460117956700770587781262227267635776881787667678363568220523299888831202172761834833092826602819575948758959097124626955820302492693572578150332834242870406292382037863024821109963568100132383797092138813981731191322695903077061628921473924357296343810565626056600712901087861551718835757591846094948418427370790352732334823324969764123047027029249055680472738022452775075236679568588800//532793181702477605139*x^110 + 1664408000842503132157717606415455663696035654417635866737126312963498510136590637284018526080882442496500976405876983564586121433869974757046966272640168390903252066047315251159571751121237983480654030664449018857577751740540486889960911208853691749935194648070656583765015215420009437861436177863733046928154843154997214803774186842730298532808775023328390614155106714114092859611972487263663948513454376701352979759451805968457102650900104852451266737208445788374286302629475460166443672604512718931701286465713864951127661493010323448514808628413704112597313320042732624933886492000823881708845725215311132070389954479780166568316036369138850259280334682871636119272830324953578165234633457607385321960721546514766219296349020034052852297630929186677722256753360068073670618071685145945387334640750074160788916122448088966525826083258953286132718242830832499701684347984674816//59199242411386400571*x^108 + 778425528150531601463186199918337552690228534962571412685778484652031488453340505006459270881403838006333204394084977946583289305478995613640859696644969054822463173493742896229407688772414730306781980022640114240484869115007340346825905412654078033747070672074506210722319505577569941746309635651570127483595978452688398608386656585222928258973426869215666181472102366410338180993786478148708249777028713772689926120143447576907571910078246170374557885350863244947425606611130093725515289162456483247624900798538108813350117160522695757990679259798425021927538735145007405865684778530057025352944836598599842578374159535042156660974000462446316796794135122785828214047325686877689431193740351868199423773630200683820567078537511049593353037629623773646619643139063428955228975145733309701789406356231743957104628863326144377798806511401503732126752738866764442432360498463768576//1598379545107432815417*x^106 - 27576942893523581442227166348358612727248565965358118648542565427467565972776979537277861665989559846111301697922375075832868808162014386386879472896328784913369317880027886962498957302068633223588305164457673134450264313217476438190486934265822611729712599094980187492552185686126924007202272620144797634329166376872945689688787733085423318763902884973678478335367651452460913766087059845030594714685504214715670554109141840005783001812263684655312045123544531660001332125568238638206513308915366302834537743206614456785786297507070852830561790769554605960158120520011250728096607766704712241345999786499814608205662668674974739721791926088856065288316634890602067394366176519618329796546796262021411223255609695570914728854481235281823328338307857022212837562880627738220413907858200582029950881352749060503656940799463233188358724342268962619632537752235619625685403828224//3833044472679695001*x^104 - 76463833047344982510261462919968595978775270697717104388542072607663000048645897009282667565623577748597228382672174039472853410468441525344728616026352454364081070909375362274634286695321740137272191301540378057339171131206521705314274186042721919333262923876013134776159978680623813737270910317583696819588318954037769758892287140244582375693445990051727557920736787054426996860834332666989750170544426048949228264880303302461566799656500897491704814693177719217796067295845524768345423012036755671163109527684791846472949726559810573647091698144277342176201540854039972002612191261007776720519424636956992760007355366808310380047060695652672206927225263242218891013842362478520267276577058259082307796146590712571051974923984924757316802837135763025320560047519603070611264955941820001739420971708781309952148349450986669055984669216459049287087114779849624960593035264//1277681490893231667*x^102 + 1641162891092445588836990255540911603888093339227861425840383321347239785816474629457984306098439469968015226203561454746900024588514326667144757525525839247508622542285310460265915803240548961081036138001431102134534769367296840901512384467785804731605702609862524899436618251971975078212584357447636201549384771608293066834873761665632107071080899033083875997136376940455220458590993687074140021064637485699013714071408691000491998534476896445985198929679262701679329259946997616761141710076456149884335397205902932209061094192859401615284983947804255448744997765078735872145582015559799875155561317290464983347765733106032982937648760068986273820387477985311581643317144369171551288559075853882329107870117931739261146267694549406578180438683394519067442593275278484757103601213291816463199324362914084644962057279897793729438393112787150392489285694505546667903680512//1277681490893231667*x^100 + 17479845072901220931144539360048725605595247811998100522857193734096476469488510481771117909099034210852586875696580466076521810764263952368940296388663884368110418449685555296381480700530462559957145577020005138272147815913040828291559444933009597357472332378060677250383003661837348932633732359003484980612641690402289195720989957788706192414674717291345673136241757300174545207180706409031111967759224659334593285349373663467501248616213175552144764500868351867925302099004763922942120933777350879607888197740390956793007867322149420971010925887970317166248928043378480368126951653721755903928059880722116843623299808965382677370006048115535197390104724534949910980645632231173412214434568407387218617302519526154068514800504966906864405212872634516906346175760525082537675305463318826406619186972365631816916790420509155581252634058713181718048013504417369975422976//3833044472679695001*x^98 - 644092634437450627752966696929888073964179346368039695749853788433516484950876945242887407852877824986290088869370836729184090253461562315104614116797995243822722630697472855562351240280009224607989234347913383325197684335602183939955505714910586944307295581509169206565741063325112689470003417057344343330257075015381612465965480225251178943755639702511785679383631301959101553498748062847317288211642407559965707158822458291417608402207111874669161992404502016116381297983659908751138646865925339958784063349115425705833969028414301539922230179165157315767656744100298996449644873830205386146914796242767898407545308691777377222496768886505206428744880572066343649238654405141650951401325163126829381422194084009192285990548118265060667941612524024627191129892242439587666041760952147798559983953527333977372387528261834038333292307470273530465527309682976755810304//3833044472679695001*x^96 - 257284519211026440151668291100876815249350963058782519586591857664476541544569178962877761773639458515534766923563044872177863899394866716111299077093014472720233537188103706693788154996315246994370330508516308070538171105945293338675491635924768650197041364392234342661994271390009549238059168190391910150802711064632573423107920615758258135989564900853396986010443753686428202347770235117425702035303471772907076313190944419556226542473569059395602426009805207307711318977192384610618225918249939124945182256763572765773495138752660657929208996669852353708309912573472039169509376194365190730370723064865888556396551380770590092670708447067849298091034158346923069918106989136174728891295316819066292639886646791562430293331315133194553601500514856850008292336511450335909910272405419695988171174084961510755291202521954157350780343264458997675469127580737601536//3833044472679695001*x^94 + 6917997182961402578106473423419263381816608171480484309346966682625937214746516533614749430550705631997728453731098910557163844716681045998677952459255887555402413751692126118215375771287851498327209081371036766169692432699583886308140411127904255374910622003563305531917250563614440199123818594812942642772949253352466115083919957577624936389295107008769913795831203863516217386625413061986020886044922716115845337479854054702051621119192947050179762962609890953153006989279237854733908664466823017043465587183713322777715534636870624224506273821119147156088897513352335078822893672933093939414509763204195734610660975908957136611642655929021983319175356360187890096778820058228070743593471688184037797063747169281527724556250103736825278751211700907627428039747703090550400609142031800912075586306377095010324693565554376133327083217226382996463200424635138048//425893830297743889*x^92 - 4803227392278089053138388817570515032911166972164615114215300315226630250826168333438908694436678060494553404865254906470270436351659050386065987121483476074857238889130725700137327943724797768023319877203437426534344346318141769429970361503038650270087641426495498601423370179807774090362047477811912033023400742137360439469499896238620421824772848914058887641267385039911953700679864086427391694130313377803571452710098342602442067317111032590095921098327506592750184087081576230623506911000550158275532992739099975176247005680773601501827767202603312521097320489789549235876327225226338250422034059600609617591403212436631064674848022897485973746575116171056233738028146178092594542400379296590337255253512789223417443742043658000853405127110359773982784696941562051569161228526679995550379436997534025997435302883006834879356117511736402457116056653660160//141964610099247963*x^90 - 1162926029344260822222240028678968529558444496295081667981139779000558229216179433834551758842853589578669893995461544687332246024118292502769907562471595617808422783902317972168762204081879791510351977610946720234106659655236788623842738810785977293814367956451438647583736297892533982686953629282539474096669800803581251963534532721681057201895634482402896605287093737945956974269672528808422739315117726499728866815778697706106257620058475381741421677661432212305104110499370926111419512277197940139976271239112864962461457200440582527686223367090551351186297242808810955569502147760422817999493950375489255885684284411535005501059862717067238836465554823710226523008667292603665912943396498069270582381551477652177294291173363818487554488616226680705664598559203063682447348454931298961412801873443842580203447973105829391513932949033418002367816663040//1021328130210417*x^88 + 576440449921595976416386753543820672945336524278094657908724594773458778243489157650582230848451832294956486486763898312005421710682576724882205506454789167453361406144766029269064886776752775873026419034852642874474398611410947153192265538613118858133221499371944591320326276140250031114518338617258673336495477202116646242227365608077006049430908957746055313929851103935775255587715472900348645046563353745118851601581229794000156160951851767728843120946167879225394475408575799970066519369288612193103769680973512217121953082164879677962850971831037585115160016157929692378429937266273721049401308564655298256055522135860414510356435973701216825110938898959605525998956324186683189463751360033273527738027576803041744353651079477273757135065719377743941930831245937864468474402946548822449348849783886747399267669519964562176080624235695158308372480//113480903356713*x^86 + 55626282811421088851954517838492073193280540989122084191016593473909816171628631767039877943076700794048144201102788645232154408368476691834056345229021547665875113778118253970580671121371614061099346376771986879068636311067363793641828268032933587665718977449913632708654043731871005260735352922991997417673015714125879667385853853846865061879976119484369728231219634704943478985022227670188543572088894178328069323592590379806988679776222683135764318582768249624039998719171678062190674037130861529991466886284465465905788325556521298028553946445816805542902115307720742619798448198966179966262651392012794591481638893303036616179632814695362330316590123107605335310918854387226948199780336671477619680012838798737565538691808093852514623882694451316164553629528298989121783096527822251667060672135137427851345335632200163600759016802844988502179840//1021328130210417*x^84 - 46329971269924857766996879737121752712439288646350019235231602287284342054912966783498152567806282364378964207037711102907676015275615035032779184691051609345581704058922518199356466437833782570995053162796472449650220144021410892684449428856020530442471277099756005998686821136413087265619696332091048114684866500467328141585577438812430164970840889467890187885445673937368682364476842628020589808138783113390797889192915139539104741836394131491551340051323850844355034998292579676343501073070296032511253384333078993667430843237997869160036039542238692088346790826584775249917259747801677213063783946111451946470088248859029458016197156088914006380959871207408338334445308425208448279664614864634056607904875193717987591021696977164859811249082711305064053147027193328704784899298679830821277287932023065313800647758564065959718925607367061012480//113480903356713*x^82 - 1481536254557035510319126270715552779236140357426786114040117691701332592687672108785472710144826645766607113974365884847475705324164300293074480637318835637447269289257031195084960609373021026673442652922995909653557274180238044022434360806508780150779013994670687444410712258204000167574554268815077386383136221324093403032846799793108764351842368399350663156180121702986774299929737845727105033115723711406078578234679661162046636253452236028737277278370100290396431897350005152603990468350669128150565702487752935790139162700072164756908870112962108774101657393563115771473767402277219045816275901526128516575568731430591600889776922323802332812555698085295609602564255271167671225448461298967467598151536757618605889162225499487239391188729869039301124674965553376572806060442364072159612921480074257666324426903851145521705478689235385974784//1021328130210417*x^80 + 7103589470864039928151278139533355661952550009632028378233205324972615882558141318061342764300991747171767024851717018309072056853029034900892519715246361122472975758556799296009785650236117423454312301989120679654988520840993814841590261898055957023493915290142050088935074740471949614941122664705138066129249307280294930002864232795344807169370034442582903743880945225986096837295107335732131839347706243402984613736053931168308537712563072282786871999173942166752444753693134527980271373363406194866132188645344252633756527134416519459627194228479328226809665904114332392819169208307421246193209037659810852081910235193074505788337704355682834891201997445470287618317423802919919829889881843790627060262851050683680312212717837720079551929310200558750955357411296731617977826728775256165925368067786041831448897701081115833218258383214215168//340442710070139*x^78 - 1648341888891879845625543747579520761729425364449227978996420020741988098308396508414847179672826566624757369789460573987037401985733829885751620882490628962352506189372779170436833502360071774888021662484348516906852702848310588222651100547069870895374829381778092095906566637459404233857385303414599402174447857858068399992475935609960536612387495834002361683111443639580532004367132927671695795427255626661535955546572255582358832471074533846270566839111707701952849148904547022918033811155038019554906551673505222007588348933491436273697243229821611994079451075691994165808317812998303518111010119534007251313275029126777684853322034943378963721945292407220382736959907384253479572680082125565720086232705780292091831841492392098940177615817413287599367242195049041711961272552402651329217582506007037586017646710237311226660543927418880//340442710070139*x^76 - 1633490887288740705273023007275192720058347650391442732610225297572738312598258366360344729105809613554138679620228237441547311575621214303048238174425499061817031812023862653007384104172201345302329041011157043646523005834250310358612771525300787525251248215858632089635571699849016156225006618778722606773091054816819498935868115157160371947903418366945815768292922541654735622982730553260107298406021530300496127880101021318122279693555710468872466029538467760828400363577699802847737564465596817025778504954780659774157059342597890883713474984929483439123624921171997141002909682701854131844132677184294717350483517170445277085454493760337780536773752179609877610217341746510641164189489067865144610249060749304530296568123828688443405098775069488157826036365861534132857031020034658500811546869207676934402968229494726464547772694528//2449228130001*x^74 + 5031854982131473801372539322624626234748690093753760854604451213694846841454539934914551124502950919407706503712464138839022714381144356608570451351148048259391530555464945616384853176055481599667800058636235969874923697707273738457350240875049880376763550785869636237273177016131115605839668015872517190717053196935758477864986689985690148937483820113486291472529672894094379299253423892283186272901697096640169812256785419475847438708110644205564434628166830009406103201593738413653877906460508331913870583723955335390310380441436884352055557801867540474065823895835995478792179879663842433000681470442194127833490326797482596921544258461558214385833237111370198566840750175233562511069146758212707393711260930341717821842497236529409542698932782514509237115888557105875882166241647911361935223891078040998453132109891098883502637056//2449228130001*x^72 + 27338149386959562433397009003127116295945439091898660456326738150180271642342011139061132327706707898107892590382749119316242235744511326617683941087461085855772529074455029900040799303229845027991635726887914921532341947229670383300246967570274403883051082755002474807496002669946239541270187671953852204883560341899909806530232428199774529881877943335308042258960553309830416258130914357546422421300647534600753995929424066120912249097490947287623863075008099841000496685278517582984346709100064759975207766291428797335037210131666408282754030927061002633711158304281226532190543369299368579077435568549431287577726716797674027988584487907969782611148954392769546291064280790228420547019854687691466995447374828348055730359553938417459912858931805764465685664542398651324675475361362185170491130484375791411505184522504613404868608//2449228130001*x^70 - 193948704537236222375190280586024329103269899595840986784251281135317193681433095630709006267413935422176523958231174402294684708155298306429857880090960181294152778154081582990944958451529521229128510589519618692477451526900225637660637391987833202437297629177751526407315986386601859439323681902715490288822913812608047644681107133766422806960132482417283635939160065319583505667120043407130824478516866025578045933644254621649891351788290405219309027035500602656917980691185844364205333006291915862618972175034322578023389806582290000321378351691482171074083465845191578867809083791546157011125972225853921534640661638107390684685351554202584988403877675958273410417009035331968348461699281292384652250549812370309274945801195566362658689950718395188616755484755775059498093952749856172444539714616574709580989341111082329047040//2449228130001*x^68 + 1114619928109404305521327239244699743552551301680196952634344224336748147163259838502760166897640567895897907541688833702954848682500874803045700658318752390859983545674984450655734393368374100668865874314820538147396723119201911690894740771724994320229100969201787056722828694649962948241889297586450303218057777392707472923261054327220087610752661461144334637551246498350802245638408729079602735468839274982534580478517256306411127034862628460850044152584137788728706111585816178943843458483697858834685435143460850248010215099158620970188071050368699149521030551187600482616896812604441286030489429436041534546776330749576354627354204046818788076207643794550522980444585095271796834760509894993963241065485438787533944127231269368929519099716155082924210620753592455760144896665063987828312293129937771387689559258642251776//272136458889*x^66 + 129506989053392649536299650614996570425255039854105935388300061967509342533180160563035635224270320255628431261169452075221330144358454111741522047908058259736139968277697843078796546387476331472209231207401517075506078330536897562037207652910594463300073438736347192518811563697787999498385356537375293521118764657199986058894288402174524459175808987338351765126158531453692057371367264646252900220458156482428091087166266221595815599596687035769333289446881973836621061926659114471933267735848429628728237864737693411558755044856755393914797304941427881083141191779076571290256902666372927982577090749274612566799823505577577584804753728889324817624383630781415502136402115826505595925694071647379676301586357167518383664927926289870240235227437304997093016528372410369392216787274246380036939482652367366189347141891129344//90712152963*x^64 - 388101045538223049513911715415293096706548301797609960004698508568693567289110259710225457921540226816252701970142327711662105423021583175100845859643836404668161427164931520540641021815037069263467742139766734763212135726424542073822032612917559531204113190867717491124207994969666281161406602646068327356186083042720777536931875707962196270223409762563986935276349520973754443381082077917890168121460109261604757374289990826021309631248863718175736816732546580691905444095930552047697110632963403169886021735056178875586815635897169655721924110988677395056959732358354862009551345737999511283355432693556765375050839654857744310910699640204522900402554388992032303754362372190801777906896116083415438004851116687133118786944639746119745535574718700218991033718635078804955745182023848624808269785256145834401211294416896//90712152963*x^62 - 88586292180066416315544661103317472660949891758595589968279845877925412058612646300441051143092967353789847084865758096285353880732812468106671813134559292724593862765284291581877182076362252622295119617651836622872099481134568014032298487947494465960921373479166343117288355000134255442444607881800385832451829849077558402501366972590990387575803424757077230987285998162034310531295779344333624599490368292587306116918962779860537545689632209846648387758205038836434591660527185966686213019568130769750778134846065047364035781795496647532232017414572931665736910301998948525133725702767685745837966977508226886394757406605204398478703962259514199831088534131468643318188628439528099360080515534800489197158566997925142811924864269624504234769132875218193096722904365403937556666760923357929134217419213908449110786048//10079128107*x^60 + 19640090838711439500805383076677370168694074906356714409598232092969357940300615541690065573636470603620113109749693350764821119295927501458040919761079031850372099365978322169031216100690686842336778516683038678029800718115873802742248440355093820656768130645630815639557607501065727741045569183858513563818254767447658758372333708850075851024803602129220105071071800551203797843650905073441182264234248595443658472871297276506109031913310735601526691232168721337964266159148663200910119324795960643522774191998746883547689838013595712727068152768134417147851762540146339115820076503360855288216918470760010195329615975064447284330349369729756369534078428467274070132036609216440628803010533324745087354698584031417296003064103531975606685505068684650646182912254642700838362747927022004286424609418892425618784256//217535139*x^58 - 133114345262011598297215707807219360714147510553883071444579569624076289486722809205242179242264354298282811960850052185295359021609436601161375454269497698976058271810543089255800399458397324141057197520566433211088651894426105808808599199451588140283942995812807689453299242379956327551822935401955466403242221922470815081150381624055217017139263063113157460139710517963333880591435624310672638248526294480203039792974444159254220513077212552522206615150730878947145796680390733051589962545873227134312817669834601566349753315862198660110729310673021590710887239496393998406929180960134802174341635912006199775194818969528425572756124092555792291822489185083102144668796597417698736127564946977056926053722605604953897972563323391554606926629067166149754973807129753900680223512777626678612681263893629192110080//652605417*x^56 - 77299801124386367276990592189902450207833560655458735392136648132946006708403461293730224675872353208443219867193168990004051074387522148764596460634585622876529593101042203671551144893066021605073214834012961406242915617216493173227669314170878757588494978261116659270406631239325888009630748871532841099703221281536759130137699819522123647351520249914304647115376743576290628435873957203770768975092392290973292667047579519074843775131445814588272233296160525516657058794594368795205051717716201409567013030870970590217920052386196436711863462316218013214674309817756132966754860974090828500811692883683689304252304330551268176481261331133597566239626123434855553610845552910324001135556860853507030862316910465825067974563883217225667470534440455131270415031855843875895412684886624657283385227261438328832//217535139*x^54 + 906793354467462314654136628855019766285224799222781869461398118887542869918644830131118980440179956861267944402509133837523108312551472287695520753838748085009320558552790664491290553728093658959883387167869504620563027969874177778993489088064225786510322860666310340064992763565000952345060069431308763972822291369578112240937993743961455979152751691506733199640765306358855614433893319922640701072315313718844194500814106419269055126048942725523196318661075507844182622575034414591139245249067597439642126829895052437528702569072285505873139141915267712750370552925763870771954215600412165909128373466815577541090808636227286403903283170732274129298231373051970598577289706129115106724270917287520594520823544507101341394777581289459708753764059704537212869227164502995871949814324194530214047555149365248//217535139*x^52 - 3767190867709502977682707600995845848920848469562379106350564320494411914287866686648590057683323775996936092499416793633528654016493373303572667966989288910785013495076275500720392868445246843350216155483570189171748288966376806958464891472792972645078667139290906814097570382892173979258122949504140446207069456291673170361553608647051282891029031008287964313359418486394728529554639954666140708922414951687607100792537130144374912367978434421815145909361562502070599328748071089788842649892853203627065625827546332438450333982889983095721527384666224910863683928984978130054936614765047559667641091001123480938363382353452697795374919568828980626030126944722929865401448278296047879459040731788655662380269446634763346008537239562591220200429795342185822675765979517256098013450556481864754254535720960//217535139*x^50 + 11251483771563424690255996528025917433075881995021176080749383751197533058573615381934408422337965914654580346043836910303319482351603324737774172793367782140154579257403231905310190121875267071803849543244527760453742812483126659665025090973858879599791461878234370354325401727146075731015352174302335068807993278962250817437969312780786078884730545255572083730931945470285326987443956892258744954655525340562953906581476987885115292753345992872064321991431329674693413910210717891391891767292392261913824884213894430677244150791848000570310606915147617841321902789859691833419420655228645876853631470746268925757497096965539732667691168945805003029819498254091697797009657506582733017481825999311024896430827942297033249720795709841410613928029577888441637774270971459391939605524426566321767142391808//217535139*x^48 - 9323408914029671996101304184916197885560347937157465912514928084822296007853552696414099657853678658235703401317941633113620413461517160565473336619099128724458990669274370206213321843385557280736287229380028957409172157950077781532656577177971844337206200650826832854102810436923490587793667552250953582242296641191824300704882138430952252864460881360249325875259535640564509357189214253440791903862479706819589399510086642682281330773803505400745416413465958478216919095627211112512842104049986856084125762929044141499257752980928553900052560560720719340164004873818007826183631433897802221304790644266619064770337699149307705601089851109790496998304772976514028371899931450211317292114787920908826593684976194713426806573894590101202887158999679969439421431849579443759572693770433438395203059712//72511713*x^46 + 48144416943154023014609586340969472024744909205279196451473761951766834282844344301339479787946685909989965006323954484765672799334607918577038166086193084625847948082077277573294843866615869850593621300851649848038097408866614736109237617277315419531381191250644135200849978864900599429025259811030113641853897953226416824436176962406080354747660866657912504148449563322150387414406051779769897449335268104400417908479564570160467505484455489249512180747081131721280547099273516336115459559649314427641748135569935159095437763913254116689646078018823239123293466809010336475104538799378714190359932763013750242966548390770546728776267708017534330866691754640185964566675592869832333656551640522486482078493440693835854707975846765896185740501599571649327388347826569441536015197004259607445504//173889*x^44 - 29672515224124137774701959591495974944852925372753389795440880726064163036869460750900094120069033541945075195255710522836638598636783107249461981844978864262450340696427117027098606475100258629264352248850980010458784197866386774034973256991816307148686301549676582814604036083895523242834136619685747692771421958765993574675982555472305800721131746636032967130948761501497158730725583960097023081953203603896086940342056561643013995997136312587611824113939889186821770011282659169035785785753569321420919103707387099382558214492757195776217875686938922089138543127652912087591426512543861033283421991423400819259853802955710544196728775232202523841764109412662949535338555169396273412829692349190063240913987920922172659295061356124138267409728722871901120652834786809700600536030972477440//57963*x^42 + 46048047369762612114300226782051404087762860004324266351776083654883556754246697343745955561272071377109638407077395648814227067784361143289601655952589381573990222058445471016644518472240627379656146261540043489691737368220196725235833238795134996346538207541545669891278109873061987360414715729161525003659965119037465849488443520115636124457521338245015480895063791172931020297491637971655031393233713381646038653878929870512260866907635867860141340064537673736637957301436523035442420560763183961012262380144729873373399718515091854022997887663657012790402500634970278491895021727237150028892978330608641120446011576987401251137984778833399375935381879705090996116190185490465061127662464638443294784614380439389368821824157214298061037797553880391784312310571365593433741281701396480//57963*x^40 - 19614693313729789301564700520900566004574776608239673085063587824910173562476004838461694124317263677059298865400179991364404253516542842460785418726286264761261450499815403881948630732939836367812574745538948558322998036977565567729490184252557006747234307895814514959360048305308552038183539218291535714599006751460125497386934468537664372881997461970643531004871365619099473159549114216827621986855785537714737802981774492267109164822105577707925344730814817652589123695957890621790069305025354674656517590503051848642456376114604261540488911002157172359351034246313249651142779686271100307187459198883423341997411709676845515193153854390378172816302311745439558753553091283911684570428515334664969700254210881584692313128948544102076791692320552519634842634035785822789092448927744//19321*x^38 + 20384503949080218811612723006693382567329075722050097540458588150095138087509021704316300716142714813374129201165013763479179611398885989089088625610579229477725855728825291718179661353450363221232630475888199765602839338952590898318754858818585161186780779199475520237072232681916466504346174946536502180849316796295502550384134414509192627344507233224211001648586070304526117645371487665612463314180182698531826752046658147481510023690301718648128338267871322778162268968168771825195652179662134931248954735803302298779539460691027571509689431152576981262841326664016331865300761492991979125457912515665746938629223413393392474727873156885549694994100710614858552044944015985467595066500843185631524497446906039031974805012665977114200053354630969523772030062005073100216983355392//19321*x^36 - 51246814607830925572984225226927208888746033464081384603866031195443529191439021140897280298062855897503193246357037311780775441464489112978006817142048824509713247956658846746278539691125611314341646742325102917308336459065414489198379976374538930953456397434430117124050851851343288090952477455570649035650018719318244093563470494064088968056437812900520421053660937437727790678315123679788663803233611714075267371255146090776212525594699019167819726697656828374222199820926970057900798816516228491114828902358815744166274298637063883442186506606423447557890220916621074167465413937001474494324091664792037492326841007612372700562188533110188999967472871104181990775393990521428835945463051583804557991010309800975131716950219063296694299183291114536482249142670765135461613568//57963*x^34 + 11453488786826085267762548747311409930524266812751327848218719110713014781477686198973588478812091692641170967977425830343949401274511044707771062187438935316390471589818498347158732093792927324073208132116533469312420256591367931459521482938719057103347077764136039875801814346231762837055774639865394646268783025284463608699570357407574278252711671375014855999202927943476961294901268231218676879245619148713539806775991230048541878317167401702436856666143580261279343405340163129298783863467252531975031378533813468728701423009973388572046216981855719562458693750548299199936198330016104741728246332030161034350726538038587844324087562005626960276489725682788403066306378028256592829378054841907882407755796868879183209743631510429400069077933645409448393173835839631785984//19321*x^32 - 6085494245839220017114202103880105526019222639457209375671642547418239631344681053416241354622171002668140903050478658346541164615280671941049060634511487549557643060983812206565954942051201927195728461035129336358905929759885327445574699724124332653389020913280684364165283288893650727924471193981011224973411721126594468694035634056140889574542279880705680823291348831308569668186918488259486864128109781961412565900987225900000773664352255111709441462616655441616604960673526403269246602604625220920424407352905278033328004253799944403265370399440851465628240741310932927480203257951306580859444489421704678440298985912592300422503740039274400779483821492812800859782775747880517507217517371991291794362406803619709902756336505507785166799835890064575577039160588894208//19321*x^30 + 18179623755529819956310688124099054079851095927072299428535371081191437754280411392673518081577455367404605417906815806965616653769190853052931314981910243066914664342722002548752962861533198043966079053839145667764532547048589467794896644838524462938592427815271478147929939815088718312465416075597006279729389722512596480643770927645392543058948584447072195169442514600755225731384687827123759172514036175740650212376802114375049259946385930140229511279629170815131747134997027345049551133654649372129987595704827324775116188003072902892737478931037061666667565534492913201707306235986866127296608094714610292047243635629046401167339015627895858024729175486214425050624572619558538245074032338609903268064558833340530767330784875544920002210061258845278827060396032//139*x^28 - 5775821363344371681989566197347043739947006017660941430159784843540329247374523300994168608276358405881811618955449232350926791065209387727920326687880881581877819189311180447336570076206511548336686649987368706668088044592550890944505040371240809875763563090576215638448459444642040907478641161849530258042703373216116940503071222869370912656047438331067186074653675064670090809981521948780442872226980110590604513790371144231869240543276706128246025136602030522625658211826834169016103406251703931427213595108552683387669021283310235594635888388647183022600904380380762616114080771974347068617753248189043944123629591452882161701340113303485559365971297303280429129066298698262332122178452021566949369588469939157995764914215281875053502654342197240115933216768//139*x^26 + 1356719961299912443182155896325443619306279093450920507874852062336885486199357845674511327396982694362251606666614087682242540205691366264336988233316989727808781343246666603742845984512662218054729840626795448887079980871188497334209259606467283734316278682388115319933881592222439468050496807767343044185744578799471500857224287237740946801678504832901385543182245583266585080372116320438113647824944058967602540669754659609250152367973602254734866770471540271771539595525463953788777051078975963011370456921884785794537066816117447153657555486436233327635548568103012573501357827399890810022394527198104401992024389515424769270600724519741369998955580362768469599830681891809674964151192749134358661125118469895512481231222325042055560566972621294437138432//139*x^24 - 221806683711643020442442331121909447003001255050809395507107878193257907876231563575120249547763049845368719491757504733027330708106830998240183260118385884047195337887952055435204637200653766698991105272691981892619922621114663644424127744668125274232386772688341338205940743486213981281987680523608919307368035909676951956527703382329579830929363782859249017547125928906517362680938968014092784259794958870822011550969551759094400847547802276319120636261255361287884524271153482303146234701684918483406622712788591639626633671928193084737366588427096078406816312959176154036440209207366510363811069360215110702197693586275458577234889571013931596020645986228572924666350586045360784383935845998428389368549349885275422885195111927489618462447531091558400//139*x^22 + 22205592939016105490341087528745100198670333229251916963012843242990809025273700087683801993751299789218513846720460695941355633630734953536189303388658981265645741677259686522214287015935272674712409849592257853537011388684958472820814803750820524967319004768733341510288089703695278044046286312093915203324256446299682668476303162392297446150816964411176012042318710587054052189711203288164551410230385561113024960049362921213914782295347339367000093872143962071293979704909519443142734296704475968683808228804737104315697406353451233330408645625492462028074648362396524540315577542245751405684526577228544368937730371493592458632115726533734099991197772758961032880582070947372062518480883714404743240640146439116594639287114921184606000498931138560//139*x^20 - 874339530119398844814335868955537063815421225095997541978485472193755089099867858752406506632644271047821586052534969749322465951917899740769870603669122941173054334910216748161296368361117079915446558829202344506686855063223595631699569094595840191842081880757858460550520388445091953446093291183608070145165511150118473666271724233707434419506219146352826910161351072766194696701424137766289621794725655790210721416910073468309281566006191347110365273215281988982794763918903219944872107101169095977353270867313801063613920244421962031702342422125226739501290044974428337639588514458814445835230679972024108226436291269873954371956459515170822716511545809533793799555560343491633610270951688853130330357891733009725906028402658396197917909057536//139*x^18 - 40667757725115605213403049434747344352777249587807518725953006424754157065816009484233583928382956291103711368905365197865702485744209482727205612301601747061857181312089870943914663545170173167805726812387422263044218841207222764649813922209059288407964204390142211391494547270509193452396570554329821802998952465336593440676763896208864768733133567752616038624753946407280169306819215539517080656784613517949952685700178556052690563772748219017753101902452910870271190149967654823799591982220066000656581215524518457821685575295462427075130814388261762235154996564535328725802672274719442665787700997924689194007948084490219641517206061228481658445634822475372659255131847409546679222343011313263637692654591541474448940845953910812516024320//139*x^16 + 11570456799178144708175940842137396357362024410404214111590502507318246057804737265027643941472334133676410357388475847717275136203155872781429041782100146476281610028767666905385412722995107472357461568134009475805073495349455249521522472732204728596397598176485445680354115155954540069041176842596619121480641692955885021719134229192445133110781388277419800753564690516088593347596485855708248428836515650557272123082428533528399584584147890286061351213083570603643866460156381419200751278178647272679293615954657764069184349760738123197948860884168918467923497764335787171397127790713413865570575290414221574470154963616192297230069986726005490399521037773424110573201551131466545717734860748577465914797637201637698633081343549898752*x^14 + 2006342536427479195548837319031070280201235500881533863362741762514399417752443232386455298298616175758463256146061896921603743268689615729908772970077486409746322025743206524421631884516110324915556354236206372624650371183264883434079006109661046732365367507417716213089517106527029131921476247013419790420516375905326668745492891592624649420204825646254749711295343691854692434437601920798136517914553162000577785900006257285661941489861742743562062055286583965463119788431787244773029416533128753716610089803872063920113927192141798717603406021464551390925285415506622806660362079922129192968705320871220920776554321349336157200507352955808919674947986164133855877442285285730722807414310483536970194874667130151292146914613526528*x^12 + 44333681532412951449799018151096558148105883408232032292846468078220408542990784641139100920697882583778029775478629777223485855782427250300856279464308935232638993771404044257370380909476699218885568837894563218427211282016379854885062656154815736308962491114588142645545465641145875120846991190940673493467768097858306557882523729461063910231538167208042421700247834953275498701442627606740128726330176494416112101939238382830251483778167768369927947823282851520566543571662741273625927245563630274700308746111109955148670056317012807328495520655826697557117231317596856615955902967749442415556476192501308178266814071910069661927143094769549050158982553732175998216265609481408470481791888578698634736275724100618579003572224*x^10 + 375791315234274446594631571238015053451854015012670254749418565759281413894586944427935389058304320865975871477402738393182497517441555303660403305391953065171471818063314354083472733293668699850521450138357095397804273398323065699998900913806774929115264558366068853254082704847950077461945675988777667703792556448075147694366459752532710610723958784058207770942266374253383349433610965455280891994318941868988092290791082575142394726846267562444440136637901026945989082770890655992401742422970947923018961678024378507274952348722609772472488671278176786769542616933469256151444487630605424294126826418080891220271514189177114783441105777438200456527331120692463101607095950593739878443976580247371830380211627532339904512*x^8 - 4060326754525257358025880734256754928235003918124782886601789574258708520402752717289580434757874533360933387438212164960448054267885323414054591983496092133486799183041456543536036226154490851952862424462578295972357616443779897277488093855097050664775920886796665973235299271350266650300450370699303050165941682557526770511969449147571939190817278411638634685499183215342313297161424033509172844226168680710088471274763441221754323248611748288197705034976412981375479822540703993422759743251078469285819801535483250874029189603117104523015976623121244162857500968085001130894197052552494355192547233605612871209159257412556791269702687662080130538699811589384779891212555522088283179029853110057953482128031219712*x^6 + 11594651820604831013660298778208240155030931109647446553469820232084470205428085562121262185585796179462574509626745766195913628659752695695306992831435878610136195150717344787178246624869470290586232004437501762055144352044599887530569955166908865955536125463866094320319044512178834640526440885248257898109916502234382375328105887760099505067571140110000387199127258573156646731738701154751816749282327820082724573990325338364243151998053529190209613661786419663060322332390562897272450793101247373330454308366361606020493886918891300281526651132435630815684506927851358132915550056532964910281423226866966550883060066159305285896802493171242558483841282355436208867207207656978864181026706910535168819200*x^4 - 3421550289861650154660988298259339325212725798049675866312785292849447184320819454252726155751467324924175345425985937210349456254644936933602681820549950380097838080845793113682204294156330451262517952530315299135500329762332117442529897469133931475519031274492079273026005346504194016717256337083657325536957498356352453991844720129731992208762649201774267218583562137383263260093102814369200389835976922628681345008532460056925619653541898713767165706917290097304591957492496246179140228901181292656743816027460981610653651060039129610659171654391641024772229762785206447933352956481203919411017250826956911477231382456284555359727621440350684109703143515235347164541125912668463745147651227648*x^2 + 267017168801975889620773483071915352384790774018395154483129522466123573213216806857406062144348207741552112997489490500551614557189405351549584015058076558214965844062237303764342265893456168434648273979153889830711350223834757345503808780236377461975451558729308817837793624372506111602330833968286172371822671258113712949577319795174692318671487007468328714173385931195458704191836619049185406052425671051211954647005109947426141489403584734823670298186042654510935370911211835510411203709329607425944607296636258085392098702763644088044929764331607704216173010822963227750596640099273852767761268602118379282151640365543510396757218741165544218534247055286610626827734439859840876544" + ], + "text/latex": [ + "\\frac{632559895040048450895748090921641756886470228306004817227440309623067873398228088069018040251313080535541450992745300209771913835521779702851008199977671534167020726336028849097062217287114441992687321230930303095905972747640853160351660208664959050500217080574852996961414727994443272751786036434872954875250716232070420773759333628797461020047048235438883314149281419343763992629189899241992642798646724391513499355847851338387200722573897704432812196619126617722623406622592983236145079741904401558388992742690851903641091398722543025648433824160021835136234674310742569983816952022083521533801084276938125707406682530227862453357465307279164636566301531780944075120368014853781399659352324804488911308378478698006412255396289309228753762567885043144255897027389133906655733401960480165347379506923302457102765690367959194389553475275566215856622522401289230737466554330152659753698941296424927480901117973044723248858530377801520232634035287951690170368}{444254602912010649973439519576625850587386574321} x^{240} - \\frac{27280401809043582954539709800229226941922256980762099535036499469356024225192847844918313932768028629251329437519101996993970341851293586870895549640347066844386299636910638649798335456186372490446008392012158871353916959299022590903163552882931093272444691187445341146648517946361167018968136826774772113962849465879790102455251348737056479322221709995316094078136416250360990523364461729461850028858705264806880923150961924124407046423932721077201463196081164343322738702781866248034507095968507453401568130160667467602453149314651008726972613943280037431840411263647639241806686969966910099416809803044475402362256227285290811958827145608766272617475011223862153240270515220786858552113698761257356726448825101429564119037578085319198826291782685401319262165064153604466681776942253520673005988389961671405814531881624435876753933251290637808429188046672563460115471178341729235324494283405530920355753033727568907783250422603641548562131288533980151808}{1065358759980840887226473668049462471432581713} x^{238} + \\frac{232781727688990465067222477489171853922170824222830873466758849005239573328709048867518094392804620531802515089304440789999706741203247359411010880719507536004782263325736137280512250590150966116095228081518608802857473947793747485046412665305104447231081157234793691795701848519131673943242523376269499607036769689817868950339864725301942561716706029279975016955889239618870902178157502712755493624125552228706266863442546954850305100467544450803962403261330733415929264661647189816796642033870045716452603276388132054172372105288655556215235864970809421544949965692582195225570574030007138579183752943602616698304283826540504098824790923002425697513101027975260447409809278811131493861078180430317826111038091879066104658578924134511286571046125616886493327306941169067384123338683452219957273712037287725185724815721416507176740389822525808772782494712089600290416123142198812054291146550417774558245587602317169015805421208868749622046871915591312080896}{1065358759980840887226473668049462471432581713} x^{236} - \\frac{3758993000530458366765783957549506760745136386051307348223748071338079611519127833065727474232131961604905229730088398321096278643810703031546911822437302797290870515827568238502269438735671637860549547056291963549031502903648860512060571645648391847249282450865621347569772853808002385065904975114974106958017810622815466202861742541770520592039020449982332544000378957605376424232115993284905966960931388494359223272359699599586557271244614550943856875536929666579766156830934621987749131372576628461470049536615998018330559825577818241755479281216933480857832889657504047559532568866747570109657483082924662568761928243203138043306775861981445171077883775312013987529936871136107637759366662494998169934776550526289902374128653805617083904332525559176539890824830363950838373588061146501921420924637120738634246048219685714450763752353107793036981174516957120448600313786288442925101120848949624988880672895546599018327081353293832012977515363617174716416}{3196076279942522661679421004148387414297745139} x^{234} + \\frac{4771915693316543740571196248631900594483544813493831048812641803482820007024309998671787984013026390019340909507826646499010064123518553972016039376902148883858920728480387862157577188387755145700059701097054462199502159247780885281061225852076092318144917949467124960335562499169718507347189770901845070930440230998681392837399109957098872410833826487341886001590328585280959929530300664435506615694598783095701716331351995800093499285424575162297655852752460937072657600772799901623280762443506618210546484932505294635912707762891945132135352254016297786812089874109894636593069454867437669438653621378878862029770521885421900673525480790277466451720530758288277756432852213403144577285463630174790118910523958522791976643007937037141664054248357468263920162427765318062774207548022124042731670616913209229008641982920513887512242421254129327412379151669156391430900045820818453330830932113863371658984512190838364938549443080223810821927975065750912106496}{1065358759980840887226473668049462471432581713} x^{232} - \\frac{13682036482554749265145723386771800329387662572923750789904285851920874034273938817291495491564239039225113220409684323385774079828867957609528367938822748666211370565995146549079761408968229266344379248810656319713124053106189958829229992135681600488773149230893393585438923357597818076112345322922865367070334614987176300512622691086968652703633940163596119874185617694821958234955936716253892605501555970244382235116476574909250726254448165984547970783827294930588248005759984716993957628399314125113195577576292938187808330846373504159151675510053053073286547579664013470932376927874331838761277481247511260684836446661370527485921433963029106116150329280318677945973025777168309484994612478707832305931526393019563231652745262660798101625828850684626177434920761145452105664133512030575023696245526755323316183229644820489392563772783891954975450604956585203163065327207878980495650893926947277847620131309257461921821677872272797264128523690164107608064}{1065358759980840887226473668049462471432581713} x^{230} + \\frac{92107816235732629800007737485685874417916238981313133441055675759833039191322987802008601314928375044643397070120315430374264951056542750305480832372222827790485970300255920879563937562039745470462727152481590015608682256847002469815890056980255654308979571605728087610134928592113013326122215088757957755780230529115861561238343503732048205744795676281819243547838674380069471673320643806274023347379257476814343909721913154656131271114373129084821316851100658540653077289170206630953530787579317589285411538226794222963632049200222953056804899453930859045368689816271692283282969703081571260241810063816469484239233505503187605837934157030267867096963064245653297572426852631562491677751498503881737191549649773279496810476672359936182933230001237889136160777674763488925363800603573929532683109084951329329146404489554481614600017545035315216383598257380352132471619371501275636918523889851315610374707177297402690000148565485153748847651952689044474822656}{3196076279942522661679421004148387414297745139} x^{228} - \\frac{18451520014489241763171295982448891633568136607154996042957721009014960442727157244812911732402106154875282349513394678277539152017938317576351806986771034761470501730054158325052626889704217243854854991774763104666949677457024020579818533506631082959375019135721142628973423309879160433188933218628148004477863022645325783890806087666424072938204981024126093596401852590365465936318511825038723709200038107947984228346371642437672317697752458231233024900032734027695364845882631691204334443935479367482428893319671696879047473319174454378882005089947400699071283800886493201366394346670327100271515400182670896322959794234545978023886030631777287628426393092999773983174344491649986601834686979655514157845958551661481838700416514771216385839875317894711644363558631367183422384014179475698419115932023215769701045761173994565597369125628305363161128062194007273698172586070344376023286355570529782111570409923541940048371178585229148327442529560829393633280}{355119586660280295742157889349820823810860571} x^{226} + \\frac{195875409639277475135878422873932887276940157067842794535045789482255317814541068243268852562904654661562683393656474512670571491230018579429132046330985380455574318624830855512983051243941562319019481229619119569601974893474228069246236213495889623866664269360418546718467040338778378532196790849225909271658222711141671541762445604877897421495174681741783614196126394846147410740294784924019248440172585884303789384169532716505142468779535502004741301571931008356876028998891883917130920952844232965994102638729953373698219686866470362634789851600525638209803444884201362881191883067246882038096070233279541303654628388570488111254412648877227357918629920335188180027940489296458234803148814508037868392876536599537279450450370742076375893993575859181537993432207636747067499743590705701821045323370728267430219348301017470389608998547851553643424876318723137541735510071777165412946076862403647109020941623487667850157540854923678819008072162121411985408}{2554817170217843854260128700358423192883889} x^{224} - \\frac{2157524506983485030528118190200187767411870950862002482709589848344336495785806992534837409401888049290128101011964560571763010747225146587967342458196473325776253212994580323137047262627408862148115740514865835819013389899113181380944717140140719748057885234108111993037781377748923975117068755931837159406777432138923093004397581528566209118137470734596605552343092791350284459660286371710141469426306308048841919065536259773689675932772969270070371901086741937471771631298669191762433167958512491248922656026122548378067443502527021439560167199776289203005143746606565181632515793135939812013522856789455924933548418030488266960633576432389537168423718195139767332649124068348303784010929634256982456949255474014279723089570991268093324942164491467238392196389672935634920774026679386430929366886317186742230306778511578011216550321728419217138975764954863146466843136861244483917321613709652724488051302546792826885076130338779401324154403261642929340416}{22993354531960594688341158303225808735955001} x^{222} + \\frac{737151319801538188516360212897514327555317788579351774699676051131879766642292937207027062777529116728516977721576392099809455206615028250903540669917615970196733972408666217945833038995219054871175597436342136393522530097750345633422486250793295190066307015111671391580084664464568564838385053356149936393549660580547366706072312578315652908872870441033553623112750233395927312263393693252785724689268673508345410258375681789941925709468548086578628159377526726153578433087509474337358525696366042956147173542369263306543113045414883215326108215652853949845685531664726859862582943945707485266816813690175920298875923615295508002739517404679284984875166124594705067362372909034709629234844838833966763931485319379992528902127636811134073511130495685283622223256693004902270587047997984719695434747457597639795887128502099543331207747773972767873248577544017123553790475725636395612053991804566974300568603619086402047515944399306668104236768366728992260096}{7664451510653531562780386101075269578651667} x^{220} - \\frac{637396936296134275850042228616397336824475458389674518166539059010100404309978927760380834284331790892251875249605567166192041077389701439053791758805400433479304782398186015675112556432212578027148444500265099607422397175715040758669395464476280640809224390372703788300995007849293894025156224621185075041083556782372808450847514324998213985988096015737079999051135313697500951410768565508504579328151468700882950857604611887882365227035741958893064201217428964926745543819711064075726603892201719987571881204786553343096995483193366884369626596366221775787306143396988105559006867594322727498099483917825613087093161437893999958966418817937503070359158538294259689888476558262575213963601444887528655234285435544435447238754515632798754271538616865643990477145050779880495730679162380320348672657916283570780176899488660918702200280248147156724590045307334518606774654723382155998410201844321819873147527812672060376408978065018161108620271374329740001280}{7664451510653531562780386101075269578651667} x^{218} + \\frac{1402969738815753891312977371177508735885912189894563416151516330423347897973211613492249483909206521268728341544722754340923125087510219804800485945066456345056950895009518632621519595922477669068387725441669050641200463218713353364108518787216215513750967154687335953174681104301555598608590456174204641111893172020691674028271745101051440883078903114247578597005973649590657795611939709660186757378597111218894893783457387978556365800690799615416898377198555140541536774605036108905340855031982443602927879717527871403630382647736883681621910945878986309633475144855519470913278531974754654893658314851934115205249416728123842755269312551129302450756686727609562829057939371526937217234615271977689813940958549161261073727704815574184112735510159375680689523018756634536863122089680836016063572309193780447479366318992270937544189116617818546247227378248235746997340844797879249359739650583938848303272032693451042827783393785203383427396902331975504756736}{22993354531960594688341158303225808735955001} x^{216} - \\frac{292828972455305209998818872309471508538419396825037092123609691537566093250436514765987006542063442614206291507376660689033253403614643627040570937834174266662799339687615051761337095437300930564785295145790421939733468875975798321160174471645023816953581954343056931382189521413733255151288697017552613302353437039244073825419772902081007200866566914591322935285940270396402026986970455278390477884878447145701137754163059864105038935521431277759363203778218904573776112772417252561631099606465248526127773804052717724032205282361226005106793841420188537472327271718366528482645609976327408322373768628406300464750253179903073973582145789140929581097587070858145820671912659666215731313721931968180345601173223574666057847349680396771850464009255734865538540315127819565985291852093778480359914485432580110204956621271261294149769989278729390626970827164448643295605241232619263197704149953940832713366245311746796204193156536977414586627540511891702939648}{7664451510653531562780386101075269578651667} x^{214} + \\frac{157686420121134235108388815074478940272770749033150166015931256242799424163678562335270024541154513070355400775052983703498686280723906252230135117178888904922368032757109098094682251809625447315818406982584777736579473477585104691032893340908670996925527613835431449325805623383161583338612419339812133689026731856063751139857805796817288716967633903293968690286587976144110863908896587940311093085109466741880342967926340080059701767564837793733260048195655376175981678772029871391163815622418793987844638022623272916283880206582038466234186006406743949418883536785668399450866123201738322549120388020553820620465899771075947927591473409220975324665846370463923042359740292798244757599848742922542726065470135910685272533816118890400400102693316863780097662828037246614001478705543983641948618328165595050639780174936656591582533145915896757288728124438641543661516062381699340969596625945863683135025661151516043059982744446155685239536542482934947381248}{7664451510653531562780386101075269578651667} x^{212} - \\frac{221743193919270938889586725549866081793965729742812327642276245369795872584416391317997122799132496299038387933596316115052604101137394829388256499083465457792789260964392761640247419178432257299424729525130401654538158098532078237729096697602305635930843911605899269572893884427752534401778258774693445419441262112876162917575632058612238389343435862384524668474424418417144348017078556625064495356925202187569591709603032083096462249443602183196034849113853666634645882987951841731926175827596555952117008499879779532842231768609735641106931142493918745595093468371621077721466363261727726003143044902620009978547449287333027096191870427758172580995293650527655814529093134693464273350762799174476928501538864801236923943866652245031072563680822903938285728391672740321540680404748384162980460304280556400091488984581735138479208018126548969457646114367330337802668984600819530831735901791004045009073034443462622131241974419518631752992119760599100948480}{22993354531960594688341158303225808735955001} x^{210} + \\frac{24556713573473514644921871074142903562375641191750023441023615257165070203149012201233461605257780773206115974320971573594388367132249147268534353946986733002367540061060696760732065567026745809658570246434879824928416864571969032155332541949744709591851722861743060222396550257566530538441327957352311863310669935423447824535312349353454684814296296435283897278003525331041259706246700790483254327666743724004976457795677843063912932745538848393723216893407813049572980612976704179474551931871551080158545272261883291264013488737406279258923138258531288443568709743646535646372297823781556640272606523383508839936525340021222909525226526532708844872261474180779183718644511400295059259146806947740176082736479125282540059748716601853070311009313802368235267795401627391449789703735710286106305886869551867526380992067247246994549940776753456832333185591414037500993463001394837607920440007212008103156323263240932851891351110916364277285135971690479616}{6126659880618330585755704317406290630417} x^{208} - \\frac{9244905953993718435755460876212890903093345076161610921685784783069912603332142904825685095553070875736494297405081460324762046232251629147583839858395426372244056801122847645725184693660496928010094523498766151683848145311177160260846175020137433702234480249725341389428749997469785517381983751443860810844506727658127745018534784560363658323964041994334166193240004135699452488828735643775166507914792632409819684561606987266011473355137192274616694360563047506941948017796659334821058040852002924510740978311116875213362906044833051430403730224763129083199135192779827337181940091138671335547119066308859563025617345449480759054782695363438196741550333228989714497051374800898827806457892948040629611716518532970377089591929607805603130219733236527725667391079300456767937122549859403859540026208100576140133024557575912977275428405933630615081739278319025710777411977594867635256113177514282491413551993139076340932492913472571761399996182356295680}{6126659880618330585755704317406290630417} x^{206} + \\frac{1060787892152857476115046857928047656820363033387676898373423483850061544531886262862131882578719136486020967826575011314945505862422075540544788720571290215627081061998173966861354589668111135856025738733693833216913671816166090024669782174847339502063885136205118471452477254546501845487021642268161753854861208705440283239831795967138445960469448548376005905837569272694765213655723911500213610887747569325709253239167091399272554463884977430595341502642731132060025115293033844997447101274058461841248625243974412852455316989761119113258946172001098034270623385552941950709901278494049236422411442909174003163999178507030889808906999560763136533938305817753705386487475826222227549430418683737635108855796496050033687835542552548363330336295412192618164925080392224957585960328611972531439171817588540174992961382151642103311099738435690865767477916284810540024011903534837847310316348778558492157066652513616769906925009993669745998560346381484032}{2042219960206110195251901439135430210139} x^{204} - \\frac{976006515598873850701987406106764302485881428506485441339504943158735118379436084009482936256390480161802851392364926778366245197670065278745418826079763526178045039580116317943507625750009657944403744136097964524508034862435989117679765352896461345157818919087235920759370517193120739104988164180639520700252373154484120336008414563461663254587466602119790628512859148383476264932573421439346237881939924727070819471922856642257478307297769591314357280225307200870754908550312714806998460990170303518495682906109736764512278841518765720004012876725156798785121804407187444855099690075175255725664153954558767639078725880229563977859357588837411557479893432383321321462568339768235705759500468381834327496311073187377121506502385652742152183858097133271738513160946826580527990976645444854446272587853486878279411424234520205800973601083098012046104614486726897065045963605512267487543880688815920692710705331247764964808540205444595318643136346980352}{6126659880618330585755704317406290630417} x^{202} + \\frac{81897547200734986617961238452721410353565955106751721992638754769623624256529540996071640927821550243210890490480269620406188965427846852630229949464482305624718302833311152245704370129914729728664206500900430549542037046289014922543273839068408389218523461934450499777090634130804654783824797933267055480056168557898545072015862846763910837229623890433854410342776615579878869300503611486456645417374160558752601015740607912339433507148302183607594360844584928652604939574448845067959739929563770627792118685706530047269013449154952871439894101955952686485591976705407265492490329875763092235152439716438062625405551551166385639744517418692963382296351088826967854703597040607762560323218265771869144244019723981785139470121444943763076516674744523384882785916470143105794849242739517646250941718870002765014460929560766292224122988017936416835557738451847072844620535798648862805169513895853396408683207661967765635530955493695124168936527818129408}{2042219960206110195251901439135430210139} x^{200} - \\frac{4674623583193075037277278820391411270988098531531706945216484466308230094717818523402330319618361052931695171417528380316227642087602208707611931698581964448919288500925595382309316074521108271147453087282675026920091305472826490521807000596401418543863459400233750634809559825852002832049445106489555839686491202228521986374798484119053883996988952855891951337196622621273729563519729607720545901661103270895843707161563884410898350099296105214202676275848439596756214017749140525933577536109385265335433569465908297557071457752056305279130122827045579308043351607565711680561432593708132265597323256162240119397457714173685371778316491117057040600970275951626488379140405171954457923105207303739529902136928593090106718579501105740392547760199702556616789964126114249552489597114279821747486016685822989559288449180374550385810777928556875227531171340047585646124314689589067573828053375381094147078854416255642387590534199575089269405337694240768}{680739986735370065083967146378476736713} x^{198} + \\frac{2063569693401612766827045948100013523262195502581690822196828299156220878387054991738539021728209944490851027417999240863319098227676327587831073666447416099030464717357551243161717087698511632284627651759278990576370102744579683989234249783847718497951805264600996596565662117457997758741760891620982160623934007074145353954936935484409317512859047264929774168434812383593049566342929549907284125155655569453903606138545222413612616844420919357328868195008112324804646050364488907448449921356118729255068982820560822621336517302337362663815247416662416931582461999370537571073672440005701626940473858635387464669327081329613448197365257187307383887720016229551342619846793838547102160409551759426315906282217332173369401040401206088515907950469547002305860212847711159719234413625393495451851891562847338310314431584534885407948305725836923939026911557415620912850856415558821009549904880344221804592579776654306865546636138941231897392395143086080}{6126659880618330585755704317406290630417} x^{196} + \\frac{440051627646558741665231894389798328219722560064457713338871511164783623173311989359182503130574575712997127608989552699100000591704679084231339978987634219428156501986363990764913904481173993165419459319907209892680274678189478009548612758405800633146542612418481297598878777784317618853008318071030727307809907701489844182080096576461283577438785431348269013999764583639493202671192244750544635317716707230153348815068391434124459261658298314382816414254291029549546512117529937984131332035905713288957713275407176767420918559693086929596881162953916651320593531678581699220130580203825410488080447626309462611892469211847121287817020599473664625895340866285811271338662707177880985218122339086339721244707581782437947527202344159737151072670201643992024151261470600813311403661139961263442266005167839484209672443654138705423036781926828636238247956800936471041424490498262735660815047228150393033432732530161784133543453414493947736105156608}{4897409976513453705640051412794796667} x^{194} + \\frac{1123977333180560158339759205364497672273570619084199584779265344593633511376378782595564235115785145239624522949815359753691645927026562618130769334323625319159689847943302403441789336519277180203161974944078464912691886778792266248376435936496547895276664857702199806326336938429346493514657597192747482285319320832219060474589323915855353192061196188185862337867180044160863381549588597446612219651749699890851580417060576939025751503113187324236252285484099836526320134617420153682594824092365742459584522280461302379605802292006052760682188000169817423785853828545039015983312252765189855521522204137505292915243837613370555198760810237620576524181418777154192999339705970035241683618784220977391026965020881677295308959993595199041862139208493418817013877074503346798614636389403013474775469727109380105494579467499621052612702078943818168915701123886967358701403578250355808275687707137146614638929813299424433279431290985279949067574575104}{14692229929540361116920154238384390001} x^{192} - \\frac{42693918493639745407656687509375827088113446031840854373047788608488030202444095399053803600070637931997000159216893461393270911539465983260341813090299142731760509907173385037962057039786481340355615429622561551761503272651955925834809114852424621274416722895773256495589098850402611569838819283663452933944424081810264868088010828406690796745684985909421508473716087747333544858635413136852919264371473084979148894586262009705329709413713858338557440012096353058731432724826690745100662122378925087221941540111455094511048243489756915206215328787650360721437504479696112250534519757534513751690474856590096973571610478559290006055320007392845877677738614301583535319039854008470644872554825407901628529382323259482732225127934043577927635419386601843620204705407790123852521504623427493218675754065418964956890139610960036215263196383907700619557578675409912093870283833739640760510502989893703691686551944275262990671532715158664661048492032}{544156664057050411737783490310532963} x^{190} + \\frac{472979646461245649581648713282155790465597450983008342450482034752878355382301690884784062969659724120167224666094255693277023506558788098895475012246054735299943365262463657366091603884447759023161536156727532710617140346962108952524128705423458531309131010693269738724791435509209854719931290535881027891023430070334114727538029479909590830786561740061139399902518614732202735343076234512260948966422009423626423116632876104645834005846100148089094700796234881010446864620171986563367898667749813260373613492468565205346462743297988516442040620246119135662430835393978252982741010163535653320719766595743899133002447410139877279530947737913777205521972142705908538627744733092620513681354427190944622191657180142729375754930235550216245847367636771875032967217063646024127719902201472144583371761891745247579273858261820504468560163780832526764875998232533488731187258912091040603890083780304773785295821048635356247850058775345119624880455680}{14692229929540361116920154238384390001} x^{188} - \\frac{107344385913779489851775186287973499273511829604762589690255430986183211656410004458001920144479311412458170452683527212908475494545389786842615891596962275198817925376994256036365960643063788928368899706858702073101239674839626286115155721663199545087634351577125080401641008203159707331853363545299124697697191863274060904474497023488797990963896298105022635236014076353294251614514034823648917468398423304263471770740593939388626836595240889487685226711393221673988761436255967480651080173619802559836290368284666583767846729516174729968588516320750499550650437280856988557252281212645560789066164730170181593531709074226864655467430147939443237058285259136242469953056677015812744255143741129023040466004946422760693755056956530308056246493468303521424397960688258902670975649152325671223087515960145997416598068946050370836071633216895895363214273600431294567168386731953750830537907495175790044535878883455914885225211538086932494682161152}{14692229929540361116920154238384390001} x^{186} + \\frac{67146474339709181016330465592396928976925426482611734497257286767677557051137744030860351590662150450834953996360037288752590564223519894125563080975455152392503400347431751222873869257893852541504787407957609813432818106326634778070757744011354573660641913356340918853693110205315469006949992363221094178935191248152265203237249885939983011926515071773070297527473893317569922751201211181698429661485167039117495048652633210417619385136965874852611305125349637032316433450937587031696511071349201506550266019656629825187338676749699618659339924536605300940791617570419676371552588751677368041934950615987486850408137047315250992504130291109256793542371736095210341990642096811629784516219441097056679465156027769872788573624634966422184416116344597068764115461137660409223543080820635805740927585851955744842711380999431626335583368733004069634603946824555346335102337244769679919758860346779736871579886276655184672001119810515064655446016}{105699495895973820985037080851686259} x^{184} + \\frac{678617155330273402465464453805030362247999683833754382933828186661835254490177255446270983933039165038703939389969651928132301657193290573868568929935774840671618539529831250113902589079683422955975822724367154331518996903677688348548819798238835083855978050630226802267003030874730720965344828445387544252001118690835563221945826970799238130592586508857763508210781631211826041651295148028970089217134694879614166306918937063654129575160367983996595889196200103294965531566155197703542601707726714713893084696092754987833384555752876907728153430066061226306659370866400836754954143388134320997796167661759370670576604901468950711239765941826201213314748514270767314750241321375320433086261179219282871149662439316935098739717136446401006523116129193735788351755131493850537587646716171997801522630951284711183529260458016390562276460260026909439074110764831538199346958706220226692385076886747907496761301659711115463973854004193366812655616}{4897409976513453705640051412794796667} x^{182} - \\frac{192905313129447033982369591679622242377606096450442440901013040432043791935382430524950426425817512750844593244101742283629910253634380003822124515709775513453336232010708920355795799105248624233712075867283272076838867644935472071720352843777751764718215589778825913144098883711714923618901767568336204217847258272846493027959060800336600861242396715489678119089211135866845421352452172487394315555690165509978678294877847465193892957554950725193830261769229270451745514464681165045644327726555514087030020293629857870872072927440011673042414328490448828786575578252489236075786292481357118074136966460514040514132236461412357933772092848013767347955553055913390299042591692266248417844496168530037535832422925552898254471311916940476327225402617525354222719220935564010407885312942866060327918949422547104964508718452480393146058260338461971290909935466861059112433760747855861749837635677971766413798637592211601094366896376660872249999360}{4897409976513453705640051412794796667} x^{180} - \\frac{3392777261346132047976394974053941082694428592900275255515664515768621920688970479838596410560533495326073036102172325614551229078274749854680192571561260076201431209128979481351565659939632367381276378126681165141585513108894315220549146431054003800324343599662664709223463157234425352677206120387318254336753555916634415338479581639745156667408882506198852540979710628133179150273809330963860132091353032766781804700506419397116110390425388477070542442898306523291947355837413514418965172692435224893684372236257549041103482981650880255300117974559454015048364906410952667470822603018878091867273217738188501677317141728396254044469029896603162729599005519147534450979830120038163285931348488533065019411044594965717432535802574540404016144280985255023971205694766941279590098956007321408025485312010967011819883936433157632418914672898728966813967546135884402253169587611959984497213048669333924428047004941577550195441057353653288960}{434977349366147411461057945891713} x^{178} + \\frac{28787979009750079857457268283990522007721292032239826019559595407711394952207263554364123453848928112686810551444424835607750303864128750908515547934814103714900930730026178875869204569251191390816567867678596407385976338254784749887017353283380830553103768247824919421588554472399166869305575256971829586833313943391922073174383796187571174220162964610345901434264641725576640043472318744454822981407405545220394555208883047363941537489620774248454418892317346844241829043317099859096066973406975627810979252638240291228885392785009803597879130312956659081294732914735552565931315185301236877596827302477176605919274658579127873051526250568723465889804028915828429542362520293356090300077665744312646401001898506362648829132681816023998855976880933928535202671972119579798156918574678478621091730949475429663236232304746107769526421125504974681260267257942679226184926770126913916767127868042355669507550650222228392787029375447856054272}{3914796144295326703149521513025417} x^{176} - \\frac{9668743737618829186009837611081554618588744531817036253555550289225299352071832284532824646364293697069331050462272172181330722971494361906639228827390089683747357082987165098002770960835567243054332249836042418102656413943022684618970297515994231224509406841786832592890455216721423344980617614937680268882527799781077496067014192087139915057484796851962319721232210422301101789558499702774160551460081055123661790935900941185779387241341415231412360611122689836473831390045055756895834040456897756775861104839267702457022334107940719335339272894046920357768914988095399907735778152768577978993642629170041470783246834236598391748963634314831748485355828386062180246234725635825966048126630434365050734453772119204307341962158787511694583267536741367456567217878121286665119583040176842984371694043247056142817592782472336896545625427044026975574592478262410227883373489777651540073760783945422581437796111208274171893351432335252258816}{3914796144295326703149521513025417} x^{174} + \\frac{236395797049204515055762235846439189226502490612619737274830244835363081558074296455334682349435975981191137907360565810928160313132044559530376398586109630269737834761924168267045322663014169290267563570600174741907364831706524833503316967004851413030819666562914843027958444783090411232013794356452706561566464259559197251680740980692190225453739418701884539171950290421033616257735606019024761381910781313971654792594978234799345863262001480352314338379271501207299257514683193161679403685694387599047728259442232484323313705139547803130102844382901069860537977042515322888754675066624265641883605162195647573815985478192681161660263290282396521509500519741858242302743141739068696000676349478466359090257716666893143366168455348175390740158526722154279606554901266279785631925891360635406738655442781963712185667438744613443281290178542678230962665326154604834610935342409021290149625232685838348351605330935696158743791785176203264}{434977349366147411461057945891713} x^{172} - \\frac{342933695806208684814737224561799430591229511955157650660819031380244329553179626008706335465520362126502140608229190557345616473132026588046917894278951318696541444884962234919805424407017941718097071685679196782825321842257885064210587660399278016703895834990680275137621200601511399531971468337697450817310572781872954266591364465177551255229636542493853404073440123913369243480728613033017965842881158644496290274231524364595011523630265981371472897819037907279953998274337185070374857533455566021912706960799059559633532284433632763771750964748692651007609792338993510069407371079761403018290255987455203085806133800434625742911405762747636257533130520947083268720250072842820515095986344574404991757218025377552056315621019094498609473743067095869359996964887831128850236540443273962570225589608882773811693921457985308848400158507299593978013357984638143945487467826989501058471573922930125688291426433650868447641177303143153664}{3914796144295326703149521513025417} x^{170} + \\frac{13789577611957901133347570781359247335059728524925474893923742234425649002383835108450951766871458649083253180664978474526148144629641528547488595437121173482105869919449021852952026026967564825536055739651664668539544529909315746382271025130211238545059408852676581553118780779023161683486880227031505997800568077186570920078913126915853980735296198985580850896529954830204724796855216105559080777048542537431558002020993200041228607465437021126144335271706428203043383561685834169735736763869105884254084939485772219512581860702254670238918853022416927250733391550867780987361549936363161816979899401160178358193379564621577133781105731196953403138208058808163222775390108342467206884913709147072386573959339748897592202396928918893443692412142691680335019949819283955748427513145603965428809940037700903135948242706413949743053669645745358356866883659169958135393350708911862329013123471631654521189058684666666361236534563017064448}{1304932048098442234383173837675139} x^{168} - \\frac{43591075490245781470880842696937710119358118076277735820769824536022657907471008675063934640623389007935331528608130931829451899887041012696320179028471464910775913786591805224600860045428400889175301288299195708555117382290644069448946648120460440514641717279617617547234420412989907171756190023077946876660873699372165086050780382943005314794440889184631288893983831281848588218416789710452258489163639694868780110569230483896033898955850714868707479651116456979538088713598901035380681130968289281467012960929283654075120862600942957956543098048926072433335745490100737323271566856973549602857876679079562446807101536652963002582415405389035374396013505128832051403401663390762356606678856306506321593616891656423452988584638001679258334766686368504210355229064010485585984585358071141130514643732817778706687081233277585312487407373432534031234037459047434767843354820676551275487214494495397444198508821883132612820603682947072}{48330816596238601273450882876857} x^{166} + \\frac{121415762809963544638358643917928220322957232859259751723671010189661452864122273352679275531718220037255510476915626664463286688750867365056919177222408799061368692583570032541731076857709991951709751361361484709315354419964960570384791350200375852402658753395808929829636354668996955698737788925387246004117050667271765871717408475452173493834916086565091919462090171999049828739688232752970829055712920647444382744507491188354712345259202571128716242400617547405757452248567536405388352280098838710645465122182545197624866411705182164901030772026280822102575672127156340755025289385941877037547568122495324024197226760830666932411250582507054894190615155461079630203937606212135326504236952938760300311974372154530950180492753355650615682942448094291046820340493726332397727314689157182914991524065271987414161746012910940577742242669876630225010513664744799871639133111405908507320442073070324445973045734057721435410965463040}{3129333448677319506914085941667} x^{164} + \\frac{20415845205180239100000312400362906420404232448011917756248104040522259063908077672738934824515590823258891901448073520726658667164929518552754320115359634418608015411977529545622895881727287912631808015020237175768580647549840973561574062673405227674517899737795136381755602478708966575545348646069943580340389244433928053113326941517284056895747407270672366615801430996079466750087268763852642335583525954567067899131087963090028126956440901447438914849480128729123076743155756774086657118357484435451395545796207919155589705050712896844053672569786599837132273041556006354936801117912944931088918968743287016595810903112638820698008066321659891121031205989116147611270797215059525225054623546814349063027152607017600934101560725855735612699099616659957837326121478047169382879270207722722773710067042082306460291049203045194168270638475420948056431368411178724916919209971858735119040901742363733345335812347879721505573044224}{9388000346031958520742257825001} x^{162} - \\frac{1111824196789961346781362803557615078200618156377088563151427663195112729913743412504056072322512408515626720094095155109446834462083716462766188884330998083772922504307920638271246484639102127345159094839201600081222014753133907783420061225432018741647334957363155923874019989522433501510426900346795424529839247736470928075339418044980417710057812584845438796141579769200203752824505268273292075340533522438039383778298843376680777362175332282018215614803194863842155028742407546653656735505503160161749556625616235091034770883502902691255279540087346653323963979961395228364211310206771905728738232265229098798120646602542174698452304309967070240058884521541185564126234778532889130454650276517154078862898322851269267485600291129932112307024430640309925021203699798831456862369787851852348058432896795736798121974493894079022296476654049016511345217361144060671153142219907153986539602833755146548240434545541094716668379136}{3129333448677319506914085941667} x^{160} - \\frac{451823983571337459424044959719669966894648358167009453453031604184650843775902995512534719091880244117938005402227158397991069378926034846361121656957214506511219315213922626774429002831454865263255764706907827041081543156295158953393241310403597290667870964719181811631362250150286293770507684060645776121352797248533740254031553992283333485015849291711177920591560628317632130541313218897695348595842232254841867227767327751324378687935543790735952635211017552253454935945106372285225275224620837852352862280586026087685356495100380656908989526037578890363753532635061031634452374330559066360509179838510849499410942441290577445478026364076072388566498941115033864566614781048831034493267533853486727657747148313714318468361181751433165777935760040684502129381531004606964540399933556281534530157873734049844659767146825657777343187571473717998288385133530416282693529130471553456969636547004271646682116681896958894494711808}{9388000346031958520742257825001} x^{158} + \\frac{21785449133648072688654359754936587160741158756025149244945890601978395662674584475335377275015538858170773076496091077645229703406692038761936929400270222053128123967296327143197963605594790582853229328465374360360914029432262744612943088130454168539334554032540090116763675642749856324755521730701338831745102139086391044970296201594443134394147516076962441811393607565764527718669264375321596271585593280335170783847387166655246890638425278452107056829855086576237473813745862877253834159403141836606452952605909978489131344521853700195600772993982206220454121030634072696258558991513434993926449102019521821464867314366517610179296354329368279077122579484686197643852261284467757552074709460611862254335369431221126733519640985969307477905770715026469032213482147363953412756174776636959605993468270811826506072501314849355216737520846791685701529727355089347806511573150203407468671499009969558411084778929854916969103360}{1043111149559106502304695313889} x^{156} - \\frac{31408740809109379477927242200508627325607521391969087945050612276111259327715097133075846198586385290820332267894578422084064325831129975449119087751025643111297052881876585211776376183168616063598950883539762863694971358275572043356498200102361032049554464802701192623627294341252141369200628388826673030030062205168917345522437811172256693477291656470223986045642751047652915396265454623088256228658278701138149807481908437347937305754627107407301114559585845438929368102373224208955595515204832214388647008432289978799246885174952949254153738596165610881311620206951589049406905297750332587875461497375316074718680950924539452668014893283275862612373968305960719662813034591109060327671624178094834542355589459615548117901912493736376077094149662374242458738424835256661786338504969947800292939901079103032548497334353663685649563628959419175644107879275764294433256087783087804358260563936656182390509566302488894728306688}{9388000346031958520742257825001} x^{154} + \\frac{989897437017082465142326105017260134474661831337393168570274094887716908645976871965304438229632214836133535495454028700015939272788672164507936553863581336460624462992007145513779538850232685266159017721552040044333838762414788264136269209844574091073197176679836936992945394874255057015019702045951162781772287191415882345368701605738901168664773057101458205530112617605660337337181612165990542141059385746615234794474824565464954449306260564721382892450648043708206407017692761253560343317016670046239435195845075014585410718360767968528616722970535268695040940328513759420418151062529575469560230523711878320214699485204822049885097275903429008114576358388787623373939408053034654288264386456361023911053162826573500639517132826223177424671483914717669777301668768562911100474348053493559900393255782487537719925239698263185898615692375479264264598862136321495953904610485788657001699654530008374267812763762579166199808}{3129333448677319506914085941667} x^{152} - \\frac{53343806760014081803860380337337858717408310894083843050326522912538476994585349864472264061600638072078813603290599349872320061076368086600835349174983897184207667690359620295496362824271291233465489583668181830832829877074282271229959842660795523963189969026159387582750561138411509663133318602885675718706726075761927240868607553299066798057567794968653311372491948298249967062225309373605889959125461119649040737867676016272912413469591193569867320000929291380085074122949826340641109854684041082140918489060285709368411504031629275310765477422288032534155172433924948268866574887701772296810592990408292784677821218631421486139825226347417700435657522621360809546355237064585408953933289687985578178387941882536432271830696533788905245286054611723485280985680157507499460125200759042338435382701483728953716117795422746026067624635056662674093518341549037859942019326490134559141329013632057990040927260806519499784192}{3129333448677319506914085941667} x^{150} + \\frac{516646319892200457303849547939540600525032395800312254191975072498284683654577772329025743427936877811771254285632958501112703848052829874951044399176912130646944897472479976296159368001040347610115771403394672819489639400208143832606889747683123733979262295508657350390145724164779298319303289800936862175223149772130227406955104797814667067804856052571392342927136137738558047157641426093978243160336232490487991442014778264205710206022953439896006858782228475822085763362726617614917624231945695363086660499494437659109091989251700192746020378834073500395194839074636604111438977534680157779071531348644843836564732557947177081104951284149814176738070991317888521228889167688636248950189439663223197461181072311599996613429189881506612149740767607230593697719494677133434397709323175709701289157594421581379143566732358831186321263479064791394274656844923825422214765084681221363709795780110468347834485054317264896}{2501465586472677463560420417} x^{148} + \\frac{34930768256671184564192974883284174859268370565019107306646615758097430308621028886318482451612926248998924632907562278355143197213617363259497525475311001844976634003120260084410756057723158730867709584111262454434047103391009833640540880357083652825655714963389382835298787576549056536252380921085310943702711370325951972437617032998344313374329880934419674376766196692423716281498550607523193857966714638260393765501217058630589491765706549156955884413067807208299390131657656065967534087417431239364305800967199751347463687978587179226253646980345673073234083613145139752878812971420175599550892255829136476984593824271156000174361129959739162109195420454173784650604454013056266173780424719350656111340793142636782152290054914459041360451767863874319122133167243126440210150164721433753308310327113445267575151219535961115126035991304383462028743615213538834712691578343728692001241177180714674617428695215767552}{833821862157559154520140139} x^{146} - \\frac{868188481765807116869109210267437045473301569505200516091793496691577516730115578854163216880065034955155018314218392142503480972525111489398915864225124420101667998526961258905185439159657088416285332055681854621099013813961753469484437016634961593002210636253289638332964605583347496455675469523274976133389124593551441205197536135522914227466631159128967875136614533842534516508758334811666532964615518318114331001049307257999235372299079945639681293596243445515675447069897756865774392053504614432346440251078141689683694615337384390478383306858322470962280776477624286992890066683988638783177206993864138924418479692892865388208131817706236003546729646824900225244421481173591391099546437930971090535285638608665920297502968023336404510803461024549045582646713248693154639421538555828515505921297811824804052763792364004277300548188667205270096541740627686716567660239721317150637003882620112503384696676155392}{277940620719186384840046713} x^{144} + \\frac{53299001843892340717389639907702930740027026150750173592558292156524970325568416547279092171818268558868985815037385815631346192602716687678338652598222319502702849218218850204179076120236119473818787701066168330035653841453272506661332372696997438186162081281166156519079250592422157319780038157483337231892076576654376769370041859536599570912461863645056430477675007821185183155639281555403303261852518542908314351418063378425506858764821225809393553206208614348260344412750669530422148158421309888990047732785269321769306180222092405697608874876291806663081435807256838777425779347659870510476788520983799971387478970602850341728349147785648259006818144772369464935206238781944529725201310788900513648045130656194174246268369328818778415200637115309599387723100423755548267952891614275013468132850758779126652666780720078423357441250773224887341006657704729069014777282506497957764445381813234832972778188046336}{833821862157559154520140139} x^{142} + \\frac{2712059954210280488431337377260144623175182410154536623068139284543844842932048474335380975647208672156011662361945264436244202533384270170638406790536135930950569867746231105872868914136745918804608695376627174265866412917282224269552448105865000361468197541223648768056760016230904888873678610534421351111766694418893123061284189309163755285165678466766761805128586760650701087584648130161627775347530138337327607724397145279620640404055191035552311868290017433080474259072008743985761155040897274961559339852996866556308718779770610777146440795955191735951960220433168738799147365818716598869700941589799873932187133435597673668964009391599005595108271875437281511408244688299228431861872321972636497685127928547997037630314583442688335367991807421666531991103822813913584688489762192653504029586811695087317247893233248213263069790651827055885550461881876020391326767228045577116812593994173579133856853786624}{833821862157559154520140139} x^{140} - \\frac{186786268128273122657874794230077092014202325322049184592507458800035930663100780532622655491854321502311030561897837415809433663377758254338350415457166418438413523671795364322098727963796432199875676828625334774364988008992042309655058827180520475806952193171051943940904093656800327253247133875060433689061545948621035509003484903893173275828712697280870333614288291478138730663458059398763814867215167484619711034579604050439566700843976687284351316528629619783233569175319971272463033613807860024452098357735777881276288774002335935394349867892222879161236660015441294005578681812852828730534790054542078791170012067086618201608511622821244524228332364608711069826443243685051721944579110132582817815697054162400118138541723566517662414565581508846887026216811367656697305623756250296427869588366231898070858655432638288843753920603187070020479037318267003879902684640553009091151575604166870896565867773952}{833821862157559154520140139} x^{138} + \\frac{2106836211264021589002226134801465392029573079686001432114554557280445526549554661221413569880262157750589062211903817399241204027222473810651163624910941335879298515311944344948448995800712925597975163908971034415184445675121166784787925077477934881887319833371195042327555254178057157428266678221917824127715698485097348902492077317880449637053144454675356348866787102497583115600497178179842999976877072914226437313539992079085559488833015785392498679177555765195680666296569967494522598666867484546259005007812191345979736496520964509118645398685495451082414157523328717480765809272711933294086709123529817839644695811742927004460365626415043951887184844956549008292198429089611666587500363400416484385796129218091401187807374790579720373930852858225421447324923721114681170373954790134535382622503454824777349518611758798480614922353384618036901230467908055853037168975744333100209847395411811775824265216}{833821862157559154520140139} x^{136} + \\frac{395355045081825440938613488878167970878144974406511620485199453147724777998112072500440636303620281771232430359469163954411660147181436551850708209598946442165489257055436703188294326104944067934939933861288610730868798529392180661755319373287611307963814038312197035674736170955105771972446419723538350160901024791161093531904789563029877043437178975069028208572559350801503570187437981893509401538965282513660980572626264322030247004496269878619913924597886609763529372487373424431682460970313622514384069702562008785230814370087433637835190254042665409527243142121893601322071491959962980912984606652130639276443206465962147798729614487048209367342364827184548412768880737472573406567113836722601072434043909827429607875866339575637451727354053232782023794421086951175519425887453960064161062685929877424601580793320037248055094923109572046200298948906184041578482376568399678170198517235091252604567552}{1999572810929398452086667} x^{134} - \\frac{42628286731696015132157672673735345734065512634936710431847997996813849690277220070738744107814180252064673186049527467954175852391096876161200575466501969614534991048646289009721008123673363094520114542256955423145278848009144803471909610878163940098486634659908427653476359887025936358395238502984653867586217588313878001273502602952400785826142346361341932799325900482823316139501108684422292607596983239381948793622941849659556153530793930684033232483312927264521014102400562635319653644785915521051381295535366538930615062337749461200588707428869942044731668518987628746533169265971565252847360556909779728695698829133429933295628197818562396493824038858093295536837942991438131606756458094976202574421021206200849810903121227476707047190492927319541522705110096508236455494851681577308526480229956874291758883688835417843582867696987866276161354282351754138840678303096263349483999816511653870043136}{5998718432788195356260001} x^{132} - \\frac{24038259646073143883732884772285750180158482177182982863115968438580267254952699668047208464959607181285080679109244231718636543289908355285004651077012053769632058444160869853525678444645597450754361287415949102687977308525997987177713258529876153488455016808842430918049988456388404318657523073248009854431985548006031346661973750255282697800314747835625604561015329054307977866016315144691560830390881919736792285751758678926534703867066353362125208035412603470088400815502239211988551897340174743126072150150740352128394389317889460017310283855531223554042411404776480671577695331506094823560887695044355772675644535683417026147839865940197081314420209618679875255468055040881937996078697395788879013273331139415563490195814089644968130348561034188407989278905907614968890563393394678303305311486127418725859145225136802163728536057786573259471739017745660411824849259458525319239492098812798828544}{666524270309799484028889} x^{130} + \\frac{36810701803250446265568085085372586878741958431312382733748108005002082501474267599700627628124535326939513582614813014386180490744288324615849973291849233741756433260412364633227311802882811521522894160511398805198779379683060334948382574914945779674851919725409499400412094031429914307314817705233373368917788208633447702363788721127020508472352981080318013780637610014883922744108581664355638425034044745429558672076488882515833483086793302691184499602905561795143072047740594994961673179379798095750861774279646262343715369591933390249807655138485225594434380030951372212167414789842325281113756182202997927014886787056733649026775393469825509167905207881436538635750229162521283507920786365485008355416156420144339331228459533907456334915540806394942438072679519823576666372081889485581274625703578075093442051330520942711376126033212830423529304153108619203961960774146843475472480912179608944640}{5998718432788195356260001} x^{128} - \\frac{392886378624768369603300160906259159425560034496190200209577450139667163759556374966820170614877127896817112116687861661261764803293012434933685439529521091966922753635399030304942445260801067646700796970653393633839801906308267153396572551429501220069789492680708737290988906520397950684630526349615045259968158995034260159407901192117355618545800071982621983520020864504496022824799986630764896937784115945504390120263400677254968824820406949377088212947277474775388663778503882092604897694719114193135101003606171354473719759540163885225653943417987866076350743616283036669563865651455170983505595663449897570450306161236426447229616997864585165844456965314463852832459291304212528227641974116506513085680023445923018816179410951623352204993843066728646537519220202810424908054081062441763968403155317703180706683909832186100838209216745035150244072982213865638986968413029767693640997696872382464}{5998718432788195356260001} x^{126} - \\frac{17181401537896554808452392498719424194517015398069690435090485083392375212418926208786606422547643885405620528765116683926930337487612794679781837881607671409747566345168374375818303099048631091479335100023091055256112154157693442462560297644261181097022134395601794821049545799741630931129249336698663324636108471543686821714140937049536695148726641631448731498617978265129487845844394152946747669060949908556559685964096773866819666845138956314584904060151818461907211506778968967923710186357155328550556973034187491522868823729200685549003008873959599589900974563325843923392287932045748377729856881713081047939634043840169803429856768972941099917208334842179597341161663040976547097924016532516461751133725494718960898508703452955670838995660094328255296925030304136305161129859979322205517530077938862831774230531543364140184048989164324192456261688675588889632748422890154940608446723560308736}{5998718432788195356260001} x^{124} + \\frac{133598535624129799102914143059172129990722845441810046231786948674090573280071328801061151992463646541615929691179284108432127509904096783631065457888364786194212052732948169572601082074093282293894683714530823584776577225705811343111130716572880881013570484251114390630424013536271167310958458031552173234189205090326603050302851336012863602047616365520888110157340154712849007174907480330186973740966581596274617361228040684555642676239965020901148098544895755146354900077516802501813722987161480551647088272627122809538237540724243248121892188680159960286273069256731483834505678179288360170881747733925004278250293702998273908062027843065625293025596420761962719049990688993478090016282213926763715700585034758972036913776237244433686536498031549506803516452756324614689634520428786850644643891144671567953528163706218244886778620654357401629800429792637199185332052115527515768962344061763584}{1999572810929398452086667} x^{122} + \\frac{4256505824417130273255362716986711238326467912253240147482666856366897085559426984405242488965838194581976316900199020603626413918469331093571586550323814324319269938320333821375527264564222704601532358972420064799732195927387687425960475518170451936767034539878146280402657006254367017633820631525871681779822135454017078451962266016048015171388350439014916576188938865576909423986626725970584346244773949966738696922336384540770515882518246247681326344599788645067087342322476017652020691449451982869335067953174246133439524988683670707913543406177595904442411395239611771032302523158356948702913349821897311318300595115287033404939758662659077767658846454351993501416965716373488766001878868293587995417111275885947234755564551667474063761878664885867608942928778047577711540641854734380623717536113562714660588512827121284050808127105132821817707564306909518123177874197461269953445313380352}{5998718432788195356260001} x^{120} - \\frac{18247905969221488212259240847278684373144082650865433185525023301590790782916227256205711942122516295765524699315407163149514849981914802628402130500928653407530621269394366438309523769616062925301304756390846861320679387687434703187850159207265257781436272603726037577027270717592881075164727823492137415944726281111304885867500208315491343679320527106994030931369027620931096274391583510704973832424877010690420874843445945880607133920307432229221834050673425136947978991029657346892284742652886858989488616295742096288294661709440948446496476985604017643389770660040777097827073882438266726809887714677028347016809563765221861816240553147937086328568358190951927569030008535539872383318392933911473674661515576448898017860870366584609265478834986364132833860075757898359443425714672076194918494325308434995015168885422674421726949482089334066644068277994726904300834609767627333310611456}{532793181702477605139} x^{118} - \\frac{6130890542448792259329269296155100069415270879923670368445341997082033229748544629182793741752436195690499482006396431767861216345581600614606263378820541091356415314334252795439092170141170198493147580207742642653919476221853572454724127709545344368696819623282572863545569965914837861641497221110693666634772842469175966263420665413136868018391076890508298144191306861556191845572295665907436159274833311756068328754919076575286428099923956629518564840391477163564552197767155467118575899244175553453059972926654966099074577232204596267518371101103191211162518396287995012580891001467740926251137061352842874366033268564238635817801626929834586544253613920307907406204116494402952967420971637817869691639399148876796504335999441420095265966970946161887527346310693814538921842966000659736482512710602260561157541509088099106384743282708560320918342196458520982234988632317502701961216}{532793181702477605139} x^{116} + \\frac{18540284057671863957399086082256135943367043622097887751437780666519323351377250046806021217803427520697100140439517736909164730029632163973932338024994825318169990915607796567024145574557966702074686929438986394375510289939752907532206287442860450926238039305030829059952106992704440163027671363432606614713939849680452375943491761480740479774506510385114141577792790922031787874805208664042689530210963009317891592335627572940950606621587029337071226358470390002785107956493864698111481787924394890495217324005687352395486668599171324221413055986749449629860887534043264189977984792092940029795742211125587337129316574485508724464652435082744778553037248176937758157758831171499857719961980725373877661084615909435813348314578149817316863498179145309475836790963341546711881317238717743943701854054123974508706505439889470388608147955365656168292592731660532225120164057825793760296960}{1598379545107432815417} x^{114} - \\frac{11334999615880291567677364503237116388768181819238065680983002096427392694532317211029372522589346999419357555409436043167302644895480588460535675291036568769583813618917537835850653290252003392070866421477240009733302038034778959850885754028556307360199186231491138135998968730187216802430363963777216631474774392786014292482527060493715544955740657378308924927312384200497204761928827501304403207565218977032657714662330047277458192975397469433287199206305896736800912839130615620348214447361390620802846093803220930108273848220715834325346433857818607143022121531197577828524779973263932001482516032147194503486436567117287299800205631069069226104901587587541632679464580147712481432745958543013923979019494944050551866813456550587895914595572891846014838131791705503568512071128861424394614777442938678286706687118946863723285120748237256363129446628955967401335626583658928799744}{177597727234159201713} x^{112} - \\frac{1488483679582091471638313002936652104523949189249473566014804596758656459681365588484938232750835663331826383701232359073218543856054634275219309839327856665695488308173907651317573579595534690508483564025981571094552172631205762330541458345583786770745651058566396180514923201623682977061012476318034139821006458149681918340194309212615599204736267894940161735879514930416816345987166621404434541712610616602713257053781226482251869990334147618710653336684822962767576871175089333576637559995363460117956700770587781262227267635776881787667678363568220523299888831202172761834833092826602819575948758959097124626955820302492693572578150332834242870406292382037863024821109963568100132383797092138813981731191322695903077061628921473924357296343810565626056600712901087861551718835757591846094948418427370790352732334823324969764123047027029249055680472738022452775075236679568588800}{532793181702477605139} x^{110} + \\frac{1664408000842503132157717606415455663696035654417635866737126312963498510136590637284018526080882442496500976405876983564586121433869974757046966272640168390903252066047315251159571751121237983480654030664449018857577751740540486889960911208853691749935194648070656583765015215420009437861436177863733046928154843154997214803774186842730298532808775023328390614155106714114092859611972487263663948513454376701352979759451805968457102650900104852451266737208445788374286302629475460166443672604512718931701286465713864951127661493010323448514808628413704112597313320042732624933886492000823881708845725215311132070389954479780166568316036369138850259280334682871636119272830324953578165234633457607385321960721546514766219296349020034052852297630929186677722256753360068073670618071685145945387334640750074160788916122448088966525826083258953286132718242830832499701684347984674816}{59199242411386400571} x^{108} + \\frac{778425528150531601463186199918337552690228534962571412685778484652031488453340505006459270881403838006333204394084977946583289305478995613640859696644969054822463173493742896229407688772414730306781980022640114240484869115007340346825905412654078033747070672074506210722319505577569941746309635651570127483595978452688398608386656585222928258973426869215666181472102366410338180993786478148708249777028713772689926120143447576907571910078246170374557885350863244947425606611130093725515289162456483247624900798538108813350117160522695757990679259798425021927538735145007405865684778530057025352944836598599842578374159535042156660974000462446316796794135122785828214047325686877689431193740351868199423773630200683820567078537511049593353037629623773646619643139063428955228975145733309701789406356231743957104628863326144377798806511401503732126752738866764442432360498463768576}{1598379545107432815417} x^{106} - \\frac{27576942893523581442227166348358612727248565965358118648542565427467565972776979537277861665989559846111301697922375075832868808162014386386879472896328784913369317880027886962498957302068633223588305164457673134450264313217476438190486934265822611729712599094980187492552185686126924007202272620144797634329166376872945689688787733085423318763902884973678478335367651452460913766087059845030594714685504214715670554109141840005783001812263684655312045123544531660001332125568238638206513308915366302834537743206614456785786297507070852830561790769554605960158120520011250728096607766704712241345999786499814608205662668674974739721791926088856065288316634890602067394366176519618329796546796262021411223255609695570914728854481235281823328338307857022212837562880627738220413907858200582029950881352749060503656940799463233188358724342268962619632537752235619625685403828224}{3833044472679695001} x^{104} - \\frac{76463833047344982510261462919968595978775270697717104388542072607663000048645897009282667565623577748597228382672174039472853410468441525344728616026352454364081070909375362274634286695321740137272191301540378057339171131206521705314274186042721919333262923876013134776159978680623813737270910317583696819588318954037769758892287140244582375693445990051727557920736787054426996860834332666989750170544426048949228264880303302461566799656500897491704814693177719217796067295845524768345423012036755671163109527684791846472949726559810573647091698144277342176201540854039972002612191261007776720519424636956992760007355366808310380047060695652672206927225263242218891013842362478520267276577058259082307796146590712571051974923984924757316802837135763025320560047519603070611264955941820001739420971708781309952148349450986669055984669216459049287087114779849624960593035264}{1277681490893231667} x^{102} + \\frac{1641162891092445588836990255540911603888093339227861425840383321347239785816474629457984306098439469968015226203561454746900024588514326667144757525525839247508622542285310460265915803240548961081036138001431102134534769367296840901512384467785804731605702609862524899436618251971975078212584357447636201549384771608293066834873761665632107071080899033083875997136376940455220458590993687074140021064637485699013714071408691000491998534476896445985198929679262701679329259946997616761141710076456149884335397205902932209061094192859401615284983947804255448744997765078735872145582015559799875155561317290464983347765733106032982937648760068986273820387477985311581643317144369171551288559075853882329107870117931739261146267694549406578180438683394519067442593275278484757103601213291816463199324362914084644962057279897793729438393112787150392489285694505546667903680512}{1277681490893231667} x^{100} + \\frac{17479845072901220931144539360048725605595247811998100522857193734096476469488510481771117909099034210852586875696580466076521810764263952368940296388663884368110418449685555296381480700530462559957145577020005138272147815913040828291559444933009597357472332378060677250383003661837348932633732359003484980612641690402289195720989957788706192414674717291345673136241757300174545207180706409031111967759224659334593285349373663467501248616213175552144764500868351867925302099004763922942120933777350879607888197740390956793007867322149420971010925887970317166248928043378480368126951653721755903928059880722116843623299808965382677370006048115535197390104724534949910980645632231173412214434568407387218617302519526154068514800504966906864405212872634516906346175760525082537675305463318826406619186972365631816916790420509155581252634058713181718048013504417369975422976}{3833044472679695001} x^{98} - \\frac{644092634437450627752966696929888073964179346368039695749853788433516484950876945242887407852877824986290088869370836729184090253461562315104614116797995243822722630697472855562351240280009224607989234347913383325197684335602183939955505714910586944307295581509169206565741063325112689470003417057344343330257075015381612465965480225251178943755639702511785679383631301959101553498748062847317288211642407559965707158822458291417608402207111874669161992404502016116381297983659908751138646865925339958784063349115425705833969028414301539922230179165157315767656744100298996449644873830205386146914796242767898407545308691777377222496768886505206428744880572066343649238654405141650951401325163126829381422194084009192285990548118265060667941612524024627191129892242439587666041760952147798559983953527333977372387528261834038333292307470273530465527309682976755810304}{3833044472679695001} x^{96} - \\frac{257284519211026440151668291100876815249350963058782519586591857664476541544569178962877761773639458515534766923563044872177863899394866716111299077093014472720233537188103706693788154996315246994370330508516308070538171105945293338675491635924768650197041364392234342661994271390009549238059168190391910150802711064632573423107920615758258135989564900853396986010443753686428202347770235117425702035303471772907076313190944419556226542473569059395602426009805207307711318977192384610618225918249939124945182256763572765773495138752660657929208996669852353708309912573472039169509376194365190730370723064865888556396551380770590092670708447067849298091034158346923069918106989136174728891295316819066292639886646791562430293331315133194553601500514856850008292336511450335909910272405419695988171174084961510755291202521954157350780343264458997675469127580737601536}{3833044472679695001} x^{94} + \\frac{6917997182961402578106473423419263381816608171480484309346966682625937214746516533614749430550705631997728453731098910557163844716681045998677952459255887555402413751692126118215375771287851498327209081371036766169692432699583886308140411127904255374910622003563305531917250563614440199123818594812942642772949253352466115083919957577624936389295107008769913795831203863516217386625413061986020886044922716115845337479854054702051621119192947050179762962609890953153006989279237854733908664466823017043465587183713322777715534636870624224506273821119147156088897513352335078822893672933093939414509763204195734610660975908957136611642655929021983319175356360187890096778820058228070743593471688184037797063747169281527724556250103736825278751211700907627428039747703090550400609142031800912075586306377095010324693565554376133327083217226382996463200424635138048}{425893830297743889} x^{92} - \\frac{4803227392278089053138388817570515032911166972164615114215300315226630250826168333438908694436678060494553404865254906470270436351659050386065987121483476074857238889130725700137327943724797768023319877203437426534344346318141769429970361503038650270087641426495498601423370179807774090362047477811912033023400742137360439469499896238620421824772848914058887641267385039911953700679864086427391694130313377803571452710098342602442067317111032590095921098327506592750184087081576230623506911000550158275532992739099975176247005680773601501827767202603312521097320489789549235876327225226338250422034059600609617591403212436631064674848022897485973746575116171056233738028146178092594542400379296590337255253512789223417443742043658000853405127110359773982784696941562051569161228526679995550379436997534025997435302883006834879356117511736402457116056653660160}{141964610099247963} x^{90} - \\frac{1162926029344260822222240028678968529558444496295081667981139779000558229216179433834551758842853589578669893995461544687332246024118292502769907562471595617808422783902317972168762204081879791510351977610946720234106659655236788623842738810785977293814367956451438647583736297892533982686953629282539474096669800803581251963534532721681057201895634482402896605287093737945956974269672528808422739315117726499728866815778697706106257620058475381741421677661432212305104110499370926111419512277197940139976271239112864962461457200440582527686223367090551351186297242808810955569502147760422817999493950375489255885684284411535005501059862717067238836465554823710226523008667292603665912943396498069270582381551477652177294291173363818487554488616226680705664598559203063682447348454931298961412801873443842580203447973105829391513932949033418002367816663040}{1021328130210417} x^{88} + \\frac{576440449921595976416386753543820672945336524278094657908724594773458778243489157650582230848451832294956486486763898312005421710682576724882205506454789167453361406144766029269064886776752775873026419034852642874474398611410947153192265538613118858133221499371944591320326276140250031114518338617258673336495477202116646242227365608077006049430908957746055313929851103935775255587715472900348645046563353745118851601581229794000156160951851767728843120946167879225394475408575799970066519369288612193103769680973512217121953082164879677962850971831037585115160016157929692378429937266273721049401308564655298256055522135860414510356435973701216825110938898959605525998956324186683189463751360033273527738027576803041744353651079477273757135065719377743941930831245937864468474402946548822449348849783886747399267669519964562176080624235695158308372480}{113480903356713} x^{86} + \\frac{55626282811421088851954517838492073193280540989122084191016593473909816171628631767039877943076700794048144201102788645232154408368476691834056345229021547665875113778118253970580671121371614061099346376771986879068636311067363793641828268032933587665718977449913632708654043731871005260735352922991997417673015714125879667385853853846865061879976119484369728231219634704943478985022227670188543572088894178328069323592590379806988679776222683135764318582768249624039998719171678062190674037130861529991466886284465465905788325556521298028553946445816805542902115307720742619798448198966179966262651392012794591481638893303036616179632814695362330316590123107605335310918854387226948199780336671477619680012838798737565538691808093852514623882694451316164553629528298989121783096527822251667060672135137427851345335632200163600759016802844988502179840}{1021328130210417} x^{84} - \\frac{46329971269924857766996879737121752712439288646350019235231602287284342054912966783498152567806282364378964207037711102907676015275615035032779184691051609345581704058922518199356466437833782570995053162796472449650220144021410892684449428856020530442471277099756005998686821136413087265619696332091048114684866500467328141585577438812430164970840889467890187885445673937368682364476842628020589808138783113390797889192915139539104741836394131491551340051323850844355034998292579676343501073070296032511253384333078993667430843237997869160036039542238692088346790826584775249917259747801677213063783946111451946470088248859029458016197156088914006380959871207408338334445308425208448279664614864634056607904875193717987591021696977164859811249082711305064053147027193328704784899298679830821277287932023065313800647758564065959718925607367061012480}{113480903356713} x^{82} - \\frac{1481536254557035510319126270715552779236140357426786114040117691701332592687672108785472710144826645766607113974365884847475705324164300293074480637318835637447269289257031195084960609373021026673442652922995909653557274180238044022434360806508780150779013994670687444410712258204000167574554268815077386383136221324093403032846799793108764351842368399350663156180121702986774299929737845727105033115723711406078578234679661162046636253452236028737277278370100290396431897350005152603990468350669128150565702487752935790139162700072164756908870112962108774101657393563115771473767402277219045816275901526128516575568731430591600889776922323802332812555698085295609602564255271167671225448461298967467598151536757618605889162225499487239391188729869039301124674965553376572806060442364072159612921480074257666324426903851145521705478689235385974784}{1021328130210417} x^{80} + \\frac{7103589470864039928151278139533355661952550009632028378233205324972615882558141318061342764300991747171767024851717018309072056853029034900892519715246361122472975758556799296009785650236117423454312301989120679654988520840993814841590261898055957023493915290142050088935074740471949614941122664705138066129249307280294930002864232795344807169370034442582903743880945225986096837295107335732131839347706243402984613736053931168308537712563072282786871999173942166752444753693134527980271373363406194866132188645344252633756527134416519459627194228479328226809665904114332392819169208307421246193209037659810852081910235193074505788337704355682834891201997445470287618317423802919919829889881843790627060262851050683680312212717837720079551929310200558750955357411296731617977826728775256165925368067786041831448897701081115833218258383214215168}{340442710070139} x^{78} - \\frac{1648341888891879845625543747579520761729425364449227978996420020741988098308396508414847179672826566624757369789460573987037401985733829885751620882490628962352506189372779170436833502360071774888021662484348516906852702848310588222651100547069870895374829381778092095906566637459404233857385303414599402174447857858068399992475935609960536612387495834002361683111443639580532004367132927671695795427255626661535955546572255582358832471074533846270566839111707701952849148904547022918033811155038019554906551673505222007588348933491436273697243229821611994079451075691994165808317812998303518111010119534007251313275029126777684853322034943378963721945292407220382736959907384253479572680082125565720086232705780292091831841492392098940177615817413287599367242195049041711961272552402651329217582506007037586017646710237311226660543927418880}{340442710070139} x^{76} - \\frac{1633490887288740705273023007275192720058347650391442732610225297572738312598258366360344729105809613554138679620228237441547311575621214303048238174425499061817031812023862653007384104172201345302329041011157043646523005834250310358612771525300787525251248215858632089635571699849016156225006618778722606773091054816819498935868115157160371947903418366945815768292922541654735622982730553260107298406021530300496127880101021318122279693555710468872466029538467760828400363577699802847737564465596817025778504954780659774157059342597890883713474984929483439123624921171997141002909682701854131844132677184294717350483517170445277085454493760337780536773752179609877610217341746510641164189489067865144610249060749304530296568123828688443405098775069488157826036365861534132857031020034658500811546869207676934402968229494726464547772694528}{2449228130001} x^{74} + \\frac{5031854982131473801372539322624626234748690093753760854604451213694846841454539934914551124502950919407706503712464138839022714381144356608570451351148048259391530555464945616384853176055481599667800058636235969874923697707273738457350240875049880376763550785869636237273177016131115605839668015872517190717053196935758477864986689985690148937483820113486291472529672894094379299253423892283186272901697096640169812256785419475847438708110644205564434628166830009406103201593738413653877906460508331913870583723955335390310380441436884352055557801867540474065823895835995478792179879663842433000681470442194127833490326797482596921544258461558214385833237111370198566840750175233562511069146758212707393711260930341717821842497236529409542698932782514509237115888557105875882166241647911361935223891078040998453132109891098883502637056}{2449228130001} x^{72} + \\frac{27338149386959562433397009003127116295945439091898660456326738150180271642342011139061132327706707898107892590382749119316242235744511326617683941087461085855772529074455029900040799303229845027991635726887914921532341947229670383300246967570274403883051082755002474807496002669946239541270187671953852204883560341899909806530232428199774529881877943335308042258960553309830416258130914357546422421300647534600753995929424066120912249097490947287623863075008099841000496685278517582984346709100064759975207766291428797335037210131666408282754030927061002633711158304281226532190543369299368579077435568549431287577726716797674027988584487907969782611148954392769546291064280790228420547019854687691466995447374828348055730359553938417459912858931805764465685664542398651324675475361362185170491130484375791411505184522504613404868608}{2449228130001} x^{70} - \\frac{193948704537236222375190280586024329103269899595840986784251281135317193681433095630709006267413935422176523958231174402294684708155298306429857880090960181294152778154081582990944958451529521229128510589519618692477451526900225637660637391987833202437297629177751526407315986386601859439323681902715490288822913812608047644681107133766422806960132482417283635939160065319583505667120043407130824478516866025578045933644254621649891351788290405219309027035500602656917980691185844364205333006291915862618972175034322578023389806582290000321378351691482171074083465845191578867809083791546157011125972225853921534640661638107390684685351554202584988403877675958273410417009035331968348461699281292384652250549812370309274945801195566362658689950718395188616755484755775059498093952749856172444539714616574709580989341111082329047040}{2449228130001} x^{68} + \\frac{1114619928109404305521327239244699743552551301680196952634344224336748147163259838502760166897640567895897907541688833702954848682500874803045700658318752390859983545674984450655734393368374100668865874314820538147396723119201911690894740771724994320229100969201787056722828694649962948241889297586450303218057777392707472923261054327220087610752661461144334637551246498350802245638408729079602735468839274982534580478517256306411127034862628460850044152584137788728706111585816178943843458483697858834685435143460850248010215099158620970188071050368699149521030551187600482616896812604441286030489429436041534546776330749576354627354204046818788076207643794550522980444585095271796834760509894993963241065485438787533944127231269368929519099716155082924210620753592455760144896665063987828312293129937771387689559258642251776}{272136458889} x^{66} + \\frac{129506989053392649536299650614996570425255039854105935388300061967509342533180160563035635224270320255628431261169452075221330144358454111741522047908058259736139968277697843078796546387476331472209231207401517075506078330536897562037207652910594463300073438736347192518811563697787999498385356537375293521118764657199986058894288402174524459175808987338351765126158531453692057371367264646252900220458156482428091087166266221595815599596687035769333289446881973836621061926659114471933267735848429628728237864737693411558755044856755393914797304941427881083141191779076571290256902666372927982577090749274612566799823505577577584804753728889324817624383630781415502136402115826505595925694071647379676301586357167518383664927926289870240235227437304997093016528372410369392216787274246380036939482652367366189347141891129344}{90712152963} x^{64} - \\frac{388101045538223049513911715415293096706548301797609960004698508568693567289110259710225457921540226816252701970142327711662105423021583175100845859643836404668161427164931520540641021815037069263467742139766734763212135726424542073822032612917559531204113190867717491124207994969666281161406602646068327356186083042720777536931875707962196270223409762563986935276349520973754443381082077917890168121460109261604757374289990826021309631248863718175736816732546580691905444095930552047697110632963403169886021735056178875586815635897169655721924110988677395056959732358354862009551345737999511283355432693556765375050839654857744310910699640204522900402554388992032303754362372190801777906896116083415438004851116687133118786944639746119745535574718700218991033718635078804955745182023848624808269785256145834401211294416896}{90712152963} x^{62} - \\frac{88586292180066416315544661103317472660949891758595589968279845877925412058612646300441051143092967353789847084865758096285353880732812468106671813134559292724593862765284291581877182076362252622295119617651836622872099481134568014032298487947494465960921373479166343117288355000134255442444607881800385832451829849077558402501366972590990387575803424757077230987285998162034310531295779344333624599490368292587306116918962779860537545689632209846648387758205038836434591660527185966686213019568130769750778134846065047364035781795496647532232017414572931665736910301998948525133725702767685745837966977508226886394757406605204398478703962259514199831088534131468643318188628439528099360080515534800489197158566997925142811924864269624504234769132875218193096722904365403937556666760923357929134217419213908449110786048}{10079128107} x^{60} + \\frac{19640090838711439500805383076677370168694074906356714409598232092969357940300615541690065573636470603620113109749693350764821119295927501458040919761079031850372099365978322169031216100690686842336778516683038678029800718115873802742248440355093820656768130645630815639557607501065727741045569183858513563818254767447658758372333708850075851024803602129220105071071800551203797843650905073441182264234248595443658472871297276506109031913310735601526691232168721337964266159148663200910119324795960643522774191998746883547689838013595712727068152768134417147851762540146339115820076503360855288216918470760010195329615975064447284330349369729756369534078428467274070132036609216440628803010533324745087354698584031417296003064103531975606685505068684650646182912254642700838362747927022004286424609418892425618784256}{217535139} x^{58} - \\frac{133114345262011598297215707807219360714147510553883071444579569624076289486722809205242179242264354298282811960850052185295359021609436601161375454269497698976058271810543089255800399458397324141057197520566433211088651894426105808808599199451588140283942995812807689453299242379956327551822935401955466403242221922470815081150381624055217017139263063113157460139710517963333880591435624310672638248526294480203039792974444159254220513077212552522206615150730878947145796680390733051589962545873227134312817669834601566349753315862198660110729310673021590710887239496393998406929180960134802174341635912006199775194818969528425572756124092555792291822489185083102144668796597417698736127564946977056926053722605604953897972563323391554606926629067166149754973807129753900680223512777626678612681263893629192110080}{652605417} x^{56} - \\frac{77299801124386367276990592189902450207833560655458735392136648132946006708403461293730224675872353208443219867193168990004051074387522148764596460634585622876529593101042203671551144893066021605073214834012961406242915617216493173227669314170878757588494978261116659270406631239325888009630748871532841099703221281536759130137699819522123647351520249914304647115376743576290628435873957203770768975092392290973292667047579519074843775131445814588272233296160525516657058794594368795205051717716201409567013030870970590217920052386196436711863462316218013214674309817756132966754860974090828500811692883683689304252304330551268176481261331133597566239626123434855553610845552910324001135556860853507030862316910465825067974563883217225667470534440455131270415031855843875895412684886624657283385227261438328832}{217535139} x^{54} + \\frac{906793354467462314654136628855019766285224799222781869461398118887542869918644830131118980440179956861267944402509133837523108312551472287695520753838748085009320558552790664491290553728093658959883387167869504620563027969874177778993489088064225786510322860666310340064992763565000952345060069431308763972822291369578112240937993743961455979152751691506733199640765306358855614433893319922640701072315313718844194500814106419269055126048942725523196318661075507844182622575034414591139245249067597439642126829895052437528702569072285505873139141915267712750370552925763870771954215600412165909128373466815577541090808636227286403903283170732274129298231373051970598577289706129115106724270917287520594520823544507101341394777581289459708753764059704537212869227164502995871949814324194530214047555149365248}{217535139} x^{52} - \\frac{3767190867709502977682707600995845848920848469562379106350564320494411914287866686648590057683323775996936092499416793633528654016493373303572667966989288910785013495076275500720392868445246843350216155483570189171748288966376806958464891472792972645078667139290906814097570382892173979258122949504140446207069456291673170361553608647051282891029031008287964313359418486394728529554639954666140708922414951687607100792537130144374912367978434421815145909361562502070599328748071089788842649892853203627065625827546332438450333982889983095721527384666224910863683928984978130054936614765047559667641091001123480938363382353452697795374919568828980626030126944722929865401448278296047879459040731788655662380269446634763346008537239562591220200429795342185822675765979517256098013450556481864754254535720960}{217535139} x^{50} + \\frac{11251483771563424690255996528025917433075881995021176080749383751197533058573615381934408422337965914654580346043836910303319482351603324737774172793367782140154579257403231905310190121875267071803849543244527760453742812483126659665025090973858879599791461878234370354325401727146075731015352174302335068807993278962250817437969312780786078884730545255572083730931945470285326987443956892258744954655525340562953906581476987885115292753345992872064321991431329674693413910210717891391891767292392261913824884213894430677244150791848000570310606915147617841321902789859691833419420655228645876853631470746268925757497096965539732667691168945805003029819498254091697797009657506582733017481825999311024896430827942297033249720795709841410613928029577888441637774270971459391939605524426566321767142391808}{217535139} x^{48} - \\frac{9323408914029671996101304184916197885560347937157465912514928084822296007853552696414099657853678658235703401317941633113620413461517160565473336619099128724458990669274370206213321843385557280736287229380028957409172157950077781532656577177971844337206200650826832854102810436923490587793667552250953582242296641191824300704882138430952252864460881360249325875259535640564509357189214253440791903862479706819589399510086642682281330773803505400745416413465958478216919095627211112512842104049986856084125762929044141499257752980928553900052560560720719340164004873818007826183631433897802221304790644266619064770337699149307705601089851109790496998304772976514028371899931450211317292114787920908826593684976194713426806573894590101202887158999679969439421431849579443759572693770433438395203059712}{72511713} x^{46} + \\frac{48144416943154023014609586340969472024744909205279196451473761951766834282844344301339479787946685909989965006323954484765672799334607918577038166086193084625847948082077277573294843866615869850593621300851649848038097408866614736109237617277315419531381191250644135200849978864900599429025259811030113641853897953226416824436176962406080354747660866657912504148449563322150387414406051779769897449335268104400417908479564570160467505484455489249512180747081131721280547099273516336115459559649314427641748135569935159095437763913254116689646078018823239123293466809010336475104538799378714190359932763013750242966548390770546728776267708017534330866691754640185964566675592869832333656551640522486482078493440693835854707975846765896185740501599571649327388347826569441536015197004259607445504}{173889} x^{44} - \\frac{29672515224124137774701959591495974944852925372753389795440880726064163036869460750900094120069033541945075195255710522836638598636783107249461981844978864262450340696427117027098606475100258629264352248850980010458784197866386774034973256991816307148686301549676582814604036083895523242834136619685747692771421958765993574675982555472305800721131746636032967130948761501497158730725583960097023081953203603896086940342056561643013995997136312587611824113939889186821770011282659169035785785753569321420919103707387099382558214492757195776217875686938922089138543127652912087591426512543861033283421991423400819259853802955710544196728775232202523841764109412662949535338555169396273412829692349190063240913987920922172659295061356124138267409728722871901120652834786809700600536030972477440}{57963} x^{42} + \\frac{46048047369762612114300226782051404087762860004324266351776083654883556754246697343745955561272071377109638407077395648814227067784361143289601655952589381573990222058445471016644518472240627379656146261540043489691737368220196725235833238795134996346538207541545669891278109873061987360414715729161525003659965119037465849488443520115636124457521338245015480895063791172931020297491637971655031393233713381646038653878929870512260866907635867860141340064537673736637957301436523035442420560763183961012262380144729873373399718515091854022997887663657012790402500634970278491895021727237150028892978330608641120446011576987401251137984778833399375935381879705090996116190185490465061127662464638443294784614380439389368821824157214298061037797553880391784312310571365593433741281701396480}{57963} x^{40} - \\frac{19614693313729789301564700520900566004574776608239673085063587824910173562476004838461694124317263677059298865400179991364404253516542842460785418726286264761261450499815403881948630732939836367812574745538948558322998036977565567729490184252557006747234307895814514959360048305308552038183539218291535714599006751460125497386934468537664372881997461970643531004871365619099473159549114216827621986855785537714737802981774492267109164822105577707925344730814817652589123695957890621790069305025354674656517590503051848642456376114604261540488911002157172359351034246313249651142779686271100307187459198883423341997411709676845515193153854390378172816302311745439558753553091283911684570428515334664969700254210881584692313128948544102076791692320552519634842634035785822789092448927744}{19321} x^{38} + \\frac{20384503949080218811612723006693382567329075722050097540458588150095138087509021704316300716142714813374129201165013763479179611398885989089088625610579229477725855728825291718179661353450363221232630475888199765602839338952590898318754858818585161186780779199475520237072232681916466504346174946536502180849316796295502550384134414509192627344507233224211001648586070304526117645371487665612463314180182698531826752046658147481510023690301718648128338267871322778162268968168771825195652179662134931248954735803302298779539460691027571509689431152576981262841326664016331865300761492991979125457912515665746938629223413393392474727873156885549694994100710614858552044944015985467595066500843185631524497446906039031974805012665977114200053354630969523772030062005073100216983355392}{19321} x^{36} - \\frac{51246814607830925572984225226927208888746033464081384603866031195443529191439021140897280298062855897503193246357037311780775441464489112978006817142048824509713247956658846746278539691125611314341646742325102917308336459065414489198379976374538930953456397434430117124050851851343288090952477455570649035650018719318244093563470494064088968056437812900520421053660937437727790678315123679788663803233611714075267371255146090776212525594699019167819726697656828374222199820926970057900798816516228491114828902358815744166274298637063883442186506606423447557890220916621074167465413937001474494324091664792037492326841007612372700562188533110188999967472871104181990775393990521428835945463051583804557991010309800975131716950219063296694299183291114536482249142670765135461613568}{57963} x^{34} + \\frac{11453488786826085267762548747311409930524266812751327848218719110713014781477686198973588478812091692641170967977425830343949401274511044707771062187438935316390471589818498347158732093792927324073208132116533469312420256591367931459521482938719057103347077764136039875801814346231762837055774639865394646268783025284463608699570357407574278252711671375014855999202927943476961294901268231218676879245619148713539806775991230048541878317167401702436856666143580261279343405340163129298783863467252531975031378533813468728701423009973388572046216981855719562458693750548299199936198330016104741728246332030161034350726538038587844324087562005626960276489725682788403066306378028256592829378054841907882407755796868879183209743631510429400069077933645409448393173835839631785984}{19321} x^{32} - \\frac{6085494245839220017114202103880105526019222639457209375671642547418239631344681053416241354622171002668140903050478658346541164615280671941049060634511487549557643060983812206565954942051201927195728461035129336358905929759885327445574699724124332653389020913280684364165283288893650727924471193981011224973411721126594468694035634056140889574542279880705680823291348831308569668186918488259486864128109781961412565900987225900000773664352255111709441462616655441616604960673526403269246602604625220920424407352905278033328004253799944403265370399440851465628240741310932927480203257951306580859444489421704678440298985912592300422503740039274400779483821492812800859782775747880517507217517371991291794362406803619709902756336505507785166799835890064575577039160588894208}{19321} x^{30} + \\frac{18179623755529819956310688124099054079851095927072299428535371081191437754280411392673518081577455367404605417906815806965616653769190853052931314981910243066914664342722002548752962861533198043966079053839145667764532547048589467794896644838524462938592427815271478147929939815088718312465416075597006279729389722512596480643770927645392543058948584447072195169442514600755225731384687827123759172514036175740650212376802114375049259946385930140229511279629170815131747134997027345049551133654649372129987595704827324775116188003072902892737478931037061666667565534492913201707306235986866127296608094714610292047243635629046401167339015627895858024729175486214425050624572619558538245074032338609903268064558833340530767330784875544920002210061258845278827060396032}{139} x^{28} - \\frac{5775821363344371681989566197347043739947006017660941430159784843540329247374523300994168608276358405881811618955449232350926791065209387727920326687880881581877819189311180447336570076206511548336686649987368706668088044592550890944505040371240809875763563090576215638448459444642040907478641161849530258042703373216116940503071222869370912656047438331067186074653675064670090809981521948780442872226980110590604513790371144231869240543276706128246025136602030522625658211826834169016103406251703931427213595108552683387669021283310235594635888388647183022600904380380762616114080771974347068617753248189043944123629591452882161701340113303485559365971297303280429129066298698262332122178452021566949369588469939157995764914215281875053502654342197240115933216768}{139} x^{26} + \\frac{1356719961299912443182155896325443619306279093450920507874852062336885486199357845674511327396982694362251606666614087682242540205691366264336988233316989727808781343246666603742845984512662218054729840626795448887079980871188497334209259606467283734316278682388115319933881592222439468050496807767343044185744578799471500857224287237740946801678504832901385543182245583266585080372116320438113647824944058967602540669754659609250152367973602254734866770471540271771539595525463953788777051078975963011370456921884785794537066816117447153657555486436233327635548568103012573501357827399890810022394527198104401992024389515424769270600724519741369998955580362768469599830681891809674964151192749134358661125118469895512481231222325042055560566972621294437138432}{139} x^{24} - \\frac{221806683711643020442442331121909447003001255050809395507107878193257907876231563575120249547763049845368719491757504733027330708106830998240183260118385884047195337887952055435204637200653766698991105272691981892619922621114663644424127744668125274232386772688341338205940743486213981281987680523608919307368035909676951956527703382329579830929363782859249017547125928906517362680938968014092784259794958870822011550969551759094400847547802276319120636261255361287884524271153482303146234701684918483406622712788591639626633671928193084737366588427096078406816312959176154036440209207366510363811069360215110702197693586275458577234889571013931596020645986228572924666350586045360784383935845998428389368549349885275422885195111927489618462447531091558400}{139} x^{22} + \\frac{22205592939016105490341087528745100198670333229251916963012843242990809025273700087683801993751299789218513846720460695941355633630734953536189303388658981265645741677259686522214287015935272674712409849592257853537011388684958472820814803750820524967319004768733341510288089703695278044046286312093915203324256446299682668476303162392297446150816964411176012042318710587054052189711203288164551410230385561113024960049362921213914782295347339367000093872143962071293979704909519443142734296704475968683808228804737104315697406353451233330408645625492462028074648362396524540315577542245751405684526577228544368937730371493592458632115726533734099991197772758961032880582070947372062518480883714404743240640146439116594639287114921184606000498931138560}{139} x^{20} - \\frac{874339530119398844814335868955537063815421225095997541978485472193755089099867858752406506632644271047821586052534969749322465951917899740769870603669122941173054334910216748161296368361117079915446558829202344506686855063223595631699569094595840191842081880757858460550520388445091953446093291183608070145165511150118473666271724233707434419506219146352826910161351072766194696701424137766289621794725655790210721416910073468309281566006191347110365273215281988982794763918903219944872107101169095977353270867313801063613920244421962031702342422125226739501290044974428337639588514458814445835230679972024108226436291269873954371956459515170822716511545809533793799555560343491633610270951688853130330357891733009725906028402658396197917909057536}{139} x^{18} - \\frac{40667757725115605213403049434747344352777249587807518725953006424754157065816009484233583928382956291103711368905365197865702485744209482727205612301601747061857181312089870943914663545170173167805726812387422263044218841207222764649813922209059288407964204390142211391494547270509193452396570554329821802998952465336593440676763896208864768733133567752616038624753946407280169306819215539517080656784613517949952685700178556052690563772748219017753101902452910870271190149967654823799591982220066000656581215524518457821685575295462427075130814388261762235154996564535328725802672274719442665787700997924689194007948084490219641517206061228481658445634822475372659255131847409546679222343011313263637692654591541474448940845953910812516024320}{139} x^{16} + 11570456799178144708175940842137396357362024410404214111590502507318246057804737265027643941472334133676410357388475847717275136203155872781429041782100146476281610028767666905385412722995107472357461568134009475805073495349455249521522472732204728596397598176485445680354115155954540069041176842596619121480641692955885021719134229192445133110781388277419800753564690516088593347596485855708248428836515650557272123082428533528399584584147890286061351213083570603643866460156381419200751278178647272679293615954657764069184349760738123197948860884168918467923497764335787171397127790713413865570575290414221574470154963616192297230069986726005490399521037773424110573201551131466545717734860748577465914797637201637698633081343549898752 x^{14} + 2006342536427479195548837319031070280201235500881533863362741762514399417752443232386455298298616175758463256146061896921603743268689615729908772970077486409746322025743206524421631884516110324915556354236206372624650371183264883434079006109661046732365367507417716213089517106527029131921476247013419790420516375905326668745492891592624649420204825646254749711295343691854692434437601920798136517914553162000577785900006257285661941489861742743562062055286583965463119788431787244773029416533128753716610089803872063920113927192141798717603406021464551390925285415506622806660362079922129192968705320871220920776554321349336157200507352955808919674947986164133855877442285285730722807414310483536970194874667130151292146914613526528 x^{12} + 44333681532412951449799018151096558148105883408232032292846468078220408542990784641139100920697882583778029775478629777223485855782427250300856279464308935232638993771404044257370380909476699218885568837894563218427211282016379854885062656154815736308962491114588142645545465641145875120846991190940673493467768097858306557882523729461063910231538167208042421700247834953275498701442627606740128726330176494416112101939238382830251483778167768369927947823282851520566543571662741273625927245563630274700308746111109955148670056317012807328495520655826697557117231317596856615955902967749442415556476192501308178266814071910069661927143094769549050158982553732175998216265609481408470481791888578698634736275724100618579003572224 x^{10} + 375791315234274446594631571238015053451854015012670254749418565759281413894586944427935389058304320865975871477402738393182497517441555303660403305391953065171471818063314354083472733293668699850521450138357095397804273398323065699998900913806774929115264558366068853254082704847950077461945675988777667703792556448075147694366459752532710610723958784058207770942266374253383349433610965455280891994318941868988092290791082575142394726846267562444440136637901026945989082770890655992401742422970947923018961678024378507274952348722609772472488671278176786769542616933469256151444487630605424294126826418080891220271514189177114783441105777438200456527331120692463101607095950593739878443976580247371830380211627532339904512 x^{8} - 4060326754525257358025880734256754928235003918124782886601789574258708520402752717289580434757874533360933387438212164960448054267885323414054591983496092133486799183041456543536036226154490851952862424462578295972357616443779897277488093855097050664775920886796665973235299271350266650300450370699303050165941682557526770511969449147571939190817278411638634685499183215342313297161424033509172844226168680710088471274763441221754323248611748288197705034976412981375479822540703993422759743251078469285819801535483250874029189603117104523015976623121244162857500968085001130894197052552494355192547233605612871209159257412556791269702687662080130538699811589384779891212555522088283179029853110057953482128031219712 x^{6} + 11594651820604831013660298778208240155030931109647446553469820232084470205428085562121262185585796179462574509626745766195913628659752695695306992831435878610136195150717344787178246624869470290586232004437501762055144352044599887530569955166908865955536125463866094320319044512178834640526440885248257898109916502234382375328105887760099505067571140110000387199127258573156646731738701154751816749282327820082724573990325338364243151998053529190209613661786419663060322332390562897272450793101247373330454308366361606020493886918891300281526651132435630815684506927851358132915550056532964910281423226866966550883060066159305285896802493171242558483841282355436208867207207656978864181026706910535168819200 x^{4} - 3421550289861650154660988298259339325212725798049675866312785292849447184320819454252726155751467324924175345425985937210349456254644936933602681820549950380097838080845793113682204294156330451262517952530315299135500329762332117442529897469133931475519031274492079273026005346504194016717256337083657325536957498356352453991844720129731992208762649201774267218583562137383263260093102814369200389835976922628681345008532460056925619653541898713767165706917290097304591957492496246179140228901181292656743816027460981610653651060039129610659171654391641024772229762785206447933352956481203919411017250826956911477231382456284555359727621440350684109703143515235347164541125912668463745147651227648 x^{2} + 267017168801975889620773483071915352384790774018395154483129522466123573213216806857406062144348207741552112997489490500551614557189405351549584015058076558214965844062237303764342265893456168434648273979153889830711350223834757345503808780236377461975451558729308817837793624372506111602330833968286172371822671258113712949577319795174692318671487007468328714173385931195458704191836619049185406052425671051211954647005109947426141489403584734823670298186042654510935370911211835510411203709329607425944607296636258085392098702763644088044929764331607704216173010822963227750596640099273852767761268602118379282151640365543510396757218741165544218534247055286610626827734439859840876544" + ], + "text/plain": [ + "632559895040048450895748090921641756886470228306004817227440309623067873398228088069018040251313080535541450992745300209771913835521779702851008199977671534167020726336028849097062217287114441992687321230930303095905972747640853160351660208664959050500217080574852996961414727994443272751786036434872954875250716232070420773759333628797461020047048235438883314149281419343763992629189899241992642798646724391513499355847851338387200722573897704432812196619126617722623406622592983236145079741904401558388992742690851903641091398722543025648433824160021835136234674310742569983816952022083521533801084276938125707406682530227862453357465307279164636566301531780944075120368014853781399659352324804488911308378478698006412255396289309228753762567885043144255897027389133906655733401960480165347379506923302457102765690367959194389553475275566215856622522401289230737466554330152659753698941296424927480901117973044723248858530377801520232634035287951690170368//444254602912010649973439519576625850587386574321*x^240 - 27280401809043582954539709800229226941922256980762099535036499469356024225192847844918313932768028629251329437519101996993970341851293586870895549640347066844386299636910638649798335456186372490446008392012158871353916959299022590903163552882931093272444691187445341146648517946361167018968136826774772113962849465879790102455251348737056479322221709995316094078136416250360990523364461729461850028858705264806880923150961924124407046423932721077201463196081164343322738702781866248034507095968507453401568130160667467602453149314651008726972613943280037431840411263647639241806686969966910099416809803044475402362256227285290811958827145608766272617475011223862153240270515220786858552113698761257356726448825101429564119037578085319198826291782685401319262165064153604466681776942253520673005988389961671405814531881624435876753933251290637808429188046672563460115471178341729235324494283405530920355753033727568907783250422603641548562131288533980151808//1065358759980840887226473668049462471432581713*x^238 + 232781727688990465067222477489171853922170824222830873466758849005239573328709048867518094392804620531802515089304440789999706741203247359411010880719507536004782263325736137280512250590150966116095228081518608802857473947793747485046412665305104447231081157234793691795701848519131673943242523376269499607036769689817868950339864725301942561716706029279975016955889239618870902178157502712755493624125552228706266863442546954850305100467544450803962403261330733415929264661647189816796642033870045716452603276388132054172372105288655556215235864970809421544949965692582195225570574030007138579183752943602616698304283826540504098824790923002425697513101027975260447409809278811131493861078180430317826111038091879066104658578924134511286571046125616886493327306941169067384123338683452219957273712037287725185724815721416507176740389822525808772782494712089600290416123142198812054291146550417774558245587602317169015805421208868749622046871915591312080896//1065358759980840887226473668049462471432581713*x^236 - 3758993000530458366765783957549506760745136386051307348223748071338079611519127833065727474232131961604905229730088398321096278643810703031546911822437302797290870515827568238502269438735671637860549547056291963549031502903648860512060571645648391847249282450865621347569772853808002385065904975114974106958017810622815466202861742541770520592039020449982332544000378957605376424232115993284905966960931388494359223272359699599586557271244614550943856875536929666579766156830934621987749131372576628461470049536615998018330559825577818241755479281216933480857832889657504047559532568866747570109657483082924662568761928243203138043306775861981445171077883775312013987529936871136107637759366662494998169934776550526289902374128653805617083904332525559176539890824830363950838373588061146501921420924637120738634246048219685714450763752353107793036981174516957120448600313786288442925101120848949624988880672895546599018327081353293832012977515363617174716416//3196076279942522661679421004148387414297745139*x^234 + 4771915693316543740571196248631900594483544813493831048812641803482820007024309998671787984013026390019340909507826646499010064123518553972016039376902148883858920728480387862157577188387755145700059701097054462199502159247780885281061225852076092318144917949467124960335562499169718507347189770901845070930440230998681392837399109957098872410833826487341886001590328585280959929530300664435506615694598783095701716331351995800093499285424575162297655852752460937072657600772799901623280762443506618210546484932505294635912707762891945132135352254016297786812089874109894636593069454867437669438653621378878862029770521885421900673525480790277466451720530758288277756432852213403144577285463630174790118910523958522791976643007937037141664054248357468263920162427765318062774207548022124042731670616913209229008641982920513887512242421254129327412379151669156391430900045820818453330830932113863371658984512190838364938549443080223810821927975065750912106496//1065358759980840887226473668049462471432581713*x^232 - 13682036482554749265145723386771800329387662572923750789904285851920874034273938817291495491564239039225113220409684323385774079828867957609528367938822748666211370565995146549079761408968229266344379248810656319713124053106189958829229992135681600488773149230893393585438923357597818076112345322922865367070334614987176300512622691086968652703633940163596119874185617694821958234955936716253892605501555970244382235116476574909250726254448165984547970783827294930588248005759984716993957628399314125113195577576292938187808330846373504159151675510053053073286547579664013470932376927874331838761277481247511260684836446661370527485921433963029106116150329280318677945973025777168309484994612478707832305931526393019563231652745262660798101625828850684626177434920761145452105664133512030575023696245526755323316183229644820489392563772783891954975450604956585203163065327207878980495650893926947277847620131309257461921821677872272797264128523690164107608064//1065358759980840887226473668049462471432581713*x^230 + 92107816235732629800007737485685874417916238981313133441055675759833039191322987802008601314928375044643397070120315430374264951056542750305480832372222827790485970300255920879563937562039745470462727152481590015608682256847002469815890056980255654308979571605728087610134928592113013326122215088757957755780230529115861561238343503732048205744795676281819243547838674380069471673320643806274023347379257476814343909721913154656131271114373129084821316851100658540653077289170206630953530787579317589285411538226794222963632049200222953056804899453930859045368689816271692283282969703081571260241810063816469484239233505503187605837934157030267867096963064245653297572426852631562491677751498503881737191549649773279496810476672359936182933230001237889136160777674763488925363800603573929532683109084951329329146404489554481614600017545035315216383598257380352132471619371501275636918523889851315610374707177297402690000148565485153748847651952689044474822656//3196076279942522661679421004148387414297745139*x^228 - 18451520014489241763171295982448891633568136607154996042957721009014960442727157244812911732402106154875282349513394678277539152017938317576351806986771034761470501730054158325052626889704217243854854991774763104666949677457024020579818533506631082959375019135721142628973423309879160433188933218628148004477863022645325783890806087666424072938204981024126093596401852590365465936318511825038723709200038107947984228346371642437672317697752458231233024900032734027695364845882631691204334443935479367482428893319671696879047473319174454378882005089947400699071283800886493201366394346670327100271515400182670896322959794234545978023886030631777287628426393092999773983174344491649986601834686979655514157845958551661481838700416514771216385839875317894711644363558631367183422384014179475698419115932023215769701045761173994565597369125628305363161128062194007273698172586070344376023286355570529782111570409923541940048371178585229148327442529560829393633280//355119586660280295742157889349820823810860571*x^226 + 195875409639277475135878422873932887276940157067842794535045789482255317814541068243268852562904654661562683393656474512670571491230018579429132046330985380455574318624830855512983051243941562319019481229619119569601974893474228069246236213495889623866664269360418546718467040338778378532196790849225909271658222711141671541762445604877897421495174681741783614196126394846147410740294784924019248440172585884303789384169532716505142468779535502004741301571931008356876028998891883917130920952844232965994102638729953373698219686866470362634789851600525638209803444884201362881191883067246882038096070233279541303654628388570488111254412648877227357918629920335188180027940489296458234803148814508037868392876536599537279450450370742076375893993575859181537993432207636747067499743590705701821045323370728267430219348301017470389608998547851553643424876318723137541735510071777165412946076862403647109020941623487667850157540854923678819008072162121411985408//2554817170217843854260128700358423192883889*x^224 - 2157524506983485030528118190200187767411870950862002482709589848344336495785806992534837409401888049290128101011964560571763010747225146587967342458196473325776253212994580323137047262627408862148115740514865835819013389899113181380944717140140719748057885234108111993037781377748923975117068755931837159406777432138923093004397581528566209118137470734596605552343092791350284459660286371710141469426306308048841919065536259773689675932772969270070371901086741937471771631298669191762433167958512491248922656026122548378067443502527021439560167199776289203005143746606565181632515793135939812013522856789455924933548418030488266960633576432389537168423718195139767332649124068348303784010929634256982456949255474014279723089570991268093324942164491467238392196389672935634920774026679386430929366886317186742230306778511578011216550321728419217138975764954863146466843136861244483917321613709652724488051302546792826885076130338779401324154403261642929340416//22993354531960594688341158303225808735955001*x^222 + 737151319801538188516360212897514327555317788579351774699676051131879766642292937207027062777529116728516977721576392099809455206615028250903540669917615970196733972408666217945833038995219054871175597436342136393522530097750345633422486250793295190066307015111671391580084664464568564838385053356149936393549660580547366706072312578315652908872870441033553623112750233395927312263393693252785724689268673508345410258375681789941925709468548086578628159377526726153578433087509474337358525696366042956147173542369263306543113045414883215326108215652853949845685531664726859862582943945707485266816813690175920298875923615295508002739517404679284984875166124594705067362372909034709629234844838833966763931485319379992528902127636811134073511130495685283622223256693004902270587047997984719695434747457597639795887128502099543331207747773972767873248577544017123553790475725636395612053991804566974300568603619086402047515944399306668104236768366728992260096//7664451510653531562780386101075269578651667*x^220 - 637396936296134275850042228616397336824475458389674518166539059010100404309978927760380834284331790892251875249605567166192041077389701439053791758805400433479304782398186015675112556432212578027148444500265099607422397175715040758669395464476280640809224390372703788300995007849293894025156224621185075041083556782372808450847514324998213985988096015737079999051135313697500951410768565508504579328151468700882950857604611887882365227035741958893064201217428964926745543819711064075726603892201719987571881204786553343096995483193366884369626596366221775787306143396988105559006867594322727498099483917825613087093161437893999958966418817937503070359158538294259689888476558262575213963601444887528655234285435544435447238754515632798754271538616865643990477145050779880495730679162380320348672657916283570780176899488660918702200280248147156724590045307334518606774654723382155998410201844321819873147527812672060376408978065018161108620271374329740001280//7664451510653531562780386101075269578651667*x^218 + 1402969738815753891312977371177508735885912189894563416151516330423347897973211613492249483909206521268728341544722754340923125087510219804800485945066456345056950895009518632621519595922477669068387725441669050641200463218713353364108518787216215513750967154687335953174681104301555598608590456174204641111893172020691674028271745101051440883078903114247578597005973649590657795611939709660186757378597111218894893783457387978556365800690799615416898377198555140541536774605036108905340855031982443602927879717527871403630382647736883681621910945878986309633475144855519470913278531974754654893658314851934115205249416728123842755269312551129302450756686727609562829057939371526937217234615271977689813940958549161261073727704815574184112735510159375680689523018756634536863122089680836016063572309193780447479366318992270937544189116617818546247227378248235746997340844797879249359739650583938848303272032693451042827783393785203383427396902331975504756736//22993354531960594688341158303225808735955001*x^216 - 292828972455305209998818872309471508538419396825037092123609691537566093250436514765987006542063442614206291507376660689033253403614643627040570937834174266662799339687615051761337095437300930564785295145790421939733468875975798321160174471645023816953581954343056931382189521413733255151288697017552613302353437039244073825419772902081007200866566914591322935285940270396402026986970455278390477884878447145701137754163059864105038935521431277759363203778218904573776112772417252561631099606465248526127773804052717724032205282361226005106793841420188537472327271718366528482645609976327408322373768628406300464750253179903073973582145789140929581097587070858145820671912659666215731313721931968180345601173223574666057847349680396771850464009255734865538540315127819565985291852093778480359914485432580110204956621271261294149769989278729390626970827164448643295605241232619263197704149953940832713366245311746796204193156536977414586627540511891702939648//7664451510653531562780386101075269578651667*x^214 + 157686420121134235108388815074478940272770749033150166015931256242799424163678562335270024541154513070355400775052983703498686280723906252230135117178888904922368032757109098094682251809625447315818406982584777736579473477585104691032893340908670996925527613835431449325805623383161583338612419339812133689026731856063751139857805796817288716967633903293968690286587976144110863908896587940311093085109466741880342967926340080059701767564837793733260048195655376175981678772029871391163815622418793987844638022623272916283880206582038466234186006406743949418883536785668399450866123201738322549120388020553820620465899771075947927591473409220975324665846370463923042359740292798244757599848742922542726065470135910685272533816118890400400102693316863780097662828037246614001478705543983641948618328165595050639780174936656591582533145915896757288728124438641543661516062381699340969596625945863683135025661151516043059982744446155685239536542482934947381248//7664451510653531562780386101075269578651667*x^212 - 221743193919270938889586725549866081793965729742812327642276245369795872584416391317997122799132496299038387933596316115052604101137394829388256499083465457792789260964392761640247419178432257299424729525130401654538158098532078237729096697602305635930843911605899269572893884427752534401778258774693445419441262112876162917575632058612238389343435862384524668474424418417144348017078556625064495356925202187569591709603032083096462249443602183196034849113853666634645882987951841731926175827596555952117008499879779532842231768609735641106931142493918745595093468371621077721466363261727726003143044902620009978547449287333027096191870427758172580995293650527655814529093134693464273350762799174476928501538864801236923943866652245031072563680822903938285728391672740321540680404748384162980460304280556400091488984581735138479208018126548969457646114367330337802668984600819530831735901791004045009073034443462622131241974419518631752992119760599100948480//22993354531960594688341158303225808735955001*x^210 + 24556713573473514644921871074142903562375641191750023441023615257165070203149012201233461605257780773206115974320971573594388367132249147268534353946986733002367540061060696760732065567026745809658570246434879824928416864571969032155332541949744709591851722861743060222396550257566530538441327957352311863310669935423447824535312349353454684814296296435283897278003525331041259706246700790483254327666743724004976457795677843063912932745538848393723216893407813049572980612976704179474551931871551080158545272261883291264013488737406279258923138258531288443568709743646535646372297823781556640272606523383508839936525340021222909525226526532708844872261474180779183718644511400295059259146806947740176082736479125282540059748716601853070311009313802368235267795401627391449789703735710286106305886869551867526380992067247246994549940776753456832333185591414037500993463001394837607920440007212008103156323263240932851891351110916364277285135971690479616//6126659880618330585755704317406290630417*x^208 - 9244905953993718435755460876212890903093345076161610921685784783069912603332142904825685095553070875736494297405081460324762046232251629147583839858395426372244056801122847645725184693660496928010094523498766151683848145311177160260846175020137433702234480249725341389428749997469785517381983751443860810844506727658127745018534784560363658323964041994334166193240004135699452488828735643775166507914792632409819684561606987266011473355137192274616694360563047506941948017796659334821058040852002924510740978311116875213362906044833051430403730224763129083199135192779827337181940091138671335547119066308859563025617345449480759054782695363438196741550333228989714497051374800898827806457892948040629611716518532970377089591929607805603130219733236527725667391079300456767937122549859403859540026208100576140133024557575912977275428405933630615081739278319025710777411977594867635256113177514282491413551993139076340932492913472571761399996182356295680//6126659880618330585755704317406290630417*x^206 + 1060787892152857476115046857928047656820363033387676898373423483850061544531886262862131882578719136486020967826575011314945505862422075540544788720571290215627081061998173966861354589668111135856025738733693833216913671816166090024669782174847339502063885136205118471452477254546501845487021642268161753854861208705440283239831795967138445960469448548376005905837569272694765213655723911500213610887747569325709253239167091399272554463884977430595341502642731132060025115293033844997447101274058461841248625243974412852455316989761119113258946172001098034270623385552941950709901278494049236422411442909174003163999178507030889808906999560763136533938305817753705386487475826222227549430418683737635108855796496050033687835542552548363330336295412192618164925080392224957585960328611972531439171817588540174992961382151642103311099738435690865767477916284810540024011903534837847310316348778558492157066652513616769906925009993669745998560346381484032//2042219960206110195251901439135430210139*x^204 - 976006515598873850701987406106764302485881428506485441339504943158735118379436084009482936256390480161802851392364926778366245197670065278745418826079763526178045039580116317943507625750009657944403744136097964524508034862435989117679765352896461345157818919087235920759370517193120739104988164180639520700252373154484120336008414563461663254587466602119790628512859148383476264932573421439346237881939924727070819471922856642257478307297769591314357280225307200870754908550312714806998460990170303518495682906109736764512278841518765720004012876725156798785121804407187444855099690075175255725664153954558767639078725880229563977859357588837411557479893432383321321462568339768235705759500468381834327496311073187377121506502385652742152183858097133271738513160946826580527990976645444854446272587853486878279411424234520205800973601083098012046104614486726897065045963605512267487543880688815920692710705331247764964808540205444595318643136346980352//6126659880618330585755704317406290630417*x^202 + 81897547200734986617961238452721410353565955106751721992638754769623624256529540996071640927821550243210890490480269620406188965427846852630229949464482305624718302833311152245704370129914729728664206500900430549542037046289014922543273839068408389218523461934450499777090634130804654783824797933267055480056168557898545072015862846763910837229623890433854410342776615579878869300503611486456645417374160558752601015740607912339433507148302183607594360844584928652604939574448845067959739929563770627792118685706530047269013449154952871439894101955952686485591976705407265492490329875763092235152439716438062625405551551166385639744517418692963382296351088826967854703597040607762560323218265771869144244019723981785139470121444943763076516674744523384882785916470143105794849242739517646250941718870002765014460929560766292224122988017936416835557738451847072844620535798648862805169513895853396408683207661967765635530955493695124168936527818129408//2042219960206110195251901439135430210139*x^200 - 4674623583193075037277278820391411270988098531531706945216484466308230094717818523402330319618361052931695171417528380316227642087602208707611931698581964448919288500925595382309316074521108271147453087282675026920091305472826490521807000596401418543863459400233750634809559825852002832049445106489555839686491202228521986374798484119053883996988952855891951337196622621273729563519729607720545901661103270895843707161563884410898350099296105214202676275848439596756214017749140525933577536109385265335433569465908297557071457752056305279130122827045579308043351607565711680561432593708132265597323256162240119397457714173685371778316491117057040600970275951626488379140405171954457923105207303739529902136928593090106718579501105740392547760199702556616789964126114249552489597114279821747486016685822989559288449180374550385810777928556875227531171340047585646124314689589067573828053375381094147078854416255642387590534199575089269405337694240768//680739986735370065083967146378476736713*x^198 + 2063569693401612766827045948100013523262195502581690822196828299156220878387054991738539021728209944490851027417999240863319098227676327587831073666447416099030464717357551243161717087698511632284627651759278990576370102744579683989234249783847718497951805264600996596565662117457997758741760891620982160623934007074145353954936935484409317512859047264929774168434812383593049566342929549907284125155655569453903606138545222413612616844420919357328868195008112324804646050364488907448449921356118729255068982820560822621336517302337362663815247416662416931582461999370537571073672440005701626940473858635387464669327081329613448197365257187307383887720016229551342619846793838547102160409551759426315906282217332173369401040401206088515907950469547002305860212847711159719234413625393495451851891562847338310314431584534885407948305725836923939026911557415620912850856415558821009549904880344221804592579776654306865546636138941231897392395143086080//6126659880618330585755704317406290630417*x^196 + 440051627646558741665231894389798328219722560064457713338871511164783623173311989359182503130574575712997127608989552699100000591704679084231339978987634219428156501986363990764913904481173993165419459319907209892680274678189478009548612758405800633146542612418481297598878777784317618853008318071030727307809907701489844182080096576461283577438785431348269013999764583639493202671192244750544635317716707230153348815068391434124459261658298314382816414254291029549546512117529937984131332035905713288957713275407176767420918559693086929596881162953916651320593531678581699220130580203825410488080447626309462611892469211847121287817020599473664625895340866285811271338662707177880985218122339086339721244707581782437947527202344159737151072670201643992024151261470600813311403661139961263442266005167839484209672443654138705423036781926828636238247956800936471041424490498262735660815047228150393033432732530161784133543453414493947736105156608//4897409976513453705640051412794796667*x^194 + 1123977333180560158339759205364497672273570619084199584779265344593633511376378782595564235115785145239624522949815359753691645927026562618130769334323625319159689847943302403441789336519277180203161974944078464912691886778792266248376435936496547895276664857702199806326336938429346493514657597192747482285319320832219060474589323915855353192061196188185862337867180044160863381549588597446612219651749699890851580417060576939025751503113187324236252285484099836526320134617420153682594824092365742459584522280461302379605802292006052760682188000169817423785853828545039015983312252765189855521522204137505292915243837613370555198760810237620576524181418777154192999339705970035241683618784220977391026965020881677295308959993595199041862139208493418817013877074503346798614636389403013474775469727109380105494579467499621052612702078943818168915701123886967358701403578250355808275687707137146614638929813299424433279431290985279949067574575104//14692229929540361116920154238384390001*x^192 - 42693918493639745407656687509375827088113446031840854373047788608488030202444095399053803600070637931997000159216893461393270911539465983260341813090299142731760509907173385037962057039786481340355615429622561551761503272651955925834809114852424621274416722895773256495589098850402611569838819283663452933944424081810264868088010828406690796745684985909421508473716087747333544858635413136852919264371473084979148894586262009705329709413713858338557440012096353058731432724826690745100662122378925087221941540111455094511048243489756915206215328787650360721437504479696112250534519757534513751690474856590096973571610478559290006055320007392845877677738614301583535319039854008470644872554825407901628529382323259482732225127934043577927635419386601843620204705407790123852521504623427493218675754065418964956890139610960036215263196383907700619557578675409912093870283833739640760510502989893703691686551944275262990671532715158664661048492032//544156664057050411737783490310532963*x^190 + 472979646461245649581648713282155790465597450983008342450482034752878355382301690884784062969659724120167224666094255693277023506558788098895475012246054735299943365262463657366091603884447759023161536156727532710617140346962108952524128705423458531309131010693269738724791435509209854719931290535881027891023430070334114727538029479909590830786561740061139399902518614732202735343076234512260948966422009423626423116632876104645834005846100148089094700796234881010446864620171986563367898667749813260373613492468565205346462743297988516442040620246119135662430835393978252982741010163535653320719766595743899133002447410139877279530947737913777205521972142705908538627744733092620513681354427190944622191657180142729375754930235550216245847367636771875032967217063646024127719902201472144583371761891745247579273858261820504468560163780832526764875998232533488731187258912091040603890083780304773785295821048635356247850058775345119624880455680//14692229929540361116920154238384390001*x^188 - 107344385913779489851775186287973499273511829604762589690255430986183211656410004458001920144479311412458170452683527212908475494545389786842615891596962275198817925376994256036365960643063788928368899706858702073101239674839626286115155721663199545087634351577125080401641008203159707331853363545299124697697191863274060904474497023488797990963896298105022635236014076353294251614514034823648917468398423304263471770740593939388626836595240889487685226711393221673988761436255967480651080173619802559836290368284666583767846729516174729968588516320750499550650437280856988557252281212645560789066164730170181593531709074226864655467430147939443237058285259136242469953056677015812744255143741129023040466004946422760693755056956530308056246493468303521424397960688258902670975649152325671223087515960145997416598068946050370836071633216895895363214273600431294567168386731953750830537907495175790044535878883455914885225211538086932494682161152//14692229929540361116920154238384390001*x^186 + 67146474339709181016330465592396928976925426482611734497257286767677557051137744030860351590662150450834953996360037288752590564223519894125563080975455152392503400347431751222873869257893852541504787407957609813432818106326634778070757744011354573660641913356340918853693110205315469006949992363221094178935191248152265203237249885939983011926515071773070297527473893317569922751201211181698429661485167039117495048652633210417619385136965874852611305125349637032316433450937587031696511071349201506550266019656629825187338676749699618659339924536605300940791617570419676371552588751677368041934950615987486850408137047315250992504130291109256793542371736095210341990642096811629784516219441097056679465156027769872788573624634966422184416116344597068764115461137660409223543080820635805740927585851955744842711380999431626335583368733004069634603946824555346335102337244769679919758860346779736871579886276655184672001119810515064655446016//105699495895973820985037080851686259*x^184 + 678617155330273402465464453805030362247999683833754382933828186661835254490177255446270983933039165038703939389969651928132301657193290573868568929935774840671618539529831250113902589079683422955975822724367154331518996903677688348548819798238835083855978050630226802267003030874730720965344828445387544252001118690835563221945826970799238130592586508857763508210781631211826041651295148028970089217134694879614166306918937063654129575160367983996595889196200103294965531566155197703542601707726714713893084696092754987833384555752876907728153430066061226306659370866400836754954143388134320997796167661759370670576604901468950711239765941826201213314748514270767314750241321375320433086261179219282871149662439316935098739717136446401006523116129193735788351755131493850537587646716171997801522630951284711183529260458016390562276460260026909439074110764831538199346958706220226692385076886747907496761301659711115463973854004193366812655616//4897409976513453705640051412794796667*x^182 - 192905313129447033982369591679622242377606096450442440901013040432043791935382430524950426425817512750844593244101742283629910253634380003822124515709775513453336232010708920355795799105248624233712075867283272076838867644935472071720352843777751764718215589778825913144098883711714923618901767568336204217847258272846493027959060800336600861242396715489678119089211135866845421352452172487394315555690165509978678294877847465193892957554950725193830261769229270451745514464681165045644327726555514087030020293629857870872072927440011673042414328490448828786575578252489236075786292481357118074136966460514040514132236461412357933772092848013767347955553055913390299042591692266248417844496168530037535832422925552898254471311916940476327225402617525354222719220935564010407885312942866060327918949422547104964508718452480393146058260338461971290909935466861059112433760747855861749837635677971766413798637592211601094366896376660872249999360//4897409976513453705640051412794796667*x^180 - 3392777261346132047976394974053941082694428592900275255515664515768621920688970479838596410560533495326073036102172325614551229078274749854680192571561260076201431209128979481351565659939632367381276378126681165141585513108894315220549146431054003800324343599662664709223463157234425352677206120387318254336753555916634415338479581639745156667408882506198852540979710628133179150273809330963860132091353032766781804700506419397116110390425388477070542442898306523291947355837413514418965172692435224893684372236257549041103482981650880255300117974559454015048364906410952667470822603018878091867273217738188501677317141728396254044469029896603162729599005519147534450979830120038163285931348488533065019411044594965717432535802574540404016144280985255023971205694766941279590098956007321408025485312010967011819883936433157632418914672898728966813967546135884402253169587611959984497213048669333924428047004941577550195441057353653288960//434977349366147411461057945891713*x^178 + 28787979009750079857457268283990522007721292032239826019559595407711394952207263554364123453848928112686810551444424835607750303864128750908515547934814103714900930730026178875869204569251191390816567867678596407385976338254784749887017353283380830553103768247824919421588554472399166869305575256971829586833313943391922073174383796187571174220162964610345901434264641725576640043472318744454822981407405545220394555208883047363941537489620774248454418892317346844241829043317099859096066973406975627810979252638240291228885392785009803597879130312956659081294732914735552565931315185301236877596827302477176605919274658579127873051526250568723465889804028915828429542362520293356090300077665744312646401001898506362648829132681816023998855976880933928535202671972119579798156918574678478621091730949475429663236232304746107769526421125504974681260267257942679226184926770126913916767127868042355669507550650222228392787029375447856054272//3914796144295326703149521513025417*x^176 - 9668743737618829186009837611081554618588744531817036253555550289225299352071832284532824646364293697069331050462272172181330722971494361906639228827390089683747357082987165098002770960835567243054332249836042418102656413943022684618970297515994231224509406841786832592890455216721423344980617614937680268882527799781077496067014192087139915057484796851962319721232210422301101789558499702774160551460081055123661790935900941185779387241341415231412360611122689836473831390045055756895834040456897756775861104839267702457022334107940719335339272894046920357768914988095399907735778152768577978993642629170041470783246834236598391748963634314831748485355828386062180246234725635825966048126630434365050734453772119204307341962158787511694583267536741367456567217878121286665119583040176842984371694043247056142817592782472336896545625427044026975574592478262410227883373489777651540073760783945422581437796111208274171893351432335252258816//3914796144295326703149521513025417*x^174 + 236395797049204515055762235846439189226502490612619737274830244835363081558074296455334682349435975981191137907360565810928160313132044559530376398586109630269737834761924168267045322663014169290267563570600174741907364831706524833503316967004851413030819666562914843027958444783090411232013794356452706561566464259559197251680740980692190225453739418701884539171950290421033616257735606019024761381910781313971654792594978234799345863262001480352314338379271501207299257514683193161679403685694387599047728259442232484323313705139547803130102844382901069860537977042515322888754675066624265641883605162195647573815985478192681161660263290282396521509500519741858242302743141739068696000676349478466359090257716666893143366168455348175390740158526722154279606554901266279785631925891360635406738655442781963712185667438744613443281290178542678230962665326154604834610935342409021290149625232685838348351605330935696158743791785176203264//434977349366147411461057945891713*x^172 - 342933695806208684814737224561799430591229511955157650660819031380244329553179626008706335465520362126502140608229190557345616473132026588046917894278951318696541444884962234919805424407017941718097071685679196782825321842257885064210587660399278016703895834990680275137621200601511399531971468337697450817310572781872954266591364465177551255229636542493853404073440123913369243480728613033017965842881158644496290274231524364595011523630265981371472897819037907279953998274337185070374857533455566021912706960799059559633532284433632763771750964748692651007609792338993510069407371079761403018290255987455203085806133800434625742911405762747636257533130520947083268720250072842820515095986344574404991757218025377552056315621019094498609473743067095869359996964887831128850236540443273962570225589608882773811693921457985308848400158507299593978013357984638143945487467826989501058471573922930125688291426433650868447641177303143153664//3914796144295326703149521513025417*x^170 + 13789577611957901133347570781359247335059728524925474893923742234425649002383835108450951766871458649083253180664978474526148144629641528547488595437121173482105869919449021852952026026967564825536055739651664668539544529909315746382271025130211238545059408852676581553118780779023161683486880227031505997800568077186570920078913126915853980735296198985580850896529954830204724796855216105559080777048542537431558002020993200041228607465437021126144335271706428203043383561685834169735736763869105884254084939485772219512581860702254670238918853022416927250733391550867780987361549936363161816979899401160178358193379564621577133781105731196953403138208058808163222775390108342467206884913709147072386573959339748897592202396928918893443692412142691680335019949819283955748427513145603965428809940037700903135948242706413949743053669645745358356866883659169958135393350708911862329013123471631654521189058684666666361236534563017064448//1304932048098442234383173837675139*x^168 - 43591075490245781470880842696937710119358118076277735820769824536022657907471008675063934640623389007935331528608130931829451899887041012696320179028471464910775913786591805224600860045428400889175301288299195708555117382290644069448946648120460440514641717279617617547234420412989907171756190023077946876660873699372165086050780382943005314794440889184631288893983831281848588218416789710452258489163639694868780110569230483896033898955850714868707479651116456979538088713598901035380681130968289281467012960929283654075120862600942957956543098048926072433335745490100737323271566856973549602857876679079562446807101536652963002582415405389035374396013505128832051403401663390762356606678856306506321593616891656423452988584638001679258334766686368504210355229064010485585984585358071141130514643732817778706687081233277585312487407373432534031234037459047434767843354820676551275487214494495397444198508821883132612820603682947072//48330816596238601273450882876857*x^166 + 121415762809963544638358643917928220322957232859259751723671010189661452864122273352679275531718220037255510476915626664463286688750867365056919177222408799061368692583570032541731076857709991951709751361361484709315354419964960570384791350200375852402658753395808929829636354668996955698737788925387246004117050667271765871717408475452173493834916086565091919462090171999049828739688232752970829055712920647444382744507491188354712345259202571128716242400617547405757452248567536405388352280098838710645465122182545197624866411705182164901030772026280822102575672127156340755025289385941877037547568122495324024197226760830666932411250582507054894190615155461079630203937606212135326504236952938760300311974372154530950180492753355650615682942448094291046820340493726332397727314689157182914991524065271987414161746012910940577742242669876630225010513664744799871639133111405908507320442073070324445973045734057721435410965463040//3129333448677319506914085941667*x^164 + 20415845205180239100000312400362906420404232448011917756248104040522259063908077672738934824515590823258891901448073520726658667164929518552754320115359634418608015411977529545622895881727287912631808015020237175768580647549840973561574062673405227674517899737795136381755602478708966575545348646069943580340389244433928053113326941517284056895747407270672366615801430996079466750087268763852642335583525954567067899131087963090028126956440901447438914849480128729123076743155756774086657118357484435451395545796207919155589705050712896844053672569786599837132273041556006354936801117912944931088918968743287016595810903112638820698008066321659891121031205989116147611270797215059525225054623546814349063027152607017600934101560725855735612699099616659957837326121478047169382879270207722722773710067042082306460291049203045194168270638475420948056431368411178724916919209971858735119040901742363733345335812347879721505573044224//9388000346031958520742257825001*x^162 - 1111824196789961346781362803557615078200618156377088563151427663195112729913743412504056072322512408515626720094095155109446834462083716462766188884330998083772922504307920638271246484639102127345159094839201600081222014753133907783420061225432018741647334957363155923874019989522433501510426900346795424529839247736470928075339418044980417710057812584845438796141579769200203752824505268273292075340533522438039383778298843376680777362175332282018215614803194863842155028742407546653656735505503160161749556625616235091034770883502902691255279540087346653323963979961395228364211310206771905728738232265229098798120646602542174698452304309967070240058884521541185564126234778532889130454650276517154078862898322851269267485600291129932112307024430640309925021203699798831456862369787851852348058432896795736798121974493894079022296476654049016511345217361144060671153142219907153986539602833755146548240434545541094716668379136//3129333448677319506914085941667*x^160 - 451823983571337459424044959719669966894648358167009453453031604184650843775902995512534719091880244117938005402227158397991069378926034846361121656957214506511219315213922626774429002831454865263255764706907827041081543156295158953393241310403597290667870964719181811631362250150286293770507684060645776121352797248533740254031553992283333485015849291711177920591560628317632130541313218897695348595842232254841867227767327751324378687935543790735952635211017552253454935945106372285225275224620837852352862280586026087685356495100380656908989526037578890363753532635061031634452374330559066360509179838510849499410942441290577445478026364076072388566498941115033864566614781048831034493267533853486727657747148313714318468361181751433165777935760040684502129381531004606964540399933556281534530157873734049844659767146825657777343187571473717998288385133530416282693529130471553456969636547004271646682116681896958894494711808//9388000346031958520742257825001*x^158 + 21785449133648072688654359754936587160741158756025149244945890601978395662674584475335377275015538858170773076496091077645229703406692038761936929400270222053128123967296327143197963605594790582853229328465374360360914029432262744612943088130454168539334554032540090116763675642749856324755521730701338831745102139086391044970296201594443134394147516076962441811393607565764527718669264375321596271585593280335170783847387166655246890638425278452107056829855086576237473813745862877253834159403141836606452952605909978489131344521853700195600772993982206220454121030634072696258558991513434993926449102019521821464867314366517610179296354329368279077122579484686197643852261284467757552074709460611862254335369431221126733519640985969307477905770715026469032213482147363953412756174776636959605993468270811826506072501314849355216737520846791685701529727355089347806511573150203407468671499009969558411084778929854916969103360//1043111149559106502304695313889*x^156 - 31408740809109379477927242200508627325607521391969087945050612276111259327715097133075846198586385290820332267894578422084064325831129975449119087751025643111297052881876585211776376183168616063598950883539762863694971358275572043356498200102361032049554464802701192623627294341252141369200628388826673030030062205168917345522437811172256693477291656470223986045642751047652915396265454623088256228658278701138149807481908437347937305754627107407301114559585845438929368102373224208955595515204832214388647008432289978799246885174952949254153738596165610881311620206951589049406905297750332587875461497375316074718680950924539452668014893283275862612373968305960719662813034591109060327671624178094834542355589459615548117901912493736376077094149662374242458738424835256661786338504969947800292939901079103032548497334353663685649563628959419175644107879275764294433256087783087804358260563936656182390509566302488894728306688//9388000346031958520742257825001*x^154 + 989897437017082465142326105017260134474661831337393168570274094887716908645976871965304438229632214836133535495454028700015939272788672164507936553863581336460624462992007145513779538850232685266159017721552040044333838762414788264136269209844574091073197176679836936992945394874255057015019702045951162781772287191415882345368701605738901168664773057101458205530112617605660337337181612165990542141059385746615234794474824565464954449306260564721382892450648043708206407017692761253560343317016670046239435195845075014585410718360767968528616722970535268695040940328513759420418151062529575469560230523711878320214699485204822049885097275903429008114576358388787623373939408053034654288264386456361023911053162826573500639517132826223177424671483914717669777301668768562911100474348053493559900393255782487537719925239698263185898615692375479264264598862136321495953904610485788657001699654530008374267812763762579166199808//3129333448677319506914085941667*x^152 - 53343806760014081803860380337337858717408310894083843050326522912538476994585349864472264061600638072078813603290599349872320061076368086600835349174983897184207667690359620295496362824271291233465489583668181830832829877074282271229959842660795523963189969026159387582750561138411509663133318602885675718706726075761927240868607553299066798057567794968653311372491948298249967062225309373605889959125461119649040737867676016272912413469591193569867320000929291380085074122949826340641109854684041082140918489060285709368411504031629275310765477422288032534155172433924948268866574887701772296810592990408292784677821218631421486139825226347417700435657522621360809546355237064585408953933289687985578178387941882536432271830696533788905245286054611723485280985680157507499460125200759042338435382701483728953716117795422746026067624635056662674093518341549037859942019326490134559141329013632057990040927260806519499784192//3129333448677319506914085941667*x^150 + 516646319892200457303849547939540600525032395800312254191975072498284683654577772329025743427936877811771254285632958501112703848052829874951044399176912130646944897472479976296159368001040347610115771403394672819489639400208143832606889747683123733979262295508657350390145724164779298319303289800936862175223149772130227406955104797814667067804856052571392342927136137738558047157641426093978243160336232490487991442014778264205710206022953439896006858782228475822085763362726617614917624231945695363086660499494437659109091989251700192746020378834073500395194839074636604111438977534680157779071531348644843836564732557947177081104951284149814176738070991317888521228889167688636248950189439663223197461181072311599996613429189881506612149740767607230593697719494677133434397709323175709701289157594421581379143566732358831186321263479064791394274656844923825422214765084681221363709795780110468347834485054317264896//2501465586472677463560420417*x^148 + 34930768256671184564192974883284174859268370565019107306646615758097430308621028886318482451612926248998924632907562278355143197213617363259497525475311001844976634003120260084410756057723158730867709584111262454434047103391009833640540880357083652825655714963389382835298787576549056536252380921085310943702711370325951972437617032998344313374329880934419674376766196692423716281498550607523193857966714638260393765501217058630589491765706549156955884413067807208299390131657656065967534087417431239364305800967199751347463687978587179226253646980345673073234083613145139752878812971420175599550892255829136476984593824271156000174361129959739162109195420454173784650604454013056266173780424719350656111340793142636782152290054914459041360451767863874319122133167243126440210150164721433753308310327113445267575151219535961115126035991304383462028743615213538834712691578343728692001241177180714674617428695215767552//833821862157559154520140139*x^146 - 868188481765807116869109210267437045473301569505200516091793496691577516730115578854163216880065034955155018314218392142503480972525111489398915864225124420101667998526961258905185439159657088416285332055681854621099013813961753469484437016634961593002210636253289638332964605583347496455675469523274976133389124593551441205197536135522914227466631159128967875136614533842534516508758334811666532964615518318114331001049307257999235372299079945639681293596243445515675447069897756865774392053504614432346440251078141689683694615337384390478383306858322470962280776477624286992890066683988638783177206993864138924418479692892865388208131817706236003546729646824900225244421481173591391099546437930971090535285638608665920297502968023336404510803461024549045582646713248693154639421538555828515505921297811824804052763792364004277300548188667205270096541740627686716567660239721317150637003882620112503384696676155392//277940620719186384840046713*x^144 + 53299001843892340717389639907702930740027026150750173592558292156524970325568416547279092171818268558868985815037385815631346192602716687678338652598222319502702849218218850204179076120236119473818787701066168330035653841453272506661332372696997438186162081281166156519079250592422157319780038157483337231892076576654376769370041859536599570912461863645056430477675007821185183155639281555403303261852518542908314351418063378425506858764821225809393553206208614348260344412750669530422148158421309888990047732785269321769306180222092405697608874876291806663081435807256838777425779347659870510476788520983799971387478970602850341728349147785648259006818144772369464935206238781944529725201310788900513648045130656194174246268369328818778415200637115309599387723100423755548267952891614275013468132850758779126652666780720078423357441250773224887341006657704729069014777282506497957764445381813234832972778188046336//833821862157559154520140139*x^142 + 2712059954210280488431337377260144623175182410154536623068139284543844842932048474335380975647208672156011662361945264436244202533384270170638406790536135930950569867746231105872868914136745918804608695376627174265866412917282224269552448105865000361468197541223648768056760016230904888873678610534421351111766694418893123061284189309163755285165678466766761805128586760650701087584648130161627775347530138337327607724397145279620640404055191035552311868290017433080474259072008743985761155040897274961559339852996866556308718779770610777146440795955191735951960220433168738799147365818716598869700941589799873932187133435597673668964009391599005595108271875437281511408244688299228431861872321972636497685127928547997037630314583442688335367991807421666531991103822813913584688489762192653504029586811695087317247893233248213263069790651827055885550461881876020391326767228045577116812593994173579133856853786624//833821862157559154520140139*x^140 - 186786268128273122657874794230077092014202325322049184592507458800035930663100780532622655491854321502311030561897837415809433663377758254338350415457166418438413523671795364322098727963796432199875676828625334774364988008992042309655058827180520475806952193171051943940904093656800327253247133875060433689061545948621035509003484903893173275828712697280870333614288291478138730663458059398763814867215167484619711034579604050439566700843976687284351316528629619783233569175319971272463033613807860024452098357735777881276288774002335935394349867892222879161236660015441294005578681812852828730534790054542078791170012067086618201608511622821244524228332364608711069826443243685051721944579110132582817815697054162400118138541723566517662414565581508846887026216811367656697305623756250296427869588366231898070858655432638288843753920603187070020479037318267003879902684640553009091151575604166870896565867773952//833821862157559154520140139*x^138 + 2106836211264021589002226134801465392029573079686001432114554557280445526549554661221413569880262157750589062211903817399241204027222473810651163624910941335879298515311944344948448995800712925597975163908971034415184445675121166784787925077477934881887319833371195042327555254178057157428266678221917824127715698485097348902492077317880449637053144454675356348866787102497583115600497178179842999976877072914226437313539992079085559488833015785392498679177555765195680666296569967494522598666867484546259005007812191345979736496520964509118645398685495451082414157523328717480765809272711933294086709123529817839644695811742927004460365626415043951887184844956549008292198429089611666587500363400416484385796129218091401187807374790579720373930852858225421447324923721114681170373954790134535382622503454824777349518611758798480614922353384618036901230467908055853037168975744333100209847395411811775824265216//833821862157559154520140139*x^136 + 395355045081825440938613488878167970878144974406511620485199453147724777998112072500440636303620281771232430359469163954411660147181436551850708209598946442165489257055436703188294326104944067934939933861288610730868798529392180661755319373287611307963814038312197035674736170955105771972446419723538350160901024791161093531904789563029877043437178975069028208572559350801503570187437981893509401538965282513660980572626264322030247004496269878619913924597886609763529372487373424431682460970313622514384069702562008785230814370087433637835190254042665409527243142121893601322071491959962980912984606652130639276443206465962147798729614487048209367342364827184548412768880737472573406567113836722601072434043909827429607875866339575637451727354053232782023794421086951175519425887453960064161062685929877424601580793320037248055094923109572046200298948906184041578482376568399678170198517235091252604567552//1999572810929398452086667*x^134 - 42628286731696015132157672673735345734065512634936710431847997996813849690277220070738744107814180252064673186049527467954175852391096876161200575466501969614534991048646289009721008123673363094520114542256955423145278848009144803471909610878163940098486634659908427653476359887025936358395238502984653867586217588313878001273502602952400785826142346361341932799325900482823316139501108684422292607596983239381948793622941849659556153530793930684033232483312927264521014102400562635319653644785915521051381295535366538930615062337749461200588707428869942044731668518987628746533169265971565252847360556909779728695698829133429933295628197818562396493824038858093295536837942991438131606756458094976202574421021206200849810903121227476707047190492927319541522705110096508236455494851681577308526480229956874291758883688835417843582867696987866276161354282351754138840678303096263349483999816511653870043136//5998718432788195356260001*x^132 - 24038259646073143883732884772285750180158482177182982863115968438580267254952699668047208464959607181285080679109244231718636543289908355285004651077012053769632058444160869853525678444645597450754361287415949102687977308525997987177713258529876153488455016808842430918049988456388404318657523073248009854431985548006031346661973750255282697800314747835625604561015329054307977866016315144691560830390881919736792285751758678926534703867066353362125208035412603470088400815502239211988551897340174743126072150150740352128394389317889460017310283855531223554042411404776480671577695331506094823560887695044355772675644535683417026147839865940197081314420209618679875255468055040881937996078697395788879013273331139415563490195814089644968130348561034188407989278905907614968890563393394678303305311486127418725859145225136802163728536057786573259471739017745660411824849259458525319239492098812798828544//666524270309799484028889*x^130 + 36810701803250446265568085085372586878741958431312382733748108005002082501474267599700627628124535326939513582614813014386180490744288324615849973291849233741756433260412364633227311802882811521522894160511398805198779379683060334948382574914945779674851919725409499400412094031429914307314817705233373368917788208633447702363788721127020508472352981080318013780637610014883922744108581664355638425034044745429558672076488882515833483086793302691184499602905561795143072047740594994961673179379798095750861774279646262343715369591933390249807655138485225594434380030951372212167414789842325281113756182202997927014886787056733649026775393469825509167905207881436538635750229162521283507920786365485008355416156420144339331228459533907456334915540806394942438072679519823576666372081889485581274625703578075093442051330520942711376126033212830423529304153108619203961960774146843475472480912179608944640//5998718432788195356260001*x^128 - 392886378624768369603300160906259159425560034496190200209577450139667163759556374966820170614877127896817112116687861661261764803293012434933685439529521091966922753635399030304942445260801067646700796970653393633839801906308267153396572551429501220069789492680708737290988906520397950684630526349615045259968158995034260159407901192117355618545800071982621983520020864504496022824799986630764896937784115945504390120263400677254968824820406949377088212947277474775388663778503882092604897694719114193135101003606171354473719759540163885225653943417987866076350743616283036669563865651455170983505595663449897570450306161236426447229616997864585165844456965314463852832459291304212528227641974116506513085680023445923018816179410951623352204993843066728646537519220202810424908054081062441763968403155317703180706683909832186100838209216745035150244072982213865638986968413029767693640997696872382464//5998718432788195356260001*x^126 - 17181401537896554808452392498719424194517015398069690435090485083392375212418926208786606422547643885405620528765116683926930337487612794679781837881607671409747566345168374375818303099048631091479335100023091055256112154157693442462560297644261181097022134395601794821049545799741630931129249336698663324636108471543686821714140937049536695148726641631448731498617978265129487845844394152946747669060949908556559685964096773866819666845138956314584904060151818461907211506778968967923710186357155328550556973034187491522868823729200685549003008873959599589900974563325843923392287932045748377729856881713081047939634043840169803429856768972941099917208334842179597341161663040976547097924016532516461751133725494718960898508703452955670838995660094328255296925030304136305161129859979322205517530077938862831774230531543364140184048989164324192456261688675588889632748422890154940608446723560308736//5998718432788195356260001*x^124 + 133598535624129799102914143059172129990722845441810046231786948674090573280071328801061151992463646541615929691179284108432127509904096783631065457888364786194212052732948169572601082074093282293894683714530823584776577225705811343111130716572880881013570484251114390630424013536271167310958458031552173234189205090326603050302851336012863602047616365520888110157340154712849007174907480330186973740966581596274617361228040684555642676239965020901148098544895755146354900077516802501813722987161480551647088272627122809538237540724243248121892188680159960286273069256731483834505678179288360170881747733925004278250293702998273908062027843065625293025596420761962719049990688993478090016282213926763715700585034758972036913776237244433686536498031549506803516452756324614689634520428786850644643891144671567953528163706218244886778620654357401629800429792637199185332052115527515768962344061763584//1999572810929398452086667*x^122 + 4256505824417130273255362716986711238326467912253240147482666856366897085559426984405242488965838194581976316900199020603626413918469331093571586550323814324319269938320333821375527264564222704601532358972420064799732195927387687425960475518170451936767034539878146280402657006254367017633820631525871681779822135454017078451962266016048015171388350439014916576188938865576909423986626725970584346244773949966738696922336384540770515882518246247681326344599788645067087342322476017652020691449451982869335067953174246133439524988683670707913543406177595904442411395239611771032302523158356948702913349821897311318300595115287033404939758662659077767658846454351993501416965716373488766001878868293587995417111275885947234755564551667474063761878664885867608942928778047577711540641854734380623717536113562714660588512827121284050808127105132821817707564306909518123177874197461269953445313380352//5998718432788195356260001*x^120 - 18247905969221488212259240847278684373144082650865433185525023301590790782916227256205711942122516295765524699315407163149514849981914802628402130500928653407530621269394366438309523769616062925301304756390846861320679387687434703187850159207265257781436272603726037577027270717592881075164727823492137415944726281111304885867500208315491343679320527106994030931369027620931096274391583510704973832424877010690420874843445945880607133920307432229221834050673425136947978991029657346892284742652886858989488616295742096288294661709440948446496476985604017643389770660040777097827073882438266726809887714677028347016809563765221861816240553147937086328568358190951927569030008535539872383318392933911473674661515576448898017860870366584609265478834986364132833860075757898359443425714672076194918494325308434995015168885422674421726949482089334066644068277994726904300834609767627333310611456//532793181702477605139*x^118 - 6130890542448792259329269296155100069415270879923670368445341997082033229748544629182793741752436195690499482006396431767861216345581600614606263378820541091356415314334252795439092170141170198493147580207742642653919476221853572454724127709545344368696819623282572863545569965914837861641497221110693666634772842469175966263420665413136868018391076890508298144191306861556191845572295665907436159274833311756068328754919076575286428099923956629518564840391477163564552197767155467118575899244175553453059972926654966099074577232204596267518371101103191211162518396287995012580891001467740926251137061352842874366033268564238635817801626929834586544253613920307907406204116494402952967420971637817869691639399148876796504335999441420095265966970946161887527346310693814538921842966000659736482512710602260561157541509088099106384743282708560320918342196458520982234988632317502701961216//532793181702477605139*x^116 + 18540284057671863957399086082256135943367043622097887751437780666519323351377250046806021217803427520697100140439517736909164730029632163973932338024994825318169990915607796567024145574557966702074686929438986394375510289939752907532206287442860450926238039305030829059952106992704440163027671363432606614713939849680452375943491761480740479774506510385114141577792790922031787874805208664042689530210963009317891592335627572940950606621587029337071226358470390002785107956493864698111481787924394890495217324005687352395486668599171324221413055986749449629860887534043264189977984792092940029795742211125587337129316574485508724464652435082744778553037248176937758157758831171499857719961980725373877661084615909435813348314578149817316863498179145309475836790963341546711881317238717743943701854054123974508706505439889470388608147955365656168292592731660532225120164057825793760296960//1598379545107432815417*x^114 - 11334999615880291567677364503237116388768181819238065680983002096427392694532317211029372522589346999419357555409436043167302644895480588460535675291036568769583813618917537835850653290252003392070866421477240009733302038034778959850885754028556307360199186231491138135998968730187216802430363963777216631474774392786014292482527060493715544955740657378308924927312384200497204761928827501304403207565218977032657714662330047277458192975397469433287199206305896736800912839130615620348214447361390620802846093803220930108273848220715834325346433857818607143022121531197577828524779973263932001482516032147194503486436567117287299800205631069069226104901587587541632679464580147712481432745958543013923979019494944050551866813456550587895914595572891846014838131791705503568512071128861424394614777442938678286706687118946863723285120748237256363129446628955967401335626583658928799744//177597727234159201713*x^112 - 1488483679582091471638313002936652104523949189249473566014804596758656459681365588484938232750835663331826383701232359073218543856054634275219309839327856665695488308173907651317573579595534690508483564025981571094552172631205762330541458345583786770745651058566396180514923201623682977061012476318034139821006458149681918340194309212615599204736267894940161735879514930416816345987166621404434541712610616602713257053781226482251869990334147618710653336684822962767576871175089333576637559995363460117956700770587781262227267635776881787667678363568220523299888831202172761834833092826602819575948758959097124626955820302492693572578150332834242870406292382037863024821109963568100132383797092138813981731191322695903077061628921473924357296343810565626056600712901087861551718835757591846094948418427370790352732334823324969764123047027029249055680472738022452775075236679568588800//532793181702477605139*x^110 + 1664408000842503132157717606415455663696035654417635866737126312963498510136590637284018526080882442496500976405876983564586121433869974757046966272640168390903252066047315251159571751121237983480654030664449018857577751740540486889960911208853691749935194648070656583765015215420009437861436177863733046928154843154997214803774186842730298532808775023328390614155106714114092859611972487263663948513454376701352979759451805968457102650900104852451266737208445788374286302629475460166443672604512718931701286465713864951127661493010323448514808628413704112597313320042732624933886492000823881708845725215311132070389954479780166568316036369138850259280334682871636119272830324953578165234633457607385321960721546514766219296349020034052852297630929186677722256753360068073670618071685145945387334640750074160788916122448088966525826083258953286132718242830832499701684347984674816//59199242411386400571*x^108 + 778425528150531601463186199918337552690228534962571412685778484652031488453340505006459270881403838006333204394084977946583289305478995613640859696644969054822463173493742896229407688772414730306781980022640114240484869115007340346825905412654078033747070672074506210722319505577569941746309635651570127483595978452688398608386656585222928258973426869215666181472102366410338180993786478148708249777028713772689926120143447576907571910078246170374557885350863244947425606611130093725515289162456483247624900798538108813350117160522695757990679259798425021927538735145007405865684778530057025352944836598599842578374159535042156660974000462446316796794135122785828214047325686877689431193740351868199423773630200683820567078537511049593353037629623773646619643139063428955228975145733309701789406356231743957104628863326144377798806511401503732126752738866764442432360498463768576//1598379545107432815417*x^106 - 27576942893523581442227166348358612727248565965358118648542565427467565972776979537277861665989559846111301697922375075832868808162014386386879472896328784913369317880027886962498957302068633223588305164457673134450264313217476438190486934265822611729712599094980187492552185686126924007202272620144797634329166376872945689688787733085423318763902884973678478335367651452460913766087059845030594714685504214715670554109141840005783001812263684655312045123544531660001332125568238638206513308915366302834537743206614456785786297507070852830561790769554605960158120520011250728096607766704712241345999786499814608205662668674974739721791926088856065288316634890602067394366176519618329796546796262021411223255609695570914728854481235281823328338307857022212837562880627738220413907858200582029950881352749060503656940799463233188358724342268962619632537752235619625685403828224//3833044472679695001*x^104 - 76463833047344982510261462919968595978775270697717104388542072607663000048645897009282667565623577748597228382672174039472853410468441525344728616026352454364081070909375362274634286695321740137272191301540378057339171131206521705314274186042721919333262923876013134776159978680623813737270910317583696819588318954037769758892287140244582375693445990051727557920736787054426996860834332666989750170544426048949228264880303302461566799656500897491704814693177719217796067295845524768345423012036755671163109527684791846472949726559810573647091698144277342176201540854039972002612191261007776720519424636956992760007355366808310380047060695652672206927225263242218891013842362478520267276577058259082307796146590712571051974923984924757316802837135763025320560047519603070611264955941820001739420971708781309952148349450986669055984669216459049287087114779849624960593035264//1277681490893231667*x^102 + 1641162891092445588836990255540911603888093339227861425840383321347239785816474629457984306098439469968015226203561454746900024588514326667144757525525839247508622542285310460265915803240548961081036138001431102134534769367296840901512384467785804731605702609862524899436618251971975078212584357447636201549384771608293066834873761665632107071080899033083875997136376940455220458590993687074140021064637485699013714071408691000491998534476896445985198929679262701679329259946997616761141710076456149884335397205902932209061094192859401615284983947804255448744997765078735872145582015559799875155561317290464983347765733106032982937648760068986273820387477985311581643317144369171551288559075853882329107870117931739261146267694549406578180438683394519067442593275278484757103601213291816463199324362914084644962057279897793729438393112787150392489285694505546667903680512//1277681490893231667*x^100 + 17479845072901220931144539360048725605595247811998100522857193734096476469488510481771117909099034210852586875696580466076521810764263952368940296388663884368110418449685555296381480700530462559957145577020005138272147815913040828291559444933009597357472332378060677250383003661837348932633732359003484980612641690402289195720989957788706192414674717291345673136241757300174545207180706409031111967759224659334593285349373663467501248616213175552144764500868351867925302099004763922942120933777350879607888197740390956793007867322149420971010925887970317166248928043378480368126951653721755903928059880722116843623299808965382677370006048115535197390104724534949910980645632231173412214434568407387218617302519526154068514800504966906864405212872634516906346175760525082537675305463318826406619186972365631816916790420509155581252634058713181718048013504417369975422976//3833044472679695001*x^98 - 644092634437450627752966696929888073964179346368039695749853788433516484950876945242887407852877824986290088869370836729184090253461562315104614116797995243822722630697472855562351240280009224607989234347913383325197684335602183939955505714910586944307295581509169206565741063325112689470003417057344343330257075015381612465965480225251178943755639702511785679383631301959101553498748062847317288211642407559965707158822458291417608402207111874669161992404502016116381297983659908751138646865925339958784063349115425705833969028414301539922230179165157315767656744100298996449644873830205386146914796242767898407545308691777377222496768886505206428744880572066343649238654405141650951401325163126829381422194084009192285990548118265060667941612524024627191129892242439587666041760952147798559983953527333977372387528261834038333292307470273530465527309682976755810304//3833044472679695001*x^96 - 257284519211026440151668291100876815249350963058782519586591857664476541544569178962877761773639458515534766923563044872177863899394866716111299077093014472720233537188103706693788154996315246994370330508516308070538171105945293338675491635924768650197041364392234342661994271390009549238059168190391910150802711064632573423107920615758258135989564900853396986010443753686428202347770235117425702035303471772907076313190944419556226542473569059395602426009805207307711318977192384610618225918249939124945182256763572765773495138752660657929208996669852353708309912573472039169509376194365190730370723064865888556396551380770590092670708447067849298091034158346923069918106989136174728891295316819066292639886646791562430293331315133194553601500514856850008292336511450335909910272405419695988171174084961510755291202521954157350780343264458997675469127580737601536//3833044472679695001*x^94 + 6917997182961402578106473423419263381816608171480484309346966682625937214746516533614749430550705631997728453731098910557163844716681045998677952459255887555402413751692126118215375771287851498327209081371036766169692432699583886308140411127904255374910622003563305531917250563614440199123818594812942642772949253352466115083919957577624936389295107008769913795831203863516217386625413061986020886044922716115845337479854054702051621119192947050179762962609890953153006989279237854733908664466823017043465587183713322777715534636870624224506273821119147156088897513352335078822893672933093939414509763204195734610660975908957136611642655929021983319175356360187890096778820058228070743593471688184037797063747169281527724556250103736825278751211700907627428039747703090550400609142031800912075586306377095010324693565554376133327083217226382996463200424635138048//425893830297743889*x^92 - 4803227392278089053138388817570515032911166972164615114215300315226630250826168333438908694436678060494553404865254906470270436351659050386065987121483476074857238889130725700137327943724797768023319877203437426534344346318141769429970361503038650270087641426495498601423370179807774090362047477811912033023400742137360439469499896238620421824772848914058887641267385039911953700679864086427391694130313377803571452710098342602442067317111032590095921098327506592750184087081576230623506911000550158275532992739099975176247005680773601501827767202603312521097320489789549235876327225226338250422034059600609617591403212436631064674848022897485973746575116171056233738028146178092594542400379296590337255253512789223417443742043658000853405127110359773982784696941562051569161228526679995550379436997534025997435302883006834879356117511736402457116056653660160//141964610099247963*x^90 - 1162926029344260822222240028678968529558444496295081667981139779000558229216179433834551758842853589578669893995461544687332246024118292502769907562471595617808422783902317972168762204081879791510351977610946720234106659655236788623842738810785977293814367956451438647583736297892533982686953629282539474096669800803581251963534532721681057201895634482402896605287093737945956974269672528808422739315117726499728866815778697706106257620058475381741421677661432212305104110499370926111419512277197940139976271239112864962461457200440582527686223367090551351186297242808810955569502147760422817999493950375489255885684284411535005501059862717067238836465554823710226523008667292603665912943396498069270582381551477652177294291173363818487554488616226680705664598559203063682447348454931298961412801873443842580203447973105829391513932949033418002367816663040//1021328130210417*x^88 + 576440449921595976416386753543820672945336524278094657908724594773458778243489157650582230848451832294956486486763898312005421710682576724882205506454789167453361406144766029269064886776752775873026419034852642874474398611410947153192265538613118858133221499371944591320326276140250031114518338617258673336495477202116646242227365608077006049430908957746055313929851103935775255587715472900348645046563353745118851601581229794000156160951851767728843120946167879225394475408575799970066519369288612193103769680973512217121953082164879677962850971831037585115160016157929692378429937266273721049401308564655298256055522135860414510356435973701216825110938898959605525998956324186683189463751360033273527738027576803041744353651079477273757135065719377743941930831245937864468474402946548822449348849783886747399267669519964562176080624235695158308372480//113480903356713*x^86 + 55626282811421088851954517838492073193280540989122084191016593473909816171628631767039877943076700794048144201102788645232154408368476691834056345229021547665875113778118253970580671121371614061099346376771986879068636311067363793641828268032933587665718977449913632708654043731871005260735352922991997417673015714125879667385853853846865061879976119484369728231219634704943478985022227670188543572088894178328069323592590379806988679776222683135764318582768249624039998719171678062190674037130861529991466886284465465905788325556521298028553946445816805542902115307720742619798448198966179966262651392012794591481638893303036616179632814695362330316590123107605335310918854387226948199780336671477619680012838798737565538691808093852514623882694451316164553629528298989121783096527822251667060672135137427851345335632200163600759016802844988502179840//1021328130210417*x^84 - 46329971269924857766996879737121752712439288646350019235231602287284342054912966783498152567806282364378964207037711102907676015275615035032779184691051609345581704058922518199356466437833782570995053162796472449650220144021410892684449428856020530442471277099756005998686821136413087265619696332091048114684866500467328141585577438812430164970840889467890187885445673937368682364476842628020589808138783113390797889192915139539104741836394131491551340051323850844355034998292579676343501073070296032511253384333078993667430843237997869160036039542238692088346790826584775249917259747801677213063783946111451946470088248859029458016197156088914006380959871207408338334445308425208448279664614864634056607904875193717987591021696977164859811249082711305064053147027193328704784899298679830821277287932023065313800647758564065959718925607367061012480//113480903356713*x^82 - 1481536254557035510319126270715552779236140357426786114040117691701332592687672108785472710144826645766607113974365884847475705324164300293074480637318835637447269289257031195084960609373021026673442652922995909653557274180238044022434360806508780150779013994670687444410712258204000167574554268815077386383136221324093403032846799793108764351842368399350663156180121702986774299929737845727105033115723711406078578234679661162046636253452236028737277278370100290396431897350005152603990468350669128150565702487752935790139162700072164756908870112962108774101657393563115771473767402277219045816275901526128516575568731430591600889776922323802332812555698085295609602564255271167671225448461298967467598151536757618605889162225499487239391188729869039301124674965553376572806060442364072159612921480074257666324426903851145521705478689235385974784//1021328130210417*x^80 + 7103589470864039928151278139533355661952550009632028378233205324972615882558141318061342764300991747171767024851717018309072056853029034900892519715246361122472975758556799296009785650236117423454312301989120679654988520840993814841590261898055957023493915290142050088935074740471949614941122664705138066129249307280294930002864232795344807169370034442582903743880945225986096837295107335732131839347706243402984613736053931168308537712563072282786871999173942166752444753693134527980271373363406194866132188645344252633756527134416519459627194228479328226809665904114332392819169208307421246193209037659810852081910235193074505788337704355682834891201997445470287618317423802919919829889881843790627060262851050683680312212717837720079551929310200558750955357411296731617977826728775256165925368067786041831448897701081115833218258383214215168//340442710070139*x^78 - 1648341888891879845625543747579520761729425364449227978996420020741988098308396508414847179672826566624757369789460573987037401985733829885751620882490628962352506189372779170436833502360071774888021662484348516906852702848310588222651100547069870895374829381778092095906566637459404233857385303414599402174447857858068399992475935609960536612387495834002361683111443639580532004367132927671695795427255626661535955546572255582358832471074533846270566839111707701952849148904547022918033811155038019554906551673505222007588348933491436273697243229821611994079451075691994165808317812998303518111010119534007251313275029126777684853322034943378963721945292407220382736959907384253479572680082125565720086232705780292091831841492392098940177615817413287599367242195049041711961272552402651329217582506007037586017646710237311226660543927418880//340442710070139*x^76 - 1633490887288740705273023007275192720058347650391442732610225297572738312598258366360344729105809613554138679620228237441547311575621214303048238174425499061817031812023862653007384104172201345302329041011157043646523005834250310358612771525300787525251248215858632089635571699849016156225006618778722606773091054816819498935868115157160371947903418366945815768292922541654735622982730553260107298406021530300496127880101021318122279693555710468872466029538467760828400363577699802847737564465596817025778504954780659774157059342597890883713474984929483439123624921171997141002909682701854131844132677184294717350483517170445277085454493760337780536773752179609877610217341746510641164189489067865144610249060749304530296568123828688443405098775069488157826036365861534132857031020034658500811546869207676934402968229494726464547772694528//2449228130001*x^74 + 5031854982131473801372539322624626234748690093753760854604451213694846841454539934914551124502950919407706503712464138839022714381144356608570451351148048259391530555464945616384853176055481599667800058636235969874923697707273738457350240875049880376763550785869636237273177016131115605839668015872517190717053196935758477864986689985690148937483820113486291472529672894094379299253423892283186272901697096640169812256785419475847438708110644205564434628166830009406103201593738413653877906460508331913870583723955335390310380441436884352055557801867540474065823895835995478792179879663842433000681470442194127833490326797482596921544258461558214385833237111370198566840750175233562511069146758212707393711260930341717821842497236529409542698932782514509237115888557105875882166241647911361935223891078040998453132109891098883502637056//2449228130001*x^72 + 27338149386959562433397009003127116295945439091898660456326738150180271642342011139061132327706707898107892590382749119316242235744511326617683941087461085855772529074455029900040799303229845027991635726887914921532341947229670383300246967570274403883051082755002474807496002669946239541270187671953852204883560341899909806530232428199774529881877943335308042258960553309830416258130914357546422421300647534600753995929424066120912249097490947287623863075008099841000496685278517582984346709100064759975207766291428797335037210131666408282754030927061002633711158304281226532190543369299368579077435568549431287577726716797674027988584487907969782611148954392769546291064280790228420547019854687691466995447374828348055730359553938417459912858931805764465685664542398651324675475361362185170491130484375791411505184522504613404868608//2449228130001*x^70 - 193948704537236222375190280586024329103269899595840986784251281135317193681433095630709006267413935422176523958231174402294684708155298306429857880090960181294152778154081582990944958451529521229128510589519618692477451526900225637660637391987833202437297629177751526407315986386601859439323681902715490288822913812608047644681107133766422806960132482417283635939160065319583505667120043407130824478516866025578045933644254621649891351788290405219309027035500602656917980691185844364205333006291915862618972175034322578023389806582290000321378351691482171074083465845191578867809083791546157011125972225853921534640661638107390684685351554202584988403877675958273410417009035331968348461699281292384652250549812370309274945801195566362658689950718395188616755484755775059498093952749856172444539714616574709580989341111082329047040//2449228130001*x^68 + 1114619928109404305521327239244699743552551301680196952634344224336748147163259838502760166897640567895897907541688833702954848682500874803045700658318752390859983545674984450655734393368374100668865874314820538147396723119201911690894740771724994320229100969201787056722828694649962948241889297586450303218057777392707472923261054327220087610752661461144334637551246498350802245638408729079602735468839274982534580478517256306411127034862628460850044152584137788728706111585816178943843458483697858834685435143460850248010215099158620970188071050368699149521030551187600482616896812604441286030489429436041534546776330749576354627354204046818788076207643794550522980444585095271796834760509894993963241065485438787533944127231269368929519099716155082924210620753592455760144896665063987828312293129937771387689559258642251776//272136458889*x^66 + 129506989053392649536299650614996570425255039854105935388300061967509342533180160563035635224270320255628431261169452075221330144358454111741522047908058259736139968277697843078796546387476331472209231207401517075506078330536897562037207652910594463300073438736347192518811563697787999498385356537375293521118764657199986058894288402174524459175808987338351765126158531453692057371367264646252900220458156482428091087166266221595815599596687035769333289446881973836621061926659114471933267735848429628728237864737693411558755044856755393914797304941427881083141191779076571290256902666372927982577090749274612566799823505577577584804753728889324817624383630781415502136402115826505595925694071647379676301586357167518383664927926289870240235227437304997093016528372410369392216787274246380036939482652367366189347141891129344//90712152963*x^64 - 388101045538223049513911715415293096706548301797609960004698508568693567289110259710225457921540226816252701970142327711662105423021583175100845859643836404668161427164931520540641021815037069263467742139766734763212135726424542073822032612917559531204113190867717491124207994969666281161406602646068327356186083042720777536931875707962196270223409762563986935276349520973754443381082077917890168121460109261604757374289990826021309631248863718175736816732546580691905444095930552047697110632963403169886021735056178875586815635897169655721924110988677395056959732358354862009551345737999511283355432693556765375050839654857744310910699640204522900402554388992032303754362372190801777906896116083415438004851116687133118786944639746119745535574718700218991033718635078804955745182023848624808269785256145834401211294416896//90712152963*x^62 - 88586292180066416315544661103317472660949891758595589968279845877925412058612646300441051143092967353789847084865758096285353880732812468106671813134559292724593862765284291581877182076362252622295119617651836622872099481134568014032298487947494465960921373479166343117288355000134255442444607881800385832451829849077558402501366972590990387575803424757077230987285998162034310531295779344333624599490368292587306116918962779860537545689632209846648387758205038836434591660527185966686213019568130769750778134846065047364035781795496647532232017414572931665736910301998948525133725702767685745837966977508226886394757406605204398478703962259514199831088534131468643318188628439528099360080515534800489197158566997925142811924864269624504234769132875218193096722904365403937556666760923357929134217419213908449110786048//10079128107*x^60 + 19640090838711439500805383076677370168694074906356714409598232092969357940300615541690065573636470603620113109749693350764821119295927501458040919761079031850372099365978322169031216100690686842336778516683038678029800718115873802742248440355093820656768130645630815639557607501065727741045569183858513563818254767447658758372333708850075851024803602129220105071071800551203797843650905073441182264234248595443658472871297276506109031913310735601526691232168721337964266159148663200910119324795960643522774191998746883547689838013595712727068152768134417147851762540146339115820076503360855288216918470760010195329615975064447284330349369729756369534078428467274070132036609216440628803010533324745087354698584031417296003064103531975606685505068684650646182912254642700838362747927022004286424609418892425618784256//217535139*x^58 - 133114345262011598297215707807219360714147510553883071444579569624076289486722809205242179242264354298282811960850052185295359021609436601161375454269497698976058271810543089255800399458397324141057197520566433211088651894426105808808599199451588140283942995812807689453299242379956327551822935401955466403242221922470815081150381624055217017139263063113157460139710517963333880591435624310672638248526294480203039792974444159254220513077212552522206615150730878947145796680390733051589962545873227134312817669834601566349753315862198660110729310673021590710887239496393998406929180960134802174341635912006199775194818969528425572756124092555792291822489185083102144668796597417698736127564946977056926053722605604953897972563323391554606926629067166149754973807129753900680223512777626678612681263893629192110080//652605417*x^56 - 77299801124386367276990592189902450207833560655458735392136648132946006708403461293730224675872353208443219867193168990004051074387522148764596460634585622876529593101042203671551144893066021605073214834012961406242915617216493173227669314170878757588494978261116659270406631239325888009630748871532841099703221281536759130137699819522123647351520249914304647115376743576290628435873957203770768975092392290973292667047579519074843775131445814588272233296160525516657058794594368795205051717716201409567013030870970590217920052386196436711863462316218013214674309817756132966754860974090828500811692883683689304252304330551268176481261331133597566239626123434855553610845552910324001135556860853507030862316910465825067974563883217225667470534440455131270415031855843875895412684886624657283385227261438328832//217535139*x^54 + 906793354467462314654136628855019766285224799222781869461398118887542869918644830131118980440179956861267944402509133837523108312551472287695520753838748085009320558552790664491290553728093658959883387167869504620563027969874177778993489088064225786510322860666310340064992763565000952345060069431308763972822291369578112240937993743961455979152751691506733199640765306358855614433893319922640701072315313718844194500814106419269055126048942725523196318661075507844182622575034414591139245249067597439642126829895052437528702569072285505873139141915267712750370552925763870771954215600412165909128373466815577541090808636227286403903283170732274129298231373051970598577289706129115106724270917287520594520823544507101341394777581289459708753764059704537212869227164502995871949814324194530214047555149365248//217535139*x^52 - 3767190867709502977682707600995845848920848469562379106350564320494411914287866686648590057683323775996936092499416793633528654016493373303572667966989288910785013495076275500720392868445246843350216155483570189171748288966376806958464891472792972645078667139290906814097570382892173979258122949504140446207069456291673170361553608647051282891029031008287964313359418486394728529554639954666140708922414951687607100792537130144374912367978434421815145909361562502070599328748071089788842649892853203627065625827546332438450333982889983095721527384666224910863683928984978130054936614765047559667641091001123480938363382353452697795374919568828980626030126944722929865401448278296047879459040731788655662380269446634763346008537239562591220200429795342185822675765979517256098013450556481864754254535720960//217535139*x^50 + 11251483771563424690255996528025917433075881995021176080749383751197533058573615381934408422337965914654580346043836910303319482351603324737774172793367782140154579257403231905310190121875267071803849543244527760453742812483126659665025090973858879599791461878234370354325401727146075731015352174302335068807993278962250817437969312780786078884730545255572083730931945470285326987443956892258744954655525340562953906581476987885115292753345992872064321991431329674693413910210717891391891767292392261913824884213894430677244150791848000570310606915147617841321902789859691833419420655228645876853631470746268925757497096965539732667691168945805003029819498254091697797009657506582733017481825999311024896430827942297033249720795709841410613928029577888441637774270971459391939605524426566321767142391808//217535139*x^48 - 9323408914029671996101304184916197885560347937157465912514928084822296007853552696414099657853678658235703401317941633113620413461517160565473336619099128724458990669274370206213321843385557280736287229380028957409172157950077781532656577177971844337206200650826832854102810436923490587793667552250953582242296641191824300704882138430952252864460881360249325875259535640564509357189214253440791903862479706819589399510086642682281330773803505400745416413465958478216919095627211112512842104049986856084125762929044141499257752980928553900052560560720719340164004873818007826183631433897802221304790644266619064770337699149307705601089851109790496998304772976514028371899931450211317292114787920908826593684976194713426806573894590101202887158999679969439421431849579443759572693770433438395203059712//72511713*x^46 + 48144416943154023014609586340969472024744909205279196451473761951766834282844344301339479787946685909989965006323954484765672799334607918577038166086193084625847948082077277573294843866615869850593621300851649848038097408866614736109237617277315419531381191250644135200849978864900599429025259811030113641853897953226416824436176962406080354747660866657912504148449563322150387414406051779769897449335268104400417908479564570160467505484455489249512180747081131721280547099273516336115459559649314427641748135569935159095437763913254116689646078018823239123293466809010336475104538799378714190359932763013750242966548390770546728776267708017534330866691754640185964566675592869832333656551640522486482078493440693835854707975846765896185740501599571649327388347826569441536015197004259607445504//173889*x^44 - 29672515224124137774701959591495974944852925372753389795440880726064163036869460750900094120069033541945075195255710522836638598636783107249461981844978864262450340696427117027098606475100258629264352248850980010458784197866386774034973256991816307148686301549676582814604036083895523242834136619685747692771421958765993574675982555472305800721131746636032967130948761501497158730725583960097023081953203603896086940342056561643013995997136312587611824113939889186821770011282659169035785785753569321420919103707387099382558214492757195776217875686938922089138543127652912087591426512543861033283421991423400819259853802955710544196728775232202523841764109412662949535338555169396273412829692349190063240913987920922172659295061356124138267409728722871901120652834786809700600536030972477440//57963*x^42 + 46048047369762612114300226782051404087762860004324266351776083654883556754246697343745955561272071377109638407077395648814227067784361143289601655952589381573990222058445471016644518472240627379656146261540043489691737368220196725235833238795134996346538207541545669891278109873061987360414715729161525003659965119037465849488443520115636124457521338245015480895063791172931020297491637971655031393233713381646038653878929870512260866907635867860141340064537673736637957301436523035442420560763183961012262380144729873373399718515091854022997887663657012790402500634970278491895021727237150028892978330608641120446011576987401251137984778833399375935381879705090996116190185490465061127662464638443294784614380439389368821824157214298061037797553880391784312310571365593433741281701396480//57963*x^40 - 19614693313729789301564700520900566004574776608239673085063587824910173562476004838461694124317263677059298865400179991364404253516542842460785418726286264761261450499815403881948630732939836367812574745538948558322998036977565567729490184252557006747234307895814514959360048305308552038183539218291535714599006751460125497386934468537664372881997461970643531004871365619099473159549114216827621986855785537714737802981774492267109164822105577707925344730814817652589123695957890621790069305025354674656517590503051848642456376114604261540488911002157172359351034246313249651142779686271100307187459198883423341997411709676845515193153854390378172816302311745439558753553091283911684570428515334664969700254210881584692313128948544102076791692320552519634842634035785822789092448927744//19321*x^38 + 20384503949080218811612723006693382567329075722050097540458588150095138087509021704316300716142714813374129201165013763479179611398885989089088625610579229477725855728825291718179661353450363221232630475888199765602839338952590898318754858818585161186780779199475520237072232681916466504346174946536502180849316796295502550384134414509192627344507233224211001648586070304526117645371487665612463314180182698531826752046658147481510023690301718648128338267871322778162268968168771825195652179662134931248954735803302298779539460691027571509689431152576981262841326664016331865300761492991979125457912515665746938629223413393392474727873156885549694994100710614858552044944015985467595066500843185631524497446906039031974805012665977114200053354630969523772030062005073100216983355392//19321*x^36 - 51246814607830925572984225226927208888746033464081384603866031195443529191439021140897280298062855897503193246357037311780775441464489112978006817142048824509713247956658846746278539691125611314341646742325102917308336459065414489198379976374538930953456397434430117124050851851343288090952477455570649035650018719318244093563470494064088968056437812900520421053660937437727790678315123679788663803233611714075267371255146090776212525594699019167819726697656828374222199820926970057900798816516228491114828902358815744166274298637063883442186506606423447557890220916621074167465413937001474494324091664792037492326841007612372700562188533110188999967472871104181990775393990521428835945463051583804557991010309800975131716950219063296694299183291114536482249142670765135461613568//57963*x^34 + 11453488786826085267762548747311409930524266812751327848218719110713014781477686198973588478812091692641170967977425830343949401274511044707771062187438935316390471589818498347158732093792927324073208132116533469312420256591367931459521482938719057103347077764136039875801814346231762837055774639865394646268783025284463608699570357407574278252711671375014855999202927943476961294901268231218676879245619148713539806775991230048541878317167401702436856666143580261279343405340163129298783863467252531975031378533813468728701423009973388572046216981855719562458693750548299199936198330016104741728246332030161034350726538038587844324087562005626960276489725682788403066306378028256592829378054841907882407755796868879183209743631510429400069077933645409448393173835839631785984//19321*x^32 - 6085494245839220017114202103880105526019222639457209375671642547418239631344681053416241354622171002668140903050478658346541164615280671941049060634511487549557643060983812206565954942051201927195728461035129336358905929759885327445574699724124332653389020913280684364165283288893650727924471193981011224973411721126594468694035634056140889574542279880705680823291348831308569668186918488259486864128109781961412565900987225900000773664352255111709441462616655441616604960673526403269246602604625220920424407352905278033328004253799944403265370399440851465628240741310932927480203257951306580859444489421704678440298985912592300422503740039274400779483821492812800859782775747880517507217517371991291794362406803619709902756336505507785166799835890064575577039160588894208//19321*x^30 + 18179623755529819956310688124099054079851095927072299428535371081191437754280411392673518081577455367404605417906815806965616653769190853052931314981910243066914664342722002548752962861533198043966079053839145667764532547048589467794896644838524462938592427815271478147929939815088718312465416075597006279729389722512596480643770927645392543058948584447072195169442514600755225731384687827123759172514036175740650212376802114375049259946385930140229511279629170815131747134997027345049551133654649372129987595704827324775116188003072902892737478931037061666667565534492913201707306235986866127296608094714610292047243635629046401167339015627895858024729175486214425050624572619558538245074032338609903268064558833340530767330784875544920002210061258845278827060396032//139*x^28 - 5775821363344371681989566197347043739947006017660941430159784843540329247374523300994168608276358405881811618955449232350926791065209387727920326687880881581877819189311180447336570076206511548336686649987368706668088044592550890944505040371240809875763563090576215638448459444642040907478641161849530258042703373216116940503071222869370912656047438331067186074653675064670090809981521948780442872226980110590604513790371144231869240543276706128246025136602030522625658211826834169016103406251703931427213595108552683387669021283310235594635888388647183022600904380380762616114080771974347068617753248189043944123629591452882161701340113303485559365971297303280429129066298698262332122178452021566949369588469939157995764914215281875053502654342197240115933216768//139*x^26 + 1356719961299912443182155896325443619306279093450920507874852062336885486199357845674511327396982694362251606666614087682242540205691366264336988233316989727808781343246666603742845984512662218054729840626795448887079980871188497334209259606467283734316278682388115319933881592222439468050496807767343044185744578799471500857224287237740946801678504832901385543182245583266585080372116320438113647824944058967602540669754659609250152367973602254734866770471540271771539595525463953788777051078975963011370456921884785794537066816117447153657555486436233327635548568103012573501357827399890810022394527198104401992024389515424769270600724519741369998955580362768469599830681891809674964151192749134358661125118469895512481231222325042055560566972621294437138432//139*x^24 - 221806683711643020442442331121909447003001255050809395507107878193257907876231563575120249547763049845368719491757504733027330708106830998240183260118385884047195337887952055435204637200653766698991105272691981892619922621114663644424127744668125274232386772688341338205940743486213981281987680523608919307368035909676951956527703382329579830929363782859249017547125928906517362680938968014092784259794958870822011550969551759094400847547802276319120636261255361287884524271153482303146234701684918483406622712788591639626633671928193084737366588427096078406816312959176154036440209207366510363811069360215110702197693586275458577234889571013931596020645986228572924666350586045360784383935845998428389368549349885275422885195111927489618462447531091558400//139*x^22 + 22205592939016105490341087528745100198670333229251916963012843242990809025273700087683801993751299789218513846720460695941355633630734953536189303388658981265645741677259686522214287015935272674712409849592257853537011388684958472820814803750820524967319004768733341510288089703695278044046286312093915203324256446299682668476303162392297446150816964411176012042318710587054052189711203288164551410230385561113024960049362921213914782295347339367000093872143962071293979704909519443142734296704475968683808228804737104315697406353451233330408645625492462028074648362396524540315577542245751405684526577228544368937730371493592458632115726533734099991197772758961032880582070947372062518480883714404743240640146439116594639287114921184606000498931138560//139*x^20 - 874339530119398844814335868955537063815421225095997541978485472193755089099867858752406506632644271047821586052534969749322465951917899740769870603669122941173054334910216748161296368361117079915446558829202344506686855063223595631699569094595840191842081880757858460550520388445091953446093291183608070145165511150118473666271724233707434419506219146352826910161351072766194696701424137766289621794725655790210721416910073468309281566006191347110365273215281988982794763918903219944872107101169095977353270867313801063613920244421962031702342422125226739501290044974428337639588514458814445835230679972024108226436291269873954371956459515170822716511545809533793799555560343491633610270951688853130330357891733009725906028402658396197917909057536//139*x^18 - 40667757725115605213403049434747344352777249587807518725953006424754157065816009484233583928382956291103711368905365197865702485744209482727205612301601747061857181312089870943914663545170173167805726812387422263044218841207222764649813922209059288407964204390142211391494547270509193452396570554329821802998952465336593440676763896208864768733133567752616038624753946407280169306819215539517080656784613517949952685700178556052690563772748219017753101902452910870271190149967654823799591982220066000656581215524518457821685575295462427075130814388261762235154996564535328725802672274719442665787700997924689194007948084490219641517206061228481658445634822475372659255131847409546679222343011313263637692654591541474448940845953910812516024320//139*x^16 + 11570456799178144708175940842137396357362024410404214111590502507318246057804737265027643941472334133676410357388475847717275136203155872781429041782100146476281610028767666905385412722995107472357461568134009475805073495349455249521522472732204728596397598176485445680354115155954540069041176842596619121480641692955885021719134229192445133110781388277419800753564690516088593347596485855708248428836515650557272123082428533528399584584147890286061351213083570603643866460156381419200751278178647272679293615954657764069184349760738123197948860884168918467923497764335787171397127790713413865570575290414221574470154963616192297230069986726005490399521037773424110573201551131466545717734860748577465914797637201637698633081343549898752*x^14 + 2006342536427479195548837319031070280201235500881533863362741762514399417752443232386455298298616175758463256146061896921603743268689615729908772970077486409746322025743206524421631884516110324915556354236206372624650371183264883434079006109661046732365367507417716213089517106527029131921476247013419790420516375905326668745492891592624649420204825646254749711295343691854692434437601920798136517914553162000577785900006257285661941489861742743562062055286583965463119788431787244773029416533128753716610089803872063920113927192141798717603406021464551390925285415506622806660362079922129192968705320871220920776554321349336157200507352955808919674947986164133855877442285285730722807414310483536970194874667130151292146914613526528*x^12 + 44333681532412951449799018151096558148105883408232032292846468078220408542990784641139100920697882583778029775478629777223485855782427250300856279464308935232638993771404044257370380909476699218885568837894563218427211282016379854885062656154815736308962491114588142645545465641145875120846991190940673493467768097858306557882523729461063910231538167208042421700247834953275498701442627606740128726330176494416112101939238382830251483778167768369927947823282851520566543571662741273625927245563630274700308746111109955148670056317012807328495520655826697557117231317596856615955902967749442415556476192501308178266814071910069661927143094769549050158982553732175998216265609481408470481791888578698634736275724100618579003572224*x^10 + 375791315234274446594631571238015053451854015012670254749418565759281413894586944427935389058304320865975871477402738393182497517441555303660403305391953065171471818063314354083472733293668699850521450138357095397804273398323065699998900913806774929115264558366068853254082704847950077461945675988777667703792556448075147694366459752532710610723958784058207770942266374253383349433610965455280891994318941868988092290791082575142394726846267562444440136637901026945989082770890655992401742422970947923018961678024378507274952348722609772472488671278176786769542616933469256151444487630605424294126826418080891220271514189177114783441105777438200456527331120692463101607095950593739878443976580247371830380211627532339904512*x^8 - 4060326754525257358025880734256754928235003918124782886601789574258708520402752717289580434757874533360933387438212164960448054267885323414054591983496092133486799183041456543536036226154490851952862424462578295972357616443779897277488093855097050664775920886796665973235299271350266650300450370699303050165941682557526770511969449147571939190817278411638634685499183215342313297161424033509172844226168680710088471274763441221754323248611748288197705034976412981375479822540703993422759743251078469285819801535483250874029189603117104523015976623121244162857500968085001130894197052552494355192547233605612871209159257412556791269702687662080130538699811589384779891212555522088283179029853110057953482128031219712*x^6 + 11594651820604831013660298778208240155030931109647446553469820232084470205428085562121262185585796179462574509626745766195913628659752695695306992831435878610136195150717344787178246624869470290586232004437501762055144352044599887530569955166908865955536125463866094320319044512178834640526440885248257898109916502234382375328105887760099505067571140110000387199127258573156646731738701154751816749282327820082724573990325338364243151998053529190209613661786419663060322332390562897272450793101247373330454308366361606020493886918891300281526651132435630815684506927851358132915550056532964910281423226866966550883060066159305285896802493171242558483841282355436208867207207656978864181026706910535168819200*x^4 - 3421550289861650154660988298259339325212725798049675866312785292849447184320819454252726155751467324924175345425985937210349456254644936933602681820549950380097838080845793113682204294156330451262517952530315299135500329762332117442529897469133931475519031274492079273026005346504194016717256337083657325536957498356352453991844720129731992208762649201774267218583562137383263260093102814369200389835976922628681345008532460056925619653541898713767165706917290097304591957492496246179140228901181292656743816027460981610653651060039129610659171654391641024772229762785206447933352956481203919411017250826956911477231382456284555359727621440350684109703143515235347164541125912668463745147651227648*x^2 + 267017168801975889620773483071915352384790774018395154483129522466123573213216806857406062144348207741552112997489490500551614557189405351549584015058076558214965844062237303764342265893456168434648273979153889830711350223834757345503808780236377461975451558729308817837793624372506111602330833968286172371822671258113712949577319795174692318671487007468328714173385931195458704191836619049185406052425671051211954647005109947426141489403584734823670298186042654510935370911211835510411203709329607425944607296636258085392098702763644088044929764331607704216173010822963227750596640099273852767761268602118379282151640365543510396757218741165544218534247055286610626827734439859840876544" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "res = (subresultants(f,fy,2)[1])\n", + "#D = collect(factor_squarefree(res))" + ] + }, { "cell_type": "code", "execution_count": 9, @@ -82,7 +154,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -113,19 +185,20 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 6, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "2-element Vector{Any}:\n", - " 2*x^6 - 22*x^5 + 102*x^4 - 274*x^3 + 488*x^2 - 552*x + 288\n", - " (-x^2 + 5*x - 6)*y - x^3 + 6*x^2 - 11*x + 6" - ] - }, - "metadata": {}, - "output_type": "display_data" + "ename": "UndefVarError", + "evalue": "UndefVarError: `g` not defined", + "output_type": "error", + "traceback": [ + "UndefVarError: `g` not defined\n", + "\n", + "Stacktrace:\n", + " [1] top-level scope\n", + " @ ~/Documents/gittravail/AlgCurves/subresultant.ipynb:1" + ] } ], "source": [ @@ -404,13 +477,14 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Any[]" + "Multivariate polynomial ring in 2 variables x, y\n", + " over integer ring" ] }, "metadata": {}, @@ -427,7 +501,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -448,21 +522,34 @@ }, { "cell_type": "code", - "execution_count": 213, + "execution_count": 24, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "1" - ] - }, - "metadata": {}, - "output_type": "display_data" + "ename": "MethodError", + "evalue": "MethodError: no method matching keys(::Fac{ZZMPolyRingElem})\n\nClosest candidates are:\n keys(!Matched::Pkg.Registry.RegistryInstance)\n @ Pkg /opt/julia-1.10.1/share/julia/stdlib/v1.10/Pkg/src/Registry/registry_instance.jl:447\n keys(!Matched::Cmd)\n @ Base process.jl:678\n keys(!Matched::Core.SimpleVector)\n @ Base essentials.jl:781\n ...\n", + "output_type": "error", + "traceback": [ + "MethodError: no method matching keys(::Fac{ZZMPolyRingElem})\n", + "\n", + "Closest candidates are:\n", + " keys(!Matched::Pkg.Registry.RegistryInstance)\n", + " @ Pkg /opt/julia-1.10.1/share/julia/stdlib/v1.10/Pkg/src/Registry/registry_instance.jl:447\n", + " keys(!Matched::Cmd)\n", + " @ Base process.jl:678\n", + " keys(!Matched::Core.SimpleVector)\n", + " @ Base essentials.jl:781\n", + " ...\n", + "\n", + "\n", + "Stacktrace:\n", + " [1] top-level scope\n", + " @ ~/Documents/gittravail/AlgCurves/subresultant.ipynb:2" + ] } ], "source": [ - "idx" + "sq = collect(factor_squarefree(res[1]))\n" ] }, { From cf899f34b5cf3705c07f009626edef7298e2a024 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 12 May 2024 01:07:03 +0200 Subject: [PATCH 009/180] refine xboxes --- src/connectcurves/main.ipynb | 7112 ++-------------------------------- src/connectcurves/tools.jl | 2 - 2 files changed, 297 insertions(+), 6817 deletions(-) diff --git a/src/connectcurves/main.ipynb b/src/connectcurves/main.ipynb index f33ea28..95ff19e 100644 --- a/src/connectcurves/main.ipynb +++ b/src/connectcurves/main.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 231, "metadata": {}, "outputs": [ { @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 232, "metadata": {}, "outputs": [ { @@ -60,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 233, "metadata": {}, "outputs": [], "source": [ @@ -73,7 +73,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 234, "metadata": {}, "outputs": [], "source": [ @@ -82,7 +82,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 235, "metadata": {}, "outputs": [], "source": [ @@ -95,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 236, "metadata": {}, "outputs": [ { @@ -152,7 +152,16 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 274, + "metadata": {}, + "outputs": [], + "source": [ + "precx = 150;" + ] + }, + { + "cell_type": "code", + "execution_count": 275, "metadata": {}, "outputs": [ { @@ -165,15 +174,15 @@ ], "source": [ "println(\"Isolating critical values..\")\n", - "xcrit = [ isolate(first(p), prec=150) for p in params ]\n", + "xcrit = [ isolate(first(p), prec=precx) for p in params ]\n", "xcrit_usolve = getindex.(xcrit, 1)\n", "xcrit = getindex.(xcrit, 2)\n", - "xcritorder, xcritpermut = order_permut2d(xcrit);" + "_, xcritpermut = order_permut2d(xcrit);" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 276, "metadata": {}, "outputs": [ { @@ -189,19 +198,20 @@ "#RR(x) = Arb(x, prec=120)\n", "RR = ArbField(150)\n", "Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1])/evaluate_Arb(params[i][3],xc[1])] for xc in xcrit[i]] for i in eachindex(xcrit) ]\n", - "LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ];\n", - "Pcrit = [ [ [ rat_to_Arb(pc[1]), pc[2] ] for pc in pcrit] for pcrit in Pcrit ];" + "LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ]\n", + "#Pcrit = [ [ [ rat_to_Arb(pc[1]), pc[2] ] for pc in pcrit] for pcrit in Pcrit ];\n", + "print(\"\")" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 282, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "intersect_box (generic function with 1 method)" + "intersect_box (generic function with 2 methods)" ] }, "metadata": {}, @@ -209,18 +219,54 @@ } ], "source": [ + "function in_inter(I, J)\n", + " return J[1] < I[1] && I[2] < J[2]\n", + "end\n", + "\n", + "function overlap_inter(I,J)\n", + " return max(I[1], J[1]) <= min(I[2], J[2])\n", + "end\n", + "\n", "# To try/do : isolate with usolve, call msolve with only one variable\n", - "function intersect_box(f, B)\n", + "function intersect_box(f, B; prec=100)\n", " L = Array{Any}(undef, 4)\n", " for i in 1:2\n", " # Lxi\n", " L[i] = Array{Any}(undef,2)\n", - " L[i][1] = isolate_eval(f, 2, B[2][i], prec=250)\n", - " L[i][2] = [ j for (j, l) in pairs(L[i][1]) if (l[1]> B[1][1] && l[2] B[2][1] && l[2] 2\n", - " @assert false \"\\nRefine extreme boxes along x-axis\"\n", - " #refine_xboxes(QQ[\"x\"](params[1][1]), LBcrit[1])\n", - " #i = 0\n", - " #j = 1\n", - " #break\n", - " elseif i > 1 && sum(npcside[1:2]) != 0\n", - " println(npcside)\n", - " @assert false \"\\nRefine singular boxes along x-axis\"\n", - " #refine_xboxes(QQ[\"x\"](params[2][1]), LBcrit[2])\n", - " #i -= 1\n", - " #break\n", + " while true\n", + " flag = false\n", + " for j in eachindex(LBcrit[i])\n", + " print(\"mult=$i ; $(j)/$(length(LBcrit[i]))$(repeat(\" \", ndig-ndigi+1))pts\",\"\\r\")\n", + " tm = time()\n", + " pcside = intersect_box(f, LBcrit[i][j], prec=precx)\n", + " npcside = [length(n) for (I, n) in pcside]\n", + " if i == 1 && sum(npcside) > 2\n", + " precx *= 2\n", + " println(\"\\nRefine extreme boxes along x-axis\")\n", + " refine_xboxes(params[1][1], LBcrit[1], precx)\n", + " #break\n", + " elseif i > 1 && sum(npcside[1:2]) != 0\n", + " precx *= 2\n", + " println(\"\\nRefine singular boxes along x-axis\")\n", + " refine_xboxes(params[2][1], LBcrit[2], precx)\n", + " #refine_xboxes(QQ[\"x\"](params[2][1]), LBcrit[2])\n", + " #i -= 1\n", + " #break\n", + " end\n", + " LPCside[i][j] = pcside\n", + " push!(Ltm, time() - tm)\n", " end\n", - " LPCside[i][j] = pcside\n", - " push!(Ltm, time() - tm)\n", + " flag || break\n", " end\n", " i += 1\n", " println(\"\")\n", @@ -310,9 +388,24 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 281, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "UndefRefError", + "evalue": "UndefRefError: access to undefined reference", + "output_type": "error", + "traceback": [ + "UndefRefError: access to undefined reference\n", + "\n", + "Stacktrace:\n", + " [1] getindex(A::Vector{Any}, i1::Int64)\n", + " @ Base ./essentials.jl:13\n", + " [2] top-level scope\n", + " @ ~/Documents/gittravail/AlgCurves/main.ipynb:5" + ] + } + ], "source": [ "# Update extreme boxes\n", "for j in eachindex(LBcrit[1])\n", @@ -355,7 +448,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 244, "metadata": {}, "outputs": [ { @@ -364,6 +457,20 @@ "text": [ "Graph computation" ] + }, + { + "ename": "UndefRefError", + "evalue": "UndefRefError: access to undefined reference", + "output_type": "error", + "traceback": [ + "UndefRefError: access to undefined reference\n", + "\n", + "Stacktrace:\n", + " [1] getindex(A::Vector{Any}, i1::Int64)\n", + " @ Base ./essentials.jl:13\n", + " [2] top-level scope\n", + " @ ~/Documents/gittravail/AlgCurves/main.ipynb:18" + ] } ], "source": [ @@ -485,7 +592,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 245, "metadata": {}, "outputs": [], "source": [ @@ -494,7 +601,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 246, "metadata": {}, "outputs": [ { @@ -524,7 +631,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 247, "metadata": {}, "outputs": [ { @@ -536,4526 +643,94 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", - " \n", + " \n", + " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" ], "text/html": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", - " \n", + " \n", + " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" ] }, "metadata": {}, @@ -5069,7 +744,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 248, "metadata": {}, "outputs": [ { @@ -5138,14 +813,14 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 249, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "4\n" + "0\n" ] } ], @@ -5155,7 +830,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 250, "metadata": {}, "outputs": [ { @@ -5186,7 +861,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 251, "metadata": {}, "outputs": [ { @@ -5198,2302 +873,102 @@ }, { "data": { - "image/png": "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ZuYIBEJZlufNm7d8+fLW1tagGURRvO2225544onm5ubHH3988eLFVNsjhBASJSIQCM8555wHHnigqKgoVIYvv/xSEIQf/vCHAO644w6Xy7Vly5aBX5cQQggZuKFoIzxx4kRBQQHLsgBYli0oKDhx4kQP+VtaWmRZbm1tbWlp4Xl+CEpICCFkzAprHGFFRcV7773XffuyZcuSkpJ6Pbytrc1s7pgAIyYmpqWlJWhOhmG8Xm9SUpIkSePHj1cyW63WcApJBo8syw6HIzc3d7gLQny8Xm99fT3dkejB83xrayvdkejhcDhcLldubu5tt9327LPP9pw5rEAoiqLb7e6+XZbl7hu7S0pKam9v939saWlJSUkJmpPjuDNnzni9Xp7n9Xp9OCcnQ4PuSLShOxJt6I5EFUmSRFHUarXp6em9Zg4rEObm5j799NP9LtCUKVMOHTokCIJWqxUEoaSkZMqUKaEyZ2dn9/tChBBCSF9FoI2Q5/lNmzbt3LlTFMVNmzZ9++23yvaHHnpo3bp1AObMmZOTk/PUU0/V1NQ8+eSTeXl555133sCvSwghhAxcBOYatdlsK1asAHDBBResWLEiLS1t/vz5AFiWZRhlcmCsX7/+4YcfXrBgQWFh4fr16wd+UUIIISQimDDb+QghhJBRieYaJYQQMqZF1zJMDQ0Ne/bsqaiouPDCCydNmhQ0z759+9asWWMwGO64444JEyYMcQnHoHXr1m3bti07O3vZsmUmk6nL3h07dhw4cMD/cenSpVqtdmgLOPr961//+uqrrzIzM5ctWxZ06aXDhw+vXr2aZdklS5aEenBIBH388cebN2/OyMi499574+Liuuzdt2/frl27/B8XL14cOH6MRJYoimVlZfv27XO5XPfcc0+oPKtWrSopKZk8efLSpUs1mq6BL7pqhFdcccWvfvWrxx9//JtvvgmaYceOHRdddFFCQgLP8+edd15lZeUQl3CseeaZZ5544on8/PzPP//8qquu6p7hww8//Otf/1quosnzIu7FF1985JFH8vLytm7deumll3b/Fz58+PC8efMMBoNGo5kzZ05ZWdmwlHPsePXVV3/yk5/k5eXt3Llz4cKFoih2yfDpp5++/vrr/ofC66UFlAfRli1bLrvssj/96U8//vGPQ+W5//7733jjjYkTJ65atequu+4KkkOOJqIoyrK8YMGC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", + "image/png": "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t27dunVzzGoAADgf7zUKABCNEAIARCOEAADRCCEAQDRCCAAQjRACAEQjhAAA0QghAEA0QggAEI0QAgBEI4QAANEIIQBANEIIABCNEAIARCOEAADRCCEAQDRCCAAQjRACAEQjhAAA0QghAEA0QggAEI0QAgBEI4QAANEIIQBANEIIABCNEAIARCOEAADRCCEAQDRCCAAQjRACAEQjhAAA0QghAEA0QggAEI0QAgBEI4QAANEIIQBANEIIABCNEAIARCOEAADRCCEAQDRCCAAQjRACAEQjhAAA0QghAEA0QggAEI0QAgBEI4QAANEIIQBANEIIABCNEAIARCOEAADRCCEAQDRCCAAQjRACAEQjhAAA0QghAEA0QggAEI0QAgBEI4QAANEIIQBANEIIABDN3hDW1dU999xzw4cPnzp16rfffnuJySVLljz66KOO2A0AAKezN4QLFy788MMPFy9enJycPGrUqPLy8hbHdu7c+eqrr7711luO2xAAACeyK4S1tbVr16598cUXhwwZ8uijj1555ZXvvPNO87GysrJ58+Y999xzjl4SAABnsSuEZ86cuXDhwjXXXGO9OHjw4CNHjjQf+9vf/vbggw9GREQ4ckEAAJzJYM9QUVGRv7+/wfC/4cDAwNzc3CYzWVlZeXl569at27t376Vv7ccff8zIyEhMTLRds3TpUltlYT+z2azX693d3V29SLtXVVXl6hU6iKqqKp1O5+otOgLOpENYLBZ7TqNdIfT396+urrZdrKqq6ty5c+OB6urqP//5z9u2bbPnQ3bv3j05OXnRokW2a/r16+fh4WHPJmjM3d2dEDqKn5+fq1foCDRN40w6BGfSISwWi8lkuuyYXSGMiIiwWCynT5+OjIxUSv34448xMTGNB86cOXPixInY2FjbNTqd7uTJk3369Gl+a25uboGBgUlJSfZ8aAAAnMqu5wgDAgLS0tLWrFmjlCooKPj4449vvfVWpdS5c+eWLVumlOrTp4/2iz179nTp0kXTtBYrCABAm2Lvj08sW7Zsy5Ytffv2TUhIePjhh+Pj45VSP/3009///ndnrgcAgHPZ9dCoUio2NvbkyZM//PBDcHDwFVdcYb1yyJAhDQ0NTSaHDx9eXFzsyB0BAHAae0OolNLr9b17925+pUP3AQCgVZExAIBohBAAIBohBACIRggBAKIRQgCAaIQQ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7rlz5ywWy8qVK60DAAC0cfaG8IknnjCZTCEhIbGxsTNnzrzuuuuUUlVVVevWrbM+Ijps2LDZs2fHxcWFhoaWlZU99dRTTtwaAAAH0WmaZv90RUWFu7v7JV5TYDaba2tr/f39HbEbAABO99tCCABAB2PvO8v8PvX19enp6cePH4+Pj585c2aLr2/cs2fPjh07goODZ82aFRoa6tR92q/6+vp//vOfOTk5cXFxM2fONBia/sUdPXo0IyOjqKioT58+t99+u6+vr0v2bPu+//77t956q66ubtq0af379/+1sRMnTuzdu3fChAlhYWGtuV47cvDgwS1btvj4+Nx1110t/qCUUmrHjh27d+/29fUdN27c4MGDW3nD9uKTTz759NNPw8LCZs+e3eKL7T///POMjIyGhoYRI0aMHTu29Tds+zRNy83NPXLkSHl5+axZs5p/hbTObNy48dChQz179rznnnsavyjXuT+0cPfdd6enp/fu3Xv9+vX33ntv84H333//lltuiYqK+vHHHwcNGmT7AQw0MXv27DfeeKN3795vvvnmnDlzmvxpTU1NWlpaYWFhVFTUli1bBg0axLsZtCg/Pz8lJaWhoaFz586pqamHDx9ucay2tnbGjBkPPvhgXl5eK2/YXuzdu3f06NFdunSpqKhITk4uLCxsPjNnzpy5c+eGhIR4e3vv2bOn1XdsH95444177rknOjr66NGj1157bW1tbZOBzZs3T5w4MTAwMCIiYtasWa+88opL9mzjvvnmm2HDhq1Zs+bee+81m80tzjz22GNLlizp3bv3tm3bJk+e/P/9meY0p06d8vT0LCoq0jTNaDR6enqeOXOmyUxSUlJ6err1eOjQoa+99prz9mm/CgoKPD09jUajpmlFRUWenp4FBQWNBywWS01NjfXYbDZ36dIlIyPDBYu2eY888sjMmTOtx/Pnz582bVqLY0899dSzzz4bGBi4b9++VtyuPbnhhhsWL15sPZ40adKCBQuaDGRmZgYHB1+8eLHVV2tPLBZLr169tm3bZj2Oj4/ftGlTk5kpU6Y8+eST1uPVq1cPGzastbdsDxoaGjRNKygoUEpVVlY2HygtLfXx8Tlx4oSmaZWVlf7+/t98843tT514j/Dzzz/v169fSEiIUio0NDQuLu6LL75oPFBZWXno0KExY8ZYL44ZM+Y///mP8/Zpv7744ov4+Hjr48YhISF9+/ZtciZ1Op3tbr6maTU1NbxeqUV79+61PbL0a59v2dnZO3funDt3buuu1s5c9kx+/PHHkyZNOnz48EsvvZSRkdHqC7YPZ8+ezcvLs34N1Ol0o0ePbn4m4+LisrOzrV/ojxw50rdvX1ds2tZd9i1Zvv766+Dg4CuvvFIp5evrO2TIkL179/7ff+68zQoLC7t06WK7GBoaeu7cuSYDSinbTPMBWF32TDY2f/78xMTEQYMGtcpq7UzjMxkSElJUVGSxWBoP1NfXz549e9WqVR4eHq5YsH2orKysqKhofCabPzSan5+/a9euF1980WQyPfTQQw899FCrr9kOFBYW+vn5+fj4WC+2+E/78ccf1+v1ERER3bt3z83NXbZsWauv2REYjcZLfBV1YggNBkPj30pYV1fX5IuL9e1GbTN1dXW8pVCLLnsmbV555ZXt27dv3LhRp9O11nbticFgsP3a2Pr6eoPB0ORELVmyZPDgwUOGDHHFdu2Gu7u7TqdrfCabf0Lq9XoPD4/t27fPnz//ww8/XLVqVUlJSatv2ta5u7vX1dXZLrb4NfDFF188c+bM9u3bP/zwQw8Pj8cff7x1d+wgmn8VbaUXy4SHhzf+rd9nz57t1q1b4wHrW4zaZs6ePdu1a1fn7dN+XfZMWq1bt2758uWZmZkt/imUUuHh4bZvA62nsUkIN27c+Nlnnw0cOHDgwIHl5eX33HPPv/71L1ds2qZ5enoGBgY2/pfb/FMuPDw8NjbW+oBV7969DQbD6dOnW3vRNq9bt25ms/nnn3+2Xmzxa+Brr702f/78lJSUq6+++tlnn+VN9n+fbt26nTt3TvvlxwWbnmrnPXtpfXLy2LFjmqZlZ2f7+fmVlZVpmnbq1KlDhw5ZZ9LS0hYtWqRpmtlsjo2N3bp1q/P2ab8uXrzo6+v77bffapp27NgxX19f62sQGp/J9PT0qKiovLw8Vy7a5i1evDgtLc1isWiadtddd/31r3+1Xr9v377z589rmvbdd999/YtOnTqtX7++sLDQlRu3VTNnzvzLX/6iaVpDQ8O11167evVqTdPq6+t37dpVVVWladru3bujo6PNZrOmaYcOHfLy8uKFMy265ppr1qxZo2laZWVlREREVlaWpmllZWW7du2yDqSkpCxbtsx6vGHDhu7du7to03ag+YtlsrOzrV8VzWZzSEjI7t27NU07ffq0t7d345ccOjGEmqY9//zz4eHhs2bNCg8Pt/1dPv/886mpqdbj/fv3BwUFTZ8+PSUlZeTIkXV1dU7dp/1asmSJ7UwuWbLEduXQoUM1TSspKdHr9ZGRkUm/4FuKFl24cCE2NnbMmDE33XRTZGSk7V9CSEjIBx980GSYV41ewsmTJ0NDQ6dMmTJixIiEhISKigpN06xvO5yTk2OdmTx5ckJCwpw5c7p27bpq1SqX7tt27dq1Kygo6I477hgwYMDEiROt36V9+eWXtnspH330UUBAwG233TZz5syAgIANGza4dN82qra2NikpqV+/fkqphIQEW2JuvPHGuXPnWo/Xr18fGhp61113RUdH2660cvo7yxw9ejQnJyc+Pt72w8uFhYVlZWWxsbHWi0VFRXv27AkKChoxYkSLPwUJK+uZjIuLGzBggPUao9FYWlp61VVX1dXVZWdnNx7u3r17cHCwK9Zs60wmU2ZmZl1d3ejRo22/IOXIkSPR0dG2X6hpdfTo0Z49e/r5+blizXagtLQ0MzPTz89v5MiR1qdbGhoaDh061L9/f+u7MGqa9vnnnxuNxoSEhF69erl637br7Nmz+/btCw0NHT58uPXB5MrKypycnJSUFOtAcXHxf//734aGhuTk5IiICJcu20Zpmtb4x4L1en1CQoJSKi8vz8vLy3bSTpw4ceTIkV69eiUnJzf+z3mLNQCAaPw6XACAaIQQACAaIQQAiEYIAQCiEUIAgGiEEAAgGiEEAIhGCAEAohFCAIBohBAAIBohBACI9v8Aap1LonhTMpkAAAAASUVORK5CYII=", "image/svg+xml": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", - " \n", + " \n", + " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" ], "text/html": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", - " \n", + " \n", + " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" ] }, "metadata": {}, @@ -7503,6 +978,13 @@ "source": [ "plot_graph_comp(Vert,CEdg)" ] + }, + { + "cell_type": "code", + "execution_count": 252, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/src/connectcurves/tools.jl b/src/connectcurves/tools.jl index a48c8e2..7bfc2ef 100644 --- a/src/connectcurves/tools.jl +++ b/src/connectcurves/tools.jl @@ -80,5 +80,3 @@ end #f = x^7+y^2*x^5-2*x*y^3+1+y^6 #f = (x^2+y^2-1)*(2*x-y) #Sr = subresultants_seq_biv(f, 1) - - From 60c5c10e606dc9a8f89ada99dae3820793373dcb Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 12 May 2024 10:53:43 +0200 Subject: [PATCH 010/180] move into .jl --- src/connectcurves/main.ipynb | 8747 +++++++++++++++++++++++++++++++++- src/connectcurves/main.jl | 173 +- 2 files changed, 8641 insertions(+), 279 deletions(-) diff --git a/src/connectcurves/main.ipynb b/src/connectcurves/main.ipynb index 95ff19e..31f37a9 100644 --- a/src/connectcurves/main.ipynb +++ b/src/connectcurves/main.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 231, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 232, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -60,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 233, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -73,7 +73,7 @@ }, { "cell_type": "code", - "execution_count": 234, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -82,7 +82,7 @@ }, { "cell_type": "code", - "execution_count": 235, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -95,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 236, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -152,16 +152,16 @@ }, { "cell_type": "code", - "execution_count": 274, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ - "precx = 150;" + "precx = 50;" ] }, { "cell_type": "code", - "execution_count": 275, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -182,7 +182,7 @@ }, { "cell_type": "code", - "execution_count": 276, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -191,27 +191,37 @@ "text": [ "Computing isolating critical boxes using Arb..\n" ] + }, + { + "data": { + "text/plain": [ + "2-element Vector{Vector{Vector{Vector{QQFieldElem}}}}:\n", + " [[[-274010517572908139//288230376151711744, -1096042070291632555//1152921504606846976], [148491350383//25070396056151, 78153733013//13195011257214]], [[-267143983447885//281474976710656, -4274303735166159//4503599627370496], [-365779936255//99916048642522, -197192020319//53864757306904]], [[-455352681580283//562949953421312, -910705363160565//1125899906842624], [601274288//69794093211, 146284163//16980221359]], [[-113766868472479127//144115188075855872, -56883434236239563//72057594037927936], [4084042//52425681, 1847855//23720387]], [[-112609494040521015//144115188075855872, -56304747020260507//72057594037927936], [-232131047//10956212642, -56447159//2664215257]], [[-111136732147721837//288230376151711744, -27784183036930459//72057594037927936], [-72314963326117841//817860633297220798, -107420850167329337//1214897726643074057]], [[-69149191445559//1125899906842624, -138298382891117//2251799813685248], [27060885441366443//32540491451087654, 20184346394132054//24271509988362021]], [[-892193306636371//18014398509481984, -1784386613272741//36028797018963968], [-30967489235236664//67802651081482593, -26118116459118551//57185053774657721]], [[1784386613272741//36028797018963968, 892193306636371//18014398509481984], [36121390461987567//79087006876004932, 15902784603368251//34818804569490693]], [[138298382891117//2251799813685248, 69149191445559//1125899906842624], [-8386567780117769//10084779348789146, -11100458990737279//13348211393135144]], [[27784183036930459//72057594037927936, 111136732147721837//288230376151711744], [33857503183397213//382918247093062622, 57970637393837277//655630591939248884]], [[56304747020260507//72057594037927936, 112609494040521015//144115188075855872], [260721215//12305622659, 208703880//9850487981]], [[56883434236239563//72057594037927936, 113766868472479127//144115188075855872], [-1556482//19980115, -4389017//56340558]], [[910705363160565//1125899906842624, 455352681580283//562949953421312], [-402076683//46671840209, -559494719//64944447731]], [[4274303735166159//4503599627370496, 267143983447885//281474976710656], [438712785936//119838306355657, 394174453087//107672263906857]], [[1096042070291632555//1152921504606846976, 274010517572908139//288230376151711744], [-53415403341//9018338871617, -168239527753//28404560819122]]]\n", + " [[[-61678188462433291//18014398509481984, -123356376924866581//36028797018963968], [550693503279189118561//3417683961495272680909, 319695290759235983869//1984075463551412914679]], [[-1158819215143832931//1152921504606846976, -4635276860575331723//4611686018427387904], [-1168146669335//2762202054704291, -815591818271//1928550117350119]], [[-8428531151509891205//9223372036854775808, -2107132787877472801//2305843009213693952], [-363088907743//138639422386908, -317978308755//121414695181387]], [[-14527782462265069//18014398509481984, -3631945615566267//4503599627370496], [188729606//282063524559, 177718959//265607696741]], [[-113314000037319275//144115188075855872, -226628000074638549//288230376151711744], [144444682//4986302841, 307072892//10600310185]], [[-14095297027035463//18014398509481984, -7047648513517731//9007199254740992], [-180563571//9149305936, -351346351//17803011078]], [[-12826797309815463//18014398509481984, -6413398654907731//9007199254740992], [627411350419//17075213885172, 590460050963//16069571667949]], [[-198890733629894925//288230376151711744, -49722683407473731//72057594037927936], [-713351100652//17061031056187, -502435630281//12016621105826]], [[-46484052523520541//72057594037927936, -11621013130880135//18014398509481984], [10460313859130//237474950921567, 3041559958453//69050920611545]], [[-597881105146324101//2305843009213693952, -149470276286581025//576460752303423488], [-401193109938604817//7494865495701836063, -342183256103003299//6392476380678051520]] … [[149470276286581025//576460752303423488, 597881105146324101//2305843009213693952], [291335742995464770//5442571554071590247, 414601584818903642//7745355130844661241]], [[11621013130880135//18014398509481984, 46484052523520541//72057594037927936], [-11208752097561//254466346813966, -9751261426405//221377710061512]], [[49722683407473731//72057594037927936, 198890733629894925//288230376151711744], [801163984581//19161228754735, 557173813871//13325779876780]], [[6413398654907731//9007199254740992, 12826797309815463//18014398509481984], [-382920231168//10421304689159, -480263544722//13070536167225]], [[7047648513517731//9007199254740992, 14095297027035463//18014398509481984], [312381169//15828612981, 227974424//11551653189]], [[226628000074638549//288230376151711744, 113314000037319275//144115188075855872], [-227805871//7863972879, -318723511//11002495394]], [[3631945615566267//4503599627370496, 14527782462265069//18014398509481984], [-53716103//80280744812, -65474121//97853546818]], [[2107132787877472801//2305843009213693952, 8428531151509891205//9223372036854775808], [356501362501//136124078492280, 186266425034//71122716850019]], [[4635276860575331723//4611686018427387904, 1158819215143832931//1152921504606846976], [934166602017//2208932298712475, 695998211675//1645758825348213]], [[123356376924866581//36028797018963968, 61678188462433291//18014398509481984], [-434343255691151054367//2695597405671055878238, -153306279919032148208//951441066502193646015]]]" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ "println(\"Computing isolating critical boxes using Arb..\")\n", "#RR(x) = Arb(x, prec=120)\n", - "RR = ArbField(150)\n", + "RR = ArbField(max(precx,150))\n", "Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1])/evaluate_Arb(params[i][3],xc[1])] for xc in xcrit[i]] for i in eachindex(xcrit) ]\n", "LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ]\n", - "#Pcrit = [ [ [ rat_to_Arb(pc[1]), pc[2] ] for pc in pcrit] for pcrit in Pcrit ];\n", - "print(\"\")" + "#Pcrit = [ [ [ rat_to_Arb(pc[1]), pc[2] ] for pc in pcrit] for pcrit in Pcrit ];" ] }, { "cell_type": "code", - "execution_count": 282, + "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "intersect_box (generic function with 2 methods)" + "intersect_box (generic function with 1 method)" ] }, "metadata": {}, @@ -242,7 +252,7 @@ " push!(L[i][2], j)\n", " elseif overlap_inter(l, B[1])\n", " prec *= 2\n", - " println(\"Increase precision to \", prec)\n", + " #println(\"Increase precision to \", prec)\n", " flag = true\n", " break\n", " end\n", @@ -260,7 +270,7 @@ " push!(L[i+2][2], j)\n", " elseif overlap_inter(l, B[2])\n", " prec *= 2\n", - " println(\"Increase precision to \", prec)\n", + " #println(\"Increase precision to \", prec)\n", " flag = true\n", " break\n", " end\n", @@ -274,13 +284,13 @@ }, { "cell_type": "code", - "execution_count": 283, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "refine_xboxes (generic function with 2 methods)" + "refine_xboxes (generic function with 1 method)" ] }, "metadata": {}, @@ -299,7 +309,7 @@ }, { "cell_type": "code", - "execution_count": 284, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -308,33 +318,12 @@ "text": [ "\n", "Compute intersections with critical boxes\n", - "Increase precision to 300\n", - "Increase precision to 300\n", - "mult=1 ; 8/16 pts\r" - ] - }, - { - "ename": "InterruptException", - "evalue": "InterruptException:", - "output_type": "error", - "traceback": [ - "InterruptException:\n", - "\n", - "Stacktrace:\n", - " [1] _core_msolve(I::AlgebraicSolving.Ideal{QQMPolyRingElem}; initial_hts::Int64, nr_thrds::Int64, max_nr_pairs::Int64, la_option::Int64, info_level::Int64, precision::Int64)\n", - " @ AlgebraicSolving ~/Documents/gittravail/AlgCurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl:103\n", - " [2] _core_msolve\n", - " @ ~/Documents/gittravail/AlgCurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl:55 [inlined]\n", - " [3] #inter_solutions#35\n", - " @ ~/Documents/gittravail/AlgCurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl:425 [inlined]\n", - " [4] isolate_eval(f::QQMPolyRingElem, ivar::Int64, val::QQFieldElem; prec::Int64)\n", - " @ Main ~/Documents/gittravail/AlgCurves/main.ipynb:21\n", - " [5] isolate_eval\n", - " @ ~/Documents/gittravail/AlgCurves/main.ipynb:20 [inlined]\n", - " [6] intersect_box(f::QQMPolyRingElem, B::Vector{Vector{QQFieldElem}}; prec::Int64)\n", - " @ Main ~/Documents/gittravail/AlgCurves/main.ipynb:35\n", - " [7] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/main.ipynb:20" + "mult=1 ; 16/16 pts\n", + "mult=2 ; 3/60 pts\n", + "Refine singular boxes along x-axis\n", + "mult=2 ; 60/60 pts\n", + "Average time for one point: 0.12342744912856664s\n", + "Elapsed time to compute critical boxes: 10.098644018173218s\n" ] } ], @@ -364,14 +353,14 @@ " precx *= 2\n", " println(\"\\nRefine extreme boxes along x-axis\")\n", " refine_xboxes(params[1][1], LBcrit[1], precx)\n", - " #break\n", + " flag = true\n", + " break\n", " elseif i > 1 && sum(npcside[1:2]) != 0\n", " precx *= 2\n", " println(\"\\nRefine singular boxes along x-axis\")\n", " refine_xboxes(params[2][1], LBcrit[2], precx)\n", - " #refine_xboxes(QQ[\"x\"](params[2][1]), LBcrit[2])\n", - " #i -= 1\n", - " #break\n", + " flag = true\n", + " break\n", " end\n", " LPCside[i][j] = pcside\n", " push!(Ltm, time() - tm)\n", @@ -388,24 +377,9 @@ }, { "cell_type": "code", - "execution_count": 281, + "execution_count": 15, "metadata": {}, - "outputs": [ - { - "ename": "UndefRefError", - "evalue": "UndefRefError: access to undefined reference", - "output_type": "error", - "traceback": [ - "UndefRefError: access to undefined reference\n", - "\n", - "Stacktrace:\n", - " [1] getindex(A::Vector{Any}, i1::Int64)\n", - " @ Base ./essentials.jl:13\n", - " [2] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/main.ipynb:5" - ] - } - ], + "outputs": [], "source": [ "# Update extreme boxes\n", "for j in eachindex(LBcrit[1])\n", @@ -448,7 +422,7 @@ }, { "cell_type": "code", - "execution_count": 244, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -459,17 +433,17 @@ ] }, { - "ename": "UndefRefError", - "evalue": "UndefRefError: access to undefined reference", + "ename": "BoundsError", + "evalue": "BoundsError: attempt to access 8-element Vector{Vector{QQFieldElem}} at index [9]", "output_type": "error", "traceback": [ - "UndefRefError: access to undefined reference\n", + "BoundsError: attempt to access 8-element Vector{Vector{QQFieldElem}} at index [9]\n", "\n", "Stacktrace:\n", - " [1] getindex(A::Vector{Any}, i1::Int64)\n", + " [1] getindex(A::Vector{Vector{QQFieldElem}}, i1::Int64)\n", " @ Base ./essentials.jl:13\n", " [2] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/main.ipynb:18" + " @ ~/Documents/gittravail/AlgCurves/main.ipynb:64" ] } ], @@ -592,7 +566,7 @@ }, { "cell_type": "code", - "execution_count": 245, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -601,7 +575,7 @@ }, { "cell_type": "code", - "execution_count": 246, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -631,7 +605,7 @@ }, { "cell_type": "code", - "execution_count": 247, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -643,7 +617,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "image/svg+xml": [ "\n", "\n", @@ -658,35 +632,1801 @@ " \n", " \n", "\n", - "\n", + "\n", "\n", " \n", - " \n", + " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" ], "text/html": [ "\n", @@ -702,35 +2442,1801 @@ " \n", " \n", "\n", - "\n", + "\n", "\n", " \n", - " \n", + " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" ] }, "metadata": {}, @@ -744,7 +4250,7 @@ }, { "cell_type": "code", - "execution_count": 248, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -813,14 +4319,14 @@ }, { "cell_type": "code", - "execution_count": 249, + "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0\n" + "8\n" ] } ], @@ -830,7 +4336,7 @@ }, { "cell_type": "code", - "execution_count": 250, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -861,127 +4367,4910 @@ }, { "cell_type": "code", - "execution_count": 251, + "execution_count": 23, "metadata": {}, "outputs": [ { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "Plotting the graph\n" + "┌ Warning: backend `PyPlot` is not installed.\n", + "└ @ Plots /home/remi/.julia/packages/Plots/ju9dp/src/backends.jl:43\n" ] }, { "data": { - "image/png": "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t27dunVzzGoAADgf7zUKABCNEAIARCOEAADRCCEAQDRCCAAQjRACAEQjhAAA0QghAEA0QggAEI0QAgBEI4QAANEIIQBANEIIABCNEAIARCOEAADRCCEAQDRCCAAQjRACAEQjhAAA0QghAEA0QggAEI0QAgBEI4QAANEIIQBANEIIABCNEAIARCOEAADRCCEAQDRCCAAQjRACAEQjhAAA0QghAEA0QggAEI0QAgBEI4QAANEIIQBANEIIABCNEAIARCOEAADRCCEAQDRCCAAQjRACAEQjhAAA0QghAEA0QggAEI0QAgBEI4QAANEIIQBANEIIABCNEAIARCOEAADRCCEAQDRCCAAQjRACAEQjhAAA0QghAEA0QggAEI0QAgBEI4QAANEIIQBANEIIABDN3hDW1dU999xzw4cPnzp16rfffnuJySVLljz66KOO2A0AAKezN4QLFy788MMPFy9enJycPGrUqPLy8hbHdu7c+eqrr7711luO2xAAACeyK4S1tbVr16598cUXhwwZ8uijj1555ZXvvPNO87GysrJ58+Y999xzjl4SAABnsSuEZ86cuXDhwjXXXGO9OHjw4CNHjjQf+9vf/vbggw9GREQ4ckEAAJzJYM9QUVGRv7+/wfC/4cDAwNzc3CYzWVlZeXl569at27t376Vv7ccff8zIyEhMTLRds3TpUltlYT+z2azX693d3V29SLtXVVXl6hU6iKqqKp1O5+otOgLOpENYLBZ7TqNdIfT396+urrZdrKqq6ty5c+OB6urqP//5z9u2bbPnQ3bv3j05OXnRokW2a/r16+fh4WHPJmjM3d2dEDqKn5+fq1foCDRN40w6BGfSISwWi8lkuuyYXSGMiIiwWCynT5+OjIxUSv34448xMTGNB86cOXPixInY2FjbNTqd7uTJk3369Gl+a25uboGBgUlJSfZ8aAAAnMqu5wgDAgLS0tLWrFmjlCooKPj4449vvfVWpdS5c+eWLVumlOrTp4/2iz179nTp0kXTtBYrCABAm2Lvj08sW7Zsy5Ytffv2TUhIePjhh+Pj45VSP/3009///ndnrgcAgHPZ9dCoUio2NvbkyZM//PBDcHDwFVdcYb1yyJAhDQ0NTSaHDx9eXFzsyB0BAHAae0OolNLr9b17925+pUP3AQCgVZExAIBohBAAIBohBACIRggBAKIRQgCAaIQQ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7rlz5ywWy8qVK60DAAC0cfaG8IknnjCZTCEhIbGxsTNnzrzuuuuUUlVVVevWrbM+Ijps2LDZs2fHxcWFhoaWlZU99dRTTtwaAAAH0WmaZv90RUWFu7v7JV5TYDaba2tr/f39HbEbAABO99tCCABAB2PvO8v8PvX19enp6cePH4+Pj585c2aLr2/cs2fPjh07goODZ82aFRoa6tR92q/6+vp//vOfOTk5cXFxM2fONBia/sUdPXo0IyOjqKioT58+t99+u6+vr0v2bPu+//77t956q66ubtq0af379/+1sRMnTuzdu3fChAlhYWGtuV47cvDgwS1btvj4+Nx1110t/qCUUmrHjh27d+/29fUdN27c4MGDW3nD9uKTTz759NNPw8LCZs+e3eKL7T///POMjIyGhoYRI0aMHTu29Tds+zRNy83NPXLkSHl5+axZs5p/hbTObNy48dChQz179rznnnsavyjXuT+0cPfdd6enp/fu3Xv9+vX33ntv84H333//lltuiYqK+vHHHwcNGmT7AQw0MXv27DfeeKN3795vvvnmnDlzmvxpTU1NWlpaYWFhVFTUli1bBg0axLsZtCg/Pz8lJaWhoaFz586pqamHDx9ucay2tnbGjBkPPvhgXl5eK2/YXuzdu3f06NFdunSpqKhITk4uLCxsPjNnzpy5c+eGhIR4e3vv2bOn1XdsH95444177rknOjr66NGj1157bW1tbZOBzZs3T5w4MTAwMCIiYtasWa+88opL9mzjvvnmm2HDhq1Zs+bee+81m80tzjz22GNLlizp3bv3tm3bJk+e/P/9meY0p06d8vT0LCoq0jTNaDR6enqeOXOmyUxSUlJ6err1eOjQoa+99prz9mm/CgoKPD09jUajpmlFRUWenp4FBQWNBywWS01NjfXYbDZ36dIlIyPDBYu2eY888sjMmTOtx/Pnz582bVqLY0899dSzzz4bGBi4b9++VtyuPbnhhhsWL15sPZ40adKCBQuaDGRmZgYHB1+8eLHVV2tPLBZLr169tm3bZj2Oj4/ftGlTk5kpU6Y8+eST1uPVq1cPGzastbdsDxoaGjRNKygoUEpVVlY2HygtLfXx8Tlx4oSmaZWVlf7+/t98843tT514j/Dzzz/v169fSEiIUio0NDQuLu6LL75oPFBZWXno0KExY8ZYL44ZM+Y///mP8/Zpv774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", + "image/png": "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", "image/svg+xml": [ - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2024-05-12T02:11:53.877786\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.5.1, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" + " \n", + "\n" ], "text/html": [ - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" + "" ] }, "metadata": {}, "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Plotting the graph\n" + ] } ], "source": [ - "plot_graph_comp(Vert,CEdg)" + "pyplot()\n", + "display(plot_graph_comp(Vert,CEdg))" ] }, { "cell_type": "code", - "execution_count": 252, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [] diff --git a/src/connectcurves/main.jl b/src/connectcurves/main.jl index d7741a3..627c480 100644 --- a/src/connectcurves/main.jl +++ b/src/connectcurves/main.jl @@ -1,13 +1,14 @@ -println("Loading libraries and data..") +println("\nLoading libraries and data..") using Pkg using Revise Pkg.activate("AlgebraicSolving.jl-main") using AlgebraicSolving using Nemo -using Colors -using PyPlot +#using Plots, Colors +#pythonplot() include("data.jl") include("src/usolve/usolve.jl") +include("subresultants.jl") function order_permut2d(L) # Create a list of tuples with elements and their corresponding indices @@ -49,22 +50,67 @@ function evaluate_Arb(f, x) return evalpoly(RR(x), cf) end +function in_inter(I, J) + return J[1] < I[1] && I[2] < J[2] +end + +function overlap_inter(I,J) + return max(I[1], J[1]) <= min(I[2], J[2]) +end + # To try/do : isolate with usolve, call msolve with only one variable -function intersect_box(f, B) +function intersect_box(f, B; prec=100) L = Array{Any}(undef, 4) for i in 1:2 # Lxi L[i] = Array{Any}(undef,2) - L[i][1] = isolate_eval(f, 2, B[2][i], prec=200) - L[i][2] = [ j for (j, l) in pairs(L[i][1]) if (l[1]> B[1][1] && l[2] B[2][1] && l[2]0 sqfree factors of the resultant and order by multiplicity +# TODO : group by multiplicity +sqr = collect(factor_squarefree(sr[1][1])) +# Construct the parametrization of the critical points +params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in sqr ]; +end + +############### +precx = 150; +############### +println("\nIsolating critical values at precision ", precx,"..") +@time begin +xcrit = [ isolate(first(p), prec=precx) for p in params ] xcrit_usolve = getindex.(xcrit, 1) xcrit = getindex.(xcrit, 2) -xcritorder, xcritpermut = order_permut2d(xcrit); +_, xcritpermut = order_permut2d(xcrit); +end -println("Computing isolating critical boxes using Arb..") +println("\nComputing isolating critical boxes using Arb with precision ",max(precx,150),"..") +@time begin #RR(x) = Arb(x, prec=120) -RR = ArbField(150) +RR = ArbField(max(precx,150)) Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1])/evaluate_Arb(params[i][3],xc[1])] for xc in xcrit[i]] for i in eachindex(xcrit) ] -LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ]; -Pcrit = [ [ [ rat_to_Arb(pc[1]), pc[2] ] for pc in pcrit] for pcrit in Pcrit ]; +LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ] +end # Could be improved by handling nodes as extreme boxes: -# when npcside = [2,2,0,0] just take nearest elow and above +# when npcside = [2,2,0,0] just take nearest below and above # intersections b with the curves on the vertical sides # and change into npcside = [0,0,2,2] -println("\nCompute intersections with critical boxes") -ts = time() -LPCside = Array{Any}(undef,2) -ndig = maximum([Int(floor(log10(length(LBcrit[i])))) for i in 1:2]) -Ltm = [] -i = 1 -while i <= length(LBcrit) - global i +## TODO : Refine only the intervals that need to be refined +println("\nCompute intersections with critical boxes..") +@time begin +LPCside = Array{Any}(undef,length(LBcrit)) +ndig = maximum([Int(floor(log10(length(LB)))) for LB in LBcrit]) +for i in eachindex(LBcrit) ndigi = Int(floor(log10(length(LBcrit[i])))) LPCside[i] = Array{Any}(undef, length(LBcrit[i])) - for j in eachindex(LBcrit[i]) - print("mult=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") - tm = time() - pcside = intersect_box(f, LBcrit[i][j]) - npcside = [length(n) for (I, n) in pcside] - if i == 1 && sum(npcside) > 2 - @assert false "\nRefine extreme boxes along x-axis" - #refine_xboxes(QQ["x"](params[1][1]), LBcrit[1]) - #i = 0 - #j = 1 - #break - elseif i > 1 && sum(npcside[1:2]) != 0 - println(npcside) - @assert false "\nRefine singular boxes along x-axis" - #refine_xboxes(QQ["x"](params[2][1]), LBcrit[2]) - #i -= 1 - #break + precxtmp = precx + while true + flag = false + for j in eachindex(LBcrit[i]) + print("mult=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") + pcside = intersect_box(f, LBcrit[i][j], prec=precx) + npcside = [length(n) for (I, n) in pcside] + if i == 1 && sum(npcside) > 2 + precxtmp *= 2 + println("\nRefine extreme boxes along x-axis to precision ", precxtmp) + refine_xboxes(params[1][1], LBcrit[1], precxtmp) + flag = true + break + elseif i > 1 && sum(npcside[1:2]) != 0 + precxtmp *= 2 + println("\nRefine singular boxes along x-axis to precision ", precxtmp) + refine_xboxes(params[2][1], LBcrit[2], precxtmp) + flag = true + break + end + LPCside[i][j] = pcside end - LPCside[i][j] = pcside - push!(Ltm, time() - tm) + flag || break end - i += 1 println("") end LnPCside = [ [[length(indI) for (L, indI) in PB] for PB in lpcside] for lpcside in LPCside ] -println("Average time for one point: $(sum(Ltm)/length(Ltm))s") -println("Elapsed time to compute critical boxes: $(time()-ts)s") # Update extreme boxes for j in eachindex(LBcrit[1]) @@ -222,8 +289,10 @@ for j in eachindex(LBcrit[1]) end end end +end -print("Graph computation") +#print("\nGraph computation :") +#@time begin # Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot # And even remove this fiber for the graph Vert = [] @@ -337,10 +406,14 @@ for ind in 1:length(xcritpermut) ite += 1 end end +#end -EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg] -plot_graph(Vert, EdgPlot) +#EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg] +#plot_graph(Vert, EdgPlot) +#gui() CEdg = connected_components_bis(Edg); -plot_graph_comp(Vert,CEdg) \ No newline at end of file +println("\n## The curve has ", length(CEdg), " connected components ##") + +#plot_graph_comp(Vert,CEdg) \ No newline at end of file From 5c942a8638ea2a1de1622a37e723f75f6601b61b Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 12 May 2024 13:08:36 +0200 Subject: [PATCH 011/180] fix bug graph and square free decomposition --- src/connectcurves/main.ipynb | 17720 ++++++++++++++++++++------------- src/connectcurves/main.jl | 66 +- 2 files changed, 11116 insertions(+), 6670 deletions(-) diff --git a/src/connectcurves/main.ipynb b/src/connectcurves/main.ipynb index 31f37a9..87ef610 100644 --- a/src/connectcurves/main.ipynb +++ b/src/connectcurves/main.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 3, + "execution_count": 53, "metadata": {}, "outputs": [ { @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -60,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 55, "metadata": {}, "outputs": [], "source": [ @@ -73,7 +73,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 56, "metadata": {}, "outputs": [], "source": [ @@ -82,20 +82,51 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 111, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "MethodError", + "evalue": "MethodError: no method matching *(::Vector{Int64}, ::QQMPolyRingElem)\n\nClosest candidates are:\n *(::Any, ::Any, !Matched::Any, !Matched::Any...)\n @ Base operators.jl:587\n *(!Matched::QQMPolyRingElem, ::QQMPolyRingElem)\n @ Nemo ~/.julia/packages/Nemo/VHAIi/src/flint/fmpq_mpoly.jl:335\n *(!Matched::ZZRingElem, ::QQMPolyRingElem)\n @ Nemo ~/.julia/packages/Nemo/VHAIi/src/flint/fmpq_mpoly.jl:381\n ...\n", + "output_type": "error", + "traceback": [ + "MethodError: no method matching *(::Vector{Int64}, ::QQMPolyRingElem)\n", + "\n", + "Closest candidates are:\n", + " *(::Any, ::Any, !Matched::Any, !Matched::Any...)\n", + " @ Base operators.jl:587\n", + " *(!Matched::QQMPolyRingElem, ::QQMPolyRingElem)\n", + " @ Nemo ~/.julia/packages/Nemo/VHAIi/src/flint/fmpq_mpoly.jl:335\n", + " *(!Matched::ZZRingElem, ::QQMPolyRingElem)\n", + " @ Nemo ~/.julia/packages/Nemo/VHAIi/src/flint/fmpq_mpoly.jl:381\n", + " ...\n", + "\n", + "\n", + "Stacktrace:\n", + " [1] top-level scope\n", + " @ ~/Documents/gittravail/AlgCurves/main.ipynb:10" + ] + } + ], "source": [ - "# Take the deg>0 sqfree factors of the resultant and order by multiplicity\n", - "# TODO : group by multiplicity\n", + "# Take sqfree factors of the resultant\n", "sqr = collect(factor_squarefree(sr[1][1]))\n", + "# Keep only deg>0 factors \n", + "filter(t->t[2]>0, sqr)\n", + "# Order by multiplicity\n", + "sqr = sort(sqr, by=t->t[2])\n", + "# Group by multiplicity\n", + "group_sqr = [ [R(1),i] for i in 1:sqr[end][2] ]\n", + "for r in sqr\n", + " group_sqr[r[2]] *= r[1]\n", + "end\n", "# Construct the parametrization of the critical points\n", - "params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in sqr ];" + "params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in group_sqr ];" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 58, "metadata": {}, "outputs": [ { @@ -152,16 +183,16 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 59, "metadata": {}, "outputs": [], "source": [ - "precx = 50;" + "precx = 150;" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 60, "metadata": {}, "outputs": [ { @@ -182,7 +213,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 61, "metadata": {}, "outputs": [ { @@ -196,8 +227,8 @@ "data": { "text/plain": [ "2-element Vector{Vector{Vector{Vector{QQFieldElem}}}}:\n", - " [[[-274010517572908139//288230376151711744, -1096042070291632555//1152921504606846976], [148491350383//25070396056151, 78153733013//13195011257214]], [[-267143983447885//281474976710656, -4274303735166159//4503599627370496], [-365779936255//99916048642522, -197192020319//53864757306904]], [[-455352681580283//562949953421312, -910705363160565//1125899906842624], [601274288//69794093211, 146284163//16980221359]], [[-113766868472479127//144115188075855872, -56883434236239563//72057594037927936], [4084042//52425681, 1847855//23720387]], [[-112609494040521015//144115188075855872, -56304747020260507//72057594037927936], [-232131047//10956212642, -56447159//2664215257]], [[-111136732147721837//288230376151711744, -27784183036930459//72057594037927936], [-72314963326117841//817860633297220798, -107420850167329337//1214897726643074057]], [[-69149191445559//1125899906842624, -138298382891117//2251799813685248], [27060885441366443//32540491451087654, 20184346394132054//24271509988362021]], [[-892193306636371//18014398509481984, -1784386613272741//36028797018963968], [-30967489235236664//67802651081482593, -26118116459118551//57185053774657721]], [[1784386613272741//36028797018963968, 892193306636371//18014398509481984], [36121390461987567//79087006876004932, 15902784603368251//34818804569490693]], [[138298382891117//2251799813685248, 69149191445559//1125899906842624], [-8386567780117769//10084779348789146, -11100458990737279//13348211393135144]], [[27784183036930459//72057594037927936, 111136732147721837//288230376151711744], [33857503183397213//382918247093062622, 57970637393837277//655630591939248884]], [[56304747020260507//72057594037927936, 112609494040521015//144115188075855872], [260721215//12305622659, 208703880//9850487981]], [[56883434236239563//72057594037927936, 113766868472479127//144115188075855872], [-1556482//19980115, -4389017//56340558]], [[910705363160565//1125899906842624, 455352681580283//562949953421312], [-402076683//46671840209, -559494719//64944447731]], [[4274303735166159//4503599627370496, 267143983447885//281474976710656], [438712785936//119838306355657, 394174453087//107672263906857]], [[1096042070291632555//1152921504606846976, 274010517572908139//288230376151711744], [-53415403341//9018338871617, -168239527753//28404560819122]]]\n", - " [[[-61678188462433291//18014398509481984, -123356376924866581//36028797018963968], [550693503279189118561//3417683961495272680909, 319695290759235983869//1984075463551412914679]], [[-1158819215143832931//1152921504606846976, -4635276860575331723//4611686018427387904], [-1168146669335//2762202054704291, -815591818271//1928550117350119]], [[-8428531151509891205//9223372036854775808, -2107132787877472801//2305843009213693952], [-363088907743//138639422386908, -317978308755//121414695181387]], [[-14527782462265069//18014398509481984, -3631945615566267//4503599627370496], [188729606//282063524559, 177718959//265607696741]], [[-113314000037319275//144115188075855872, -226628000074638549//288230376151711744], [144444682//4986302841, 307072892//10600310185]], [[-14095297027035463//18014398509481984, -7047648513517731//9007199254740992], [-180563571//9149305936, -351346351//17803011078]], [[-12826797309815463//18014398509481984, -6413398654907731//9007199254740992], [627411350419//17075213885172, 590460050963//16069571667949]], [[-198890733629894925//288230376151711744, -49722683407473731//72057594037927936], [-713351100652//17061031056187, -502435630281//12016621105826]], [[-46484052523520541//72057594037927936, -11621013130880135//18014398509481984], [10460313859130//237474950921567, 3041559958453//69050920611545]], [[-597881105146324101//2305843009213693952, -149470276286581025//576460752303423488], [-401193109938604817//7494865495701836063, -342183256103003299//6392476380678051520]] … [[149470276286581025//576460752303423488, 597881105146324101//2305843009213693952], [291335742995464770//5442571554071590247, 414601584818903642//7745355130844661241]], [[11621013130880135//18014398509481984, 46484052523520541//72057594037927936], [-11208752097561//254466346813966, -9751261426405//221377710061512]], [[49722683407473731//72057594037927936, 198890733629894925//288230376151711744], [801163984581//19161228754735, 557173813871//13325779876780]], [[6413398654907731//9007199254740992, 12826797309815463//18014398509481984], [-382920231168//10421304689159, -480263544722//13070536167225]], [[7047648513517731//9007199254740992, 14095297027035463//18014398509481984], [312381169//15828612981, 227974424//11551653189]], [[226628000074638549//288230376151711744, 113314000037319275//144115188075855872], [-227805871//7863972879, -318723511//11002495394]], [[3631945615566267//4503599627370496, 14527782462265069//18014398509481984], [-53716103//80280744812, -65474121//97853546818]], [[2107132787877472801//2305843009213693952, 8428531151509891205//9223372036854775808], [356501362501//136124078492280, 186266425034//71122716850019]], [[4635276860575331723//4611686018427387904, 1158819215143832931//1152921504606846976], [934166602017//2208932298712475, 695998211675//1645758825348213]], [[123356376924866581//36028797018963968, 61678188462433291//18014398509481984], [-434343255691151054367//2695597405671055878238, -153306279919032148208//951441066502193646015]]]" + " [[[-24442554936443688467075675834396964293039975518886202698945133//25711008708143844408671393477458601640355247900524685364822016, -6110638734110922116768918958599241073259993879721550674736283//6427752177035961102167848369364650410088811975131171341205504], [132039738571//22292803807006, 68720148908//11602301047957]], [[-3123450953697468208093194573564111269088132454710363815170495473//3291009114642412084309938365114701009965471731267159726697218048, -6246901907394936416186389147128222538176264909420727630340990945//6582018229284824168619876730229402019930943462534319453394436096], [-164031807635//44806749758833, -223860119481//61149386202505]], [[-41593668105787523288026752405246172055910171941818098449193849//51422017416287688817342786954917203280710495801049370729644032, -1330997379385200745216856076967877505789125502138179150374203167//1645504557321206042154969182557350504982735865633579863348609024], [521695564//60556836619, 420471888//48807099737]], [[-2537085945839503807459093710805708810276745672892079067716681//3213876088517980551083924184682325205044405987565585670602752, -317135743229937975932386713850713601284593209111509883464585//401734511064747568885490523085290650630550748445698208825344], [4613795//59225969, 3583912//46005655]], [[-627818908383277961152132286454151044054352982201971320187893//803469022129495137770981046170581301261101496891396417650688, -2511275633533111844608529145816604176217411928807885280751571//3213876088517980551083924184682325205044405987565585670602752], [-109724607//5178825245, -187102619//8830943151]], [[-619607986455922922605485124244468947359132869976042044173041//1606938044258990275541962092341162602522202993782792835301376, -2478431945823691690421940496977875789436531479904168176692163//6427752177035961102167848369364650410088811975131171341205504], [-59701726404807531//675208691542523125, -58970523455489715//666939004610636351]], [[-101061656517791862302257737364995930288889849032466609325610353//1645504557321206042154969182557350504982735865633579863348609024, -202123313035583724604515474729991860577779698064933218651220705//3291009114642412084309938365114701009965471731267159726697218048], [4411816179285829//5305172941690491, 8282579609305961//9959734369032650]], [[-141373672584650546148781166865758557918473381//2854495385411919762116571938898990272765493248, -35343418146162636537195291716439639479618345//713623846352979940529142984724747568191373312], [-78650276523348806//172203087440112053, -44435128373896391//97289757074294388]], [[35343418146162636537195291716439639479618345//713623846352979940529142984724747568191373312, 141373672584650546148781166865758557918473381//2854495385411919762116571938898990272765493248], [44435128373896391//97289757074294388, 78650276523348806//172203087440112053]], [[202123313035583724604515474729991860577779698064933218651220705//3291009114642412084309938365114701009965471731267159726697218048, 101061656517791862302257737364995930288889849032466609325610353//1645504557321206042154969182557350504982735865633579863348609024], [-8282579609305961//9959734369032650, -4411816179285829//5305172941690491]], [[2478431945823691690421940496977875789436531479904168176692163//6427752177035961102167848369364650410088811975131171341205504, 619607986455922922605485124244468947359132869976042044173041//1606938044258990275541962092341162602522202993782792835301376], [58970523455489715//666939004610636351, 59701726404807531//675208691542523125]], [[2511275633533111844608529145816604176217411928807885280751571//3213876088517980551083924184682325205044405987565585670602752, 627818908383277961152132286454151044054352982201971320187893//803469022129495137770981046170581301261101496891396417650688], [187102619//8830943151, 109724607//5178825245]], [[317135743229937975932386713850713601284593209111509883464585//401734511064747568885490523085290650630550748445698208825344, 2537085945839503807459093710805708810276745672892079067716681//3213876088517980551083924184682325205044405987565585670602752], [-3583912//46005655, -4613795//59225969]], [[1330997379385200745216856076967877505789125502138179150374203167//1645504557321206042154969182557350504982735865633579863348609024, 41593668105787523288026752405246172055910171941818098449193849//51422017416287688817342786954917203280710495801049370729644032], [-420471888//48807099737, -521695564//60556836619]], [[6246901907394936416186389147128222538176264909420727630340990945//6582018229284824168619876730229402019930943462534319453394436096, 3123450953697468208093194573564111269088132454710363815170495473//3291009114642412084309938365114701009965471731267159726697218048], [223860119481//61149386202505, 164031807635//44806749758833]], [[6110638734110922116768918958599241073259993879721550674736283//6427752177035961102167848369364650410088811975131171341205504, 24442554936443688467075675834396964293039975518886202698945133//25711008708143844408671393477458601640355247900524685364822016], [-68720148908//11602301047957, -132039738571//22292803807006]]]\n", + " [[[-687734782603838044350575617017662373629412942089459932428627//200867255532373784442745261542645325315275374222849104412672, -2750939130415352177402302468070649494517651768357839729714507//803469022129495137770981046170581301261101496891396417650688], [271472659542182754593//1684798801832617780500, 143627109198091154157//891370725492988587043]], [[-51685064096167714814191826295095766882620546921398978885964423//51422017416287688817342786954917203280710495801049370729644032, -103370128192335429628383652590191533765241093842797957771928845//102844034832575377634685573909834406561420991602098741459288064], [-797854753386//1886609016668249, -493223293083//1166276829225095]], [[-23495315700962498800583525705483390083140167078969708226352109//25711008708143844408671393477458601640355247900524685364822016, -187962525607699990404668205643867120665121336631757665810816871//205688069665150755269371147819668813122841983204197482918576128], [-363433491999//138770996117740, -459426765233//175424420858576]], [[-1151009509892216136370102602680295747758065009//1427247692705959881058285969449495136382746624, -71938094368263508523131412667518484234879063//89202980794122492566142873090593446023921664], [261491683//390809196888, 228872433//342058495721]], [[-1263493321129273331178454674076539313740520740409402766745049//1606938044258990275541962092341162602522202993782792835301376, -5053973284517093324713818696306157254962082961637611066980195//6427752177035961102167848369364650410088811975131171341205504], [355090567//12257904400, 227805871//7863972879]], [[-157167813748762026396570031354366626161215805778857541678833//200867255532373784442745261542645325315275374222849104412672, -314335627497524052793140062708733252322431611557715083357665//401734511064747568885490523085290650630550748445698208825344], [-183040197//9274798630, -258364859//13091561742]], [[-66600539376817804242858426738351289072343899286481//93536104789177786765035829293842113257979682750464, -4162533711051112765178651671146955567021493705405//5846006549323611672814739330865132078623730171904], [388942628069//10585206274805, 713082410219//19406780996410]], [[-4435411573029112378107310371119581100747942031067428588299235//6427752177035961102167848369364650410088811975131171341205504, -2217705786514556189053655185559790550373971015533714294149617//3213876088517980551083924184682325205044405987565585670602752], [-458742158356//10971615805093, -331127221237//7919482846399]], [[-518314505561072996534519940214052474221411872945662135444695//803469022129495137770981046170581301261101496891396417650688, -1036629011122145993069039880428104948442823745891324270889389//1606938044258990275541962092341162602522202993782792835301376], [21437489701912//486683944994607, 18797493187695//426749506019854]], [[-13333194184884069811022013814387054489007420885263786349374201//51422017416287688817342786954917203280710495801049370729644032, -1666649273110508726377751726798381811125927610657973293671775//6427752177035961102167848369364650410088811975131171341205504], [-366460961630620763//6846018909116775696, -242745185367992617//4534829908571288226]] … [[1666649273110508726377751726798381811125927610657973293671775//6427752177035961102167848369364650410088811975131171341205504, 13333194184884069811022013814387054489007420885263786349374201//51422017416287688817342786954917203280710495801049370729644032], [242745185367992617//4534829908571288226, 366460961630620763//6846018909116775696]], [[1036629011122145993069039880428104948442823745891324270889389//1606938044258990275541962092341162602522202993782792835301376, 518314505561072996534519940214052474221411872945662135444695//803469022129495137770981046170581301261101496891396417650688], [-18797493187695//426749506019854, -21437489701912//486683944994607]], [[2217705786514556189053655185559790550373971015533714294149617//3213876088517980551083924184682325205044405987565585670602752, 4435411573029112378107310371119581100747942031067428588299235//6427752177035961102167848369364650410088811975131171341205504], [331127221237//7919482846399, 458742158356//10971615805093]], [[4162533711051112765178651671146955567021493705405//5846006549323611672814739330865132078623730171904, 66600539376817804242858426738351289072343899286481//93536104789177786765035829293842113257979682750464], [-713082410219//19406780996410, -388942628069//10585206274805]], [[314335627497524052793140062708733252322431611557715083357665//401734511064747568885490523085290650630550748445698208825344, 157167813748762026396570031354366626161215805778857541678833//200867255532373784442745261542645325315275374222849104412672], [258364859//13091561742, 183040197//9274798630]], [[5053973284517093324713818696306157254962082961637611066980195//6427752177035961102167848369364650410088811975131171341205504, 1263493321129273331178454674076539313740520740409402766745049//1606938044258990275541962092341162602522202993782792835301376], [-227805871//7863972879, -355090567//12257904400]], [[71938094368263508523131412667518484234879063//89202980794122492566142873090593446023921664, 1151009509892216136370102602680295747758065009//1427247692705959881058285969449495136382746624], [-220833677//330044271252, -245414171//366780747950]], [[187962525607699990404668205643867120665121336631757665810816871//205688069665150755269371147819668813122841983204197482918576128, 23495315700962498800583525705483390083140167078969708226352109//25711008708143844408671393477458601640355247900524685364822016], [459426765233//175424420858576, 363433491999//138770996117740]], [[103370128192335429628383652590191533765241093842797957771928845//102844034832575377634685573909834406561420991602098741459288064, 51685064096167714814191826295095766882620546921398978885964423//51422017416287688817342786954917203280710495801049370729644032], [493223293083//1166276829225095, 797854753386//1886609016668249]], [[2750939130415352177402302468070649494517651768357839729714507//803469022129495137770981046170581301261101496891396417650688, 687734782603838044350575617017662373629412942089459932428627//200867255532373784442745261542645325315275374222849104412672], [-143627109198091154157//891370725492988587043, -271472659542182754593//1684798801832617780500]]]" ] }, "metadata": {}, @@ -215,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 62, "metadata": {}, "outputs": [ { @@ -284,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 63, "metadata": {}, "outputs": [ { @@ -309,7 +340,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 64, "metadata": {}, "outputs": [ { @@ -319,11 +350,9 @@ "\n", "Compute intersections with critical boxes\n", "mult=1 ; 16/16 pts\n", - "mult=2 ; 3/60 pts\n", - "Refine singular boxes along x-axis\n", "mult=2 ; 60/60 pts\n", - "Average time for one point: 0.12342744912856664s\n", - "Elapsed time to compute critical boxes: 10.098644018173218s\n" + "Average time for one point: 0.17550745135859439s\n", + "Elapsed time to compute critical boxes: 13.488043069839478s\n" ] } ], @@ -377,7 +406,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 65, "metadata": {}, "outputs": [], "source": [ @@ -422,7 +451,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 66, "metadata": {}, "outputs": [ { @@ -431,20 +460,6 @@ "text": [ "Graph computation" ] - }, - { - "ename": "BoundsError", - "evalue": "BoundsError: attempt to access 8-element Vector{Vector{QQFieldElem}} at index [9]", - "output_type": "error", - "traceback": [ - "BoundsError: attempt to access 8-element Vector{Vector{QQFieldElem}} at index [9]\n", - "\n", - "Stacktrace:\n", - " [1] getindex(A::Vector{Vector{QQFieldElem}}, i1::Int64)\n", - " @ Base ./essentials.jl:13\n", - " [2] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/main.ipynb:64" - ] } ], "source": [ @@ -566,7 +581,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 67, "metadata": {}, "outputs": [], "source": [ @@ -575,7 +590,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 68, "metadata": {}, "outputs": [ { @@ -605,7 +620,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 69, "metadata": {}, "outputs": [ { @@ -617,3770 +632,7 @@ }, { "data": { - "image/png": "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", - "image/svg+xml": [ - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" - ], - "text/html": [ - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg]\n", - "plot_graph(Vert, EdgPlot)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "connected_components_bis (generic function with 1 method)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "function connected_components_bis(edges)\n", - " adj_list = Dict{Int, Vector{Int}}()\n", - " visited = Set{Int}()\n", - " components = Vector{Vector{Tuple{Int, Int}}}()\n", - "\n", - " # Build adjacency list\n", - " for (i, j) in edges\n", - " push!(get!(adj_list, i, []), j)\n", - " push!(get!(adj_list, j, []), i)\n", - " end\n", - "\n", - " \n", - " # Depth-first search\n", - " function dfs(node, component)\n", - " push!(visited, node)\n", - " for neighbor in adj_list[node]\n", - " if !(neighbor in visited)\n", - " push!(component, (node, neighbor))\n", - " dfs(neighbor, component)\n", - " end\n", - " end\n", - " end\n", - " \n", - "\n", - " # Breadth-first search\n", - " function bfs(node, component)\n", - " queue = [node]\n", - " push!(visited, node)\n", - " while !isempty(queue)\n", - " current = popfirst!(queue)\n", - " for neighbor in adj_list[current]\n", - " if !(neighbor in visited)\n", - " push!(visited, neighbor)\n", - " push!(component, (current, neighbor))\n", - " push!(queue, neighbor)\n", - " end\n", - " end\n", - " end\n", - " end\n", - "\n", - " # Find connected components\n", - " for node in keys(adj_list)\n", - " if !(node in visited)\n", - " component = Vector{Tuple{Int, Int}}()\n", - " bfs(node, component)\n", - " push!(components, component)\n", - " end\n", - " end\n", - "\n", - " return components\n", - "end\n" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "8\n" - ] - } - ], - "source": [ - "CEdg = connected_components_bis(Edg); println(length(CEdg))" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "plot_graph_comp (generic function with 1 method)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "function plot_graph_comp(V, CE)\n", - " println(\"Plotting the graph\")\n", - " plot(legend=false)\n", - " col = distinguishable_colors(length(CE)+2)\n", - " for j in eachindex(CE)\n", - " for e in CE[j]\n", - " v1, v2 = map(Float64, V[e[1]]), map(Float64, V[e[2]])\n", - " plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=3)\n", - " end\n", - " end\n", - " #plt.show(block=true)\n", - " plot!()\n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "┌ Warning: backend `PyPlot` is not installed.\n", - "â”” @ Plots /home/remi/.julia/packages/Plots/ju9dp/src/backends.jl:43\n" - ] - }, - { - "data": { - "image/png": "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", + "image/png": "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qqpCSUmJ4X0QERERpdNBBx1keN2YAeutt96y5GAGDRqEdevWYc+ePejQoQNEBM3NzaisrNRdv7y8HOedd54l+yYiIiLKhrQP09CnTx9UV1fjmWeeAaBa41dVVelWDxIREREVApukMAKf0+nEokWL8N1336G8vBzdunXDF198AQA49dRTcdttt+HII4/Ep59+iosvvhg//PADSktL8eSTT+LQQw+17JcgIiIiyiUpBSwiIiIiisaR3ImIiIgslnMBK92jw1P+M/rZV1VV4aCDDsKIESMwYsQIPPfccxk+UsoEo+cDrxntF68ZlEhasofkmMWLF0tzc7MMHjxYPv7445jrnXjiifL444+LiIjH45HRo0dn6Agp24x+9onOISoMRs8HXjPaL14zKJF0ZI+cC1gB8X7J77//Xnr06CG7d+8WEZHW1lbp27evfPXVVxk8QsoGM589L5aFz+j5wGtG+8VrBplhZfbIuSpCI+KNDk+Fzexnf95552HYsGG47LLLsHHjxkweKmWA0fOB14z2i9cMsorZcymjAWvMmDEoLy/XXZqbm01ty8zo8JQ/jJwjRj/7JUuW4KOPPkJDQwP22WcfXHTRRWk/fso8o+cDrxntF68ZZBUz15G0z0UYKlujw1P+SHSOdO7c2fBnH3isY8eOuOaaazB06NC0HDNlj9FrAa8Z7ZeZz57XDIrH7HUkL6sIOTp8+2X0s/f5fNiyZUvw52effRbV1dUZPFLKBKPnA68Z7RevGWQV09cRKxuHWeGqq66SgQMHSnFxsfTt21f233//4HOnnHKKfPDBByIisnr1ahk9erQccMABMnLkSFmxYkW2DpkyLN5nHzhH/ve//8mIESNk2LBhcthhh8kZZ5zBBs0Fysj5kGg9Kmy8ZlAi6cgeHMmdiIiIyGJ5WUVIRERElMsYsIiIiIgsxoBFREREZDEGLCIiIiKLMWARERERWez/A2yOdbCo2E1xAAAAAElFTkSuQmCC", "image/svg+xml": [ "\n", "\n", " \n", " \n", - " 2024-05-12T02:11:53.877786\n", + " 2024-05-12T11:55:07.569278\n", " image/svg+xml\n", " \n", " \n", @@ -4415,8 +667,8 @@ " \n", " \n", " \n", @@ -4424,23 +676,23 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -4691,38 +864,22 @@ " \n", " \n", " \n", + "L 423.64193 272.877215 \n", + "\" clip-path=\"url(#p262ddf056f)\" style=\"fill: none; stroke: #000000; stroke-opacity: 0.1; stroke-width: 0.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", " \n", @@ -4733,19 +890,7031 @@ " \n", " \n", " \n", + "L 423.64193 206.272815 \n", + "\" clip-path=\"url(#p262ddf056f)\" style=\"fill: none; stroke: #000000; stroke-opacity: 0.1; stroke-width: 0.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg]\n", + "plot_graph(Vert, EdgPlot)" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "connected_components (generic function with 2 methods)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "function connected_components(vert, edges)\n", + " adj_list = Dict{Int, Vector{Int}}()\n", + " visited = Set{Int}()\n", + " components = Vector{Vector{Int}}()\n", + "\n", + " # Build adjacency list\n", + " for (i, j) in edges\n", + " push!(get!(adj_list, i, []), j)\n", + " push!(get!(adj_list, j, []), i)\n", + " end\n", + "\n", + " # Depth-first search\n", + " function dfs(node, component)\n", + " push!(visited, node)\n", + " push!(component, node)\n", + " for neighbor in adj_list[node]\n", + " if !(neighbor in visited)\n", + " dfs(neighbor, component)\n", + " end\n", + " end\n", + " end\n", + "\n", + " # Find connected components\n", + " for node in keys(adj_list)\n", + " if !(node in visited)\n", + " component = Vector{Int}()\n", + " dfs(node, component)\n", + " push!(components, component)\n", + " end\n", + " end\n", + "\n", + " # Group edges by connected component\n", + " grouped_edges = [Tuple{Int, Int}[] for _ in components]\n", + " for (idx, component) in enumerate(components)\n", + " for node in component\n", + " for neighbor in adj_list[node]\n", + " if neighbor > node && neighbor in component\n", + " push!(grouped_edges[idx], (node, neighbor))\n", + " end\n", + " end\n", + " end\n", + " end\n", + "\n", + " grouped_vert = [ [ vert[cv] for cv in c ] for c in components ]\n", + " return grouped_vert, grouped_edges\n", + "end\n" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4\n" + ] + } + ], + "source": [ + "CVert, CEdg = connected_components(Vert, Edg); println(length(CVert))" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "plot_graph_comp (generic function with 1 method)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "function plot_graph_comp(V, CE)\n", + " println(\"Plotting the graph\")\n", + " plot(legend=false)\n", + " col = distinguishable_colors(length(CE)+2)\n", + " for j in eachindex(CE)\n", + " for e in CE[j]\n", + " v1, v2 = map(Float64, V[e[1]]), map(Float64, V[e[2]])\n", + " plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=3)\n", + " end\n", + " end\n", + " #plt.show(block=true)\n", + " plot!()\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2024-05-12T12:21:21.415401\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.5.1, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", + "L 423.64193 139.668414 \n", + "\" clip-path=\"url(#p97233ff034)\" style=\"fill: none; stroke: #000000; stroke-opacity: 0.1; stroke-width: 0.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4801,12 +8079,12 @@ " \n", " \n", " \n", + "L 423.64193 73.064014 \n", + "\" clip-path=\"url(#p97233ff034)\" style=\"fill: none; stroke: #000000; stroke-opacity: 0.1; stroke-width: 0.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4821,12 +8099,12 @@ " \n", " \n", " \n", + "L 423.64193 6.459614 \n", + "\" clip-path=\"url(#p97233ff034)\" style=\"fill: none; stroke: #000000; stroke-opacity: 0.1; stroke-width: 0.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4840,14 +8118,14 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", "\n" ], "text/html": [ - "" + "" ] }, "metadata": {}, @@ -9270,7 +13698,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 74, "metadata": {}, "outputs": [], "source": [] diff --git a/src/connectcurves/main.jl b/src/connectcurves/main.jl index 627c480..e5685c0 100644 --- a/src/connectcurves/main.jl +++ b/src/connectcurves/main.jl @@ -138,10 +138,10 @@ function plot_graph_comp(V, CE) end ## Graph functions -function connected_components_bis(edges) +function connected_components(vert, edges) adj_list = Dict{Int, Vector{Int}}() visited = Set{Int}() - components = Vector{Vector{Tuple{Int, Int}}}() + components = Vector{Vector{Int}}() # Build adjacency list for (i, j) in edges @@ -149,18 +149,13 @@ function connected_components_bis(edges) push!(get!(adj_list, j, []), i) end - # Breadth-first search - function bfs(node, component) - queue = [node] + # Depth-first search + function dfs(node, component) push!(visited, node) - while !isempty(queue) - current = popfirst!(queue) - for neighbor in adj_list[current] - if !(neighbor in visited) - push!(visited, neighbor) - push!(component, (current, neighbor)) - push!(queue, neighbor) - end + push!(component, node) + for neighbor in adj_list[node] + if !(neighbor in visited) + dfs(neighbor, component) end end end @@ -168,34 +163,56 @@ function connected_components_bis(edges) # Find connected components for node in keys(adj_list) if !(node in visited) - component = Vector{Tuple{Int, Int}}() - bfs(node, component) + component = Vector{Int}() + dfs(node, component) push!(components, component) end end - return components + # Group edges by connected component + grouped_edges = [Tuple{Int, Int}[] for _ in components] + for (idx, component) in enumerate(components) + for node in component + for neighbor in adj_list[node] + if neighbor > node && neighbor in component + push!(grouped_edges[idx], (node, neighbor)) + end + end + end + end + + grouped_vert = [ [ vert[cv] for cv in c ] for c in components ] + return grouped_vert, grouped_edges end # Generic change of variables changemat = [1 0; 0 1] -#changemat = rand(-100:100, 2, 2) +changemat = rand(-100:100, 2, 2) invchangemat = inv(changemat) f = evaluate(f, collect(changemat*[x; y])); println("\nCompute parametrization of critical pts...") @time begin sr = subresultants(f, derivative(f,y),2, list=true); -# Take the deg>0 sqfree factors of the resultant and order by multiplicity -# TODO : group by multiplicity +# Take sqfree factors of the resultant sqr = collect(factor_squarefree(sr[1][1])) +# Keep only deg>0 factors +filter(t->t[2]>0, sqr) +# Order by multiplicity +sqr = sort(sqr, by=t->t[2]) +# Group by multiplicity +group_sqr = [ [R(1),i] for i in 1:sqr[end][2] ] +for r in sqr + group_sqr[r[2]][1] *= r[1] +end # Construct the parametrization of the critical points -params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in sqr ]; +params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in group_sqr ]; end ############### -precx = 150; +precx = 200; ############### +# TODO : check that no overlap between different isolations println("\nIsolating critical values at precision ", precx,"..") @time begin xcrit = [ isolate(first(p), prec=precx) for p in params ] @@ -229,9 +246,10 @@ for i in eachindex(LBcrit) flag = false for j in eachindex(LBcrit[i]) print("mult=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") - pcside = intersect_box(f, LBcrit[i][j], prec=precx) + pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp) npcside = [length(n) for (I, n) in pcside] if i == 1 && sum(npcside) > 2 + print((i,j)," ",npcside) precxtmp *= 2 println("\nRefine extreme boxes along x-axis to precision ", precxtmp) refine_xboxes(params[1][1], LBcrit[1], precxtmp) @@ -412,8 +430,8 @@ end #plot_graph(Vert, EdgPlot) #gui() -CEdg = connected_components_bis(Edg); +CVert, CEdg = connected_components(Vert, Edg); -println("\n## The curve has ", length(CEdg), " connected components ##") +println("\n## Lifted curve has ", length(CVert), " connected components ##") #plot_graph_comp(Vert,CEdg) \ No newline at end of file From 965413142481f55dbc5d797e50d9786f59641fc6 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 12 May 2024 13:13:49 +0200 Subject: [PATCH 012/180] changemat --- src/connectcurves/main.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/connectcurves/main.jl b/src/connectcurves/main.jl index e5685c0..4ca4e8b 100644 --- a/src/connectcurves/main.jl +++ b/src/connectcurves/main.jl @@ -187,8 +187,7 @@ end # Generic change of variables changemat = [1 0; 0 1] -changemat = rand(-100:100, 2, 2) -invchangemat = inv(changemat) +changemat = rand(-500:500, 2, 2) f = evaluate(f, collect(changemat*[x; y])); println("\nCompute parametrization of critical pts...") From a48140883ff34f875ec5fadb5a19ba7788ad5439 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 12 May 2024 15:10:14 +0200 Subject: [PATCH 013/180] cleaning files --- .../.github/workflows/CI.yml | 85 - .../.github/workflows/CleanupDocPreview.yml | 29 - .../.github/workflows/TagBot.yml | 15 - .../AlgebraicSolving.jl-main/.gitignore | 3 - .../AlgebraicSolving.jl-main/LICENSE.md | 636 - .../AlgebraicSolving.jl-main/Manifest.toml | 675 - .../AlgebraicSolving.jl-main/Project.toml | 33 - .../AlgebraicSolving.jl-main/README.md | 22 - .../docs/Project.toml | 11 - .../AlgebraicSolving.jl-main/docs/make.jl | 36 - .../docs/src/groebner-bases.md | 65 - .../docs/src/index.md | 23 - .../docs/src/katsura.md | 34 - .../docs/src/normal-forms.md | 44 - .../docs/src/solvers.md | 57 - .../docs/src/types.md | 53 - .../src/AlgebraicSolving.jl | 21 - .../src/algorithms/groebner-bases.jl | 184 - .../src/algorithms/normal-forms.jl | 174 - .../src/algorithms/solvers.jl | 435 - .../src/examples/cyclic.jl | 23 - .../src/examples/katsura.jl | 90 - .../AlgebraicSolving.jl-main/src/exports.jl | 4 - .../AlgebraicSolving.jl-main/src/imports.jl | 61 - .../src/interfaces/nemo.jl | 118 - .../src/siggb/hashtable.jl | 472 - .../src/siggb/linear_algebra.jl | 156 - .../src/siggb/monomials.jl | 127 - .../src/siggb/siggb.jl | 256 - .../src/siggb/symbolic_pp.jl | 368 - .../src/siggb/typedefs.jl | 109 - .../src/siggb/update.jl | 350 - .../AlgebraicSolving.jl-main/src/types.jl | 51 - .../test/algorithms/groebner-bases.jl | 70 - .../test/algorithms/normal-forms.jl | 18 - .../test/algorithms/solvers.jl | 53 - .../test/examples/katsura.jl | 28 - .../test/interfaces/nemo.jl | 16 - .../AlgebraicSolving.jl-main/test/runtests.jl | 10 - src/connectcurves/data.jl | 14 - src/connectcurves/main.ipynb | 13722 ---------------- src/connectcurves/subresultant.ipynb | 689 - 42 files changed, 19440 deletions(-) delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CI.yml delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CleanupDocPreview.yml delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/TagBot.yml delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/.gitignore delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/LICENSE.md delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/Manifest.toml delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/Project.toml delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/README.md delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/Project.toml delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/make.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/groebner-bases.md delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/index.md delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/katsura.md delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/normal-forms.md delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/solvers.md delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/docs/src/types.md delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/AlgebraicSolving.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/groebner-bases.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/normal-forms.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/examples/cyclic.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/examples/katsura.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/exports.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/imports.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/interfaces/nemo.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/hashtable.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/linear_algebra.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/monomials.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/siggb.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/symbolic_pp.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/typedefs.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/siggb/update.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/src/types.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/groebner-bases.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/normal-forms.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/solvers.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/examples/katsura.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/interfaces/nemo.jl delete mode 100644 src/connectcurves/AlgebraicSolving.jl-main/test/runtests.jl delete mode 100644 src/connectcurves/data.jl delete mode 100644 src/connectcurves/main.ipynb delete mode 100644 src/connectcurves/subresultant.ipynb diff --git a/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CI.yml b/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CI.yml deleted file mode 100644 index 730421f..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CI.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: Run tests - -on: - push: - branches: - - main - pull_request: - workflow_dispatch: - -concurrency: - # group by workflow and ref; the last slightly strange component ensures that for pull - # requests, we limit to 1 concurrent job, but for the main branch we don't - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/main' || github.run_number }} - # Cancel intermediate builds, but only if it is a pull request build. - cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} - -jobs: - test: - runs-on: ${{ matrix.os }} - timeout-minutes: 120 - continue-on-error: ${{ matrix.julia-version == 'nightly' }} - strategy: - fail-fast: false - matrix: - julia-version: - - '1.6' - - '1.9' - - '~1.10.0-0' - - 'nightly' - julia-arch: - - x64 - os: - - ubuntu-latest - include: - # Add a few macOS jobs (not too many, the number we can run in parallel is limited) - - julia-version: '1.6' - julia-arch: x64 - os: macOS-latest - - julia-version: 'nightly' - julia-arch: x64 - os: macOS-latest - - steps: - - uses: actions/checkout@v2 - with: - # For Codecov, we must also fetch the parent of the HEAD commit to - # be able to properly deal with PRs / merges - fetch-depth: 2 - - name: "Set up Julia" - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.julia-version }} - arch: ${{ matrix.julia-arch }} - - name: "Build package" - uses: julia-actions/julia-buildpkg@latest - - name: "Run tests" - uses: julia-actions/julia-runtest@latest - - name: "Run doctests" - if: ${{ matrix.julia-version == '1.6' }} - run: | - julia --project=docs --color=yes --code-coverage -e ' - using Pkg - Pkg.develop(PackageSpec(path=pwd())) - Pkg.instantiate() - using Documenter: doctest - using AlgebraicSolving - doctest(AlgebraicSolving)' - - name: "Process code coverage" - uses: julia-actions/julia-processcoverage@v1 - with: - directories: src - - name: "Upload coverage data to Codecov" - continue-on-error: true - uses: codecov/codecov-action@v2 - docs: - name: Documentation - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/cache@v1 - - uses: julia-actions/julia-buildpkg@latest - - uses: julia-actions/julia-docdeploy@latest - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CleanupDocPreview.yml b/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CleanupDocPreview.yml deleted file mode 100644 index 18be754..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/CleanupDocPreview.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: Cleanup Doc Preview - -on: - pull_request: - types: [closed] - -jobs: - cleanup-doc-preview: - runs-on: ubuntu-latest - steps: - - name: Checkout gh-pages branch - uses: actions/checkout@v2 - with: - ref: gh-pages - - name: Delete preview - run: | - if [ -d "previews/PR$PRNUM" ]; then - git config user.name "Documenter.jl" - git config user.email "documenter@juliadocs.github.io" - git rm -rf "previews/PR$PRNUM" - git commit -m "delete preview for $PRNUM" - git push origin gh-pages:gh-pages - fi - env: - PRNUM: ${{ github.event.number }} - -# adapted from here: -# https://juliadocs.github.io/Documenter.jl/stable/man/hosting/#gh-pages-Branch -# without history cleanup diff --git a/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/TagBot.yml b/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/TagBot.yml deleted file mode 100644 index f49313b..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/.github/workflows/TagBot.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: TagBot -on: - issue_comment: - types: - - created - workflow_dispatch: -jobs: - TagBot: - if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' - runs-on: ubuntu-latest - steps: - - uses: JuliaRegistries/TagBot@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - ssh: ${{ secrets.DOCUMENTER_KEY }} diff --git a/src/connectcurves/AlgebraicSolving.jl-main/.gitignore b/src/connectcurves/AlgebraicSolving.jl-main/.gitignore deleted file mode 100644 index 014cf71..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*~ -docs/build/* -docs/make-dep.jl diff --git a/src/connectcurves/AlgebraicSolving.jl-main/LICENSE.md b/src/connectcurves/AlgebraicSolving.jl-main/LICENSE.md deleted file mode 100644 index 18d88dc..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/LICENSE.md +++ /dev/null @@ -1,636 +0,0 @@ -The AlgebraicSolving.jl package is licensed under the GNU Public License, Version 3.0+: - -> Copyright (c) 2019 The AlgerbaicSolving Development Team. -> This program is free software: you can redistribute it and/or modify -> it under the terms of the GNU General Public License as published by -> the Free Software Foundation, either version 3 of the License, or -> (at your option) any later version. -> -> This program is distributed in the hope that it will be useful, -> but WITHOUT ANY WARRANTY; without even the implied warranty of -> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -> GNU General Public License for more details. -> -> -> GNU GENERAL PUBLIC LICENSE -> Version 3, 29 June 2007 -> -> Copyright (C) 2007 Free Software Foundation, Inc. -> Everyone is permitted to copy and distribute verbatim copies -> of this license document, but changing it is not allowed. -> -> Preamble -> -> The GNU General Public License is a free, copyleft license for -> software and other kinds of works. -> -> The licenses for most software and other practical works are designed -> to take away your freedom to share and change the works. By contrast, -> the GNU General Public License is intended to guarantee your freedom to -> share and change all versions of a program--to make sure it remains free -> software for all its users. We, the Free Software Foundation, use the -> GNU General Public License for most of our software; it applies also to -> any other work released this way by its authors. You can apply it to -> your programs, too. -> -> When we speak of free software, we are referring to freedom, not -> price. Our General Public Licenses are designed to make sure that you -> have the freedom to distribute copies of free software (and charge for -> them if you wish), that you receive source code or can get it if you -> want it, that you can change the software or use pieces of it in new -> free programs, and that you know you can do these things. -> -> To protect your rights, we need to prevent others from denying you -> these rights or asking you to surrender the rights. Therefore, you have -> certain responsibilities if you distribute copies of the software, or if -> you modify it: responsibilities to respect the freedom of others. -> -> For example, if you distribute copies of such a program, whether -> gratis or for a fee, you must pass on to the recipients the same -> freedoms that you received. You must make sure that they, too, receive -> or can get the source code. And you must show them these terms so they -> know their rights. -> -> Developers that use the GNU GPL protect your rights with two steps: -> (1) assert copyright on the software, and (2) offer you this License -> giving you legal permission to copy, distribute and/or modify it. -> -> For the developers' and authors' protection, the GPL clearly explains -> that there is no warranty for this free software. For both users' and -> authors' sake, the GPL requires that modified versions be marked as -> changed, so that their problems will not be attributed erroneously to -> authors of previous versions. -> -> Some devices are designed to deny users access to install or run -> modified versions of the software inside them, although the manufacturer -> can do so. This is fundamentally incompatible with the aim of -> protecting users' freedom to change the software. The systematic -> pattern of such abuse occurs in the area of products for individuals to -> use, which is precisely where it is most unacceptable. Therefore, we -> have designed this version of the GPL to prohibit the practice for those -> products. If such problems arise substantially in other domains, we -> stand ready to extend this provision to those domains in future versions -> of the GPL, as needed to protect the freedom of users. -> -> Finally, every program is threatened constantly by software patents. -> States should not allow patents to restrict development and use of -> software on general-purpose computers, but in those that do, we wish to -> avoid the special danger that patents applied to a free program could -> make it effectively proprietary. To prevent this, the GPL assures that -> patents cannot be used to render the program non-free. -> -> The precise terms and conditions for copying, distribution and -> modification follow. -> -> TERMS AND CONDITIONS -> -> 0. Definitions. -> -> "This License" refers to version 3 of the GNU General Public License. -> -> "Copyright" also means copyright-like laws that apply to other kinds of -> works, such as semiconductor masks. -> -> "The Program" refers to any copyrightable work licensed under this -> License. Each licensee is addressed as "you". "Licensees" and -> "recipients" may be individuals or organizations. -> -> To "modify" a work means to copy from or adapt all or part of the work -> in a fashion requiring copyright permission, other than the making of an -> exact copy. The resulting work is called a "modified version" of the -> earlier work or a work "based on" the earlier work. -> -> A "covered work" means either the unmodified Program or a work based -> on the Program. -> -> To "propagate" a work means to do anything with it that, without -> permission, would make you directly or secondarily liable for -> infringement under applicable copyright law, except executing it on a -> computer or modifying a private copy. Propagation includes copying, -> distribution (with or without modification), making available to the -> public, and in some countries other activities as well. -> -> To "convey" a work means any kind of propagation that enables other -> parties to make or receive copies. Mere interaction with a user through -> a computer network, with no transfer of a copy, is not conveying. -> -> An interactive user interface displays "Appropriate Legal Notices" -> to the extent that it includes a convenient and prominently visible -> feature that (1) displays an appropriate copyright notice, and (2) -> tells the user that there is no warranty for the work (except to the -> extent that warranties are provided), that licensees may convey the -> work under this License, and how to view a copy of this License. If -> the interface presents a list of user commands or options, such as a -> menu, a prominent item in the list meets this criterion. -> -> 1. Source Code. -> -> The "source code" for a work means the preferred form of the work -> for making modifications to it. "Object code" means any non-source -> form of a work. -> -> A "Standard Interface" means an interface that either is an official -> standard defined by a recognized standards body, or, in the case of -> interfaces specified for a particular programming language, one that -> is widely used among developers working in that language. -> -> The "System Libraries" of an executable work include anything, other -> than the work as a whole, that (a) is included in the normal form of -> packaging a Major Component, but which is not part of that Major -> Component, and (b) serves only to enable use of the work with that -> Major Component, or to implement a Standard Interface for which an -> implementation is available to the public in source code form. A -> "Major Component", in this context, means a major essential component -> (kernel, window system, and so on) of the specific operating system -> (if any) on which the executable work runs, or a compiler used to -> produce the work, or an object code interpreter used to run it. -> -> The "Corresponding Source" for a work in object code form means all -> the source code needed to generate, install, and (for an executable -> work) run the object code and to modify the work, including scripts to -> control those activities. However, it does not include the work's -> System Libraries, or general-purpose tools or generally available free -> programs which are used unmodified in performing those activities but -> which are not part of the work. For example, Corresponding Source -> includes interface definition files associated with source files for -> the work, and the source code for shared libraries and dynamically -> linked subprograms that the work is specifically designed to require, -> such as by intimate data communication or control flow between those -> subprograms and other parts of the work. -> -> The Corresponding Source need not include anything that users -> can regenerate automatically from other parts of the Corresponding -> Source. -> -> The Corresponding Source for a work in source code form is that -> same work. -> -> 2. Basic Permissions. -> -> All rights granted under this License are granted for the term of -> copyright on the Program, and are irrevocable provided the stated -> conditions are met. This License explicitly affirms your unlimited -> permission to run the unmodified Program. The output from running a -> covered work is covered by this License only if the output, given its -> content, constitutes a covered work. This License acknowledges your -> rights of fair use or other equivalent, as provided by copyright law. -> -> You may make, run and propagate covered works that you do not -> convey, without conditions so long as your license otherwise remains -> in force. You may convey covered works to others for the sole purpose -> of having them make modifications exclusively for you, or provide you -> with facilities for running those works, provided that you comply with -> the terms of this License in conveying all material for which you do -> not control copyright. Those thus making or running the covered works -> for you must do so exclusively on your behalf, under your direction -> and control, on terms that prohibit them from making any copies of -> your copyrighted material outside their relationship with you. -> -> Conveying under any other circumstances is permitted solely under -> the conditions stated below. Sublicensing is not allowed; section 10 -> makes it unnecessary. -> -> 3. Protecting Users' Legal Rights From Anti-Circumvention Law. -> -> No covered work shall be deemed part of an effective technological -> measure under any applicable law fulfilling obligations under article -> 11 of the WIPO copyright treaty adopted on 20 December 1996, or -> similar laws prohibiting or restricting circumvention of such -> measures. -> -> When you convey a covered work, you waive any legal power to forbid -> circumvention of technological measures to the extent such circumvention -> is effected by exercising rights under this License with respect to -> the covered work, and you disclaim any intention to limit operation or -> modification of the work as a means of enforcing, against the work's -> users, your or third parties' legal rights to forbid circumvention of -> technological measures. -> -> 4. Conveying Verbatim Copies. -> -> You may convey verbatim copies of the Program's source code as you -> receive it, in any medium, provided that you conspicuously and -> appropriately publish on each copy an appropriate copyright notice; -> keep intact all notices stating that this License and any -> non-permissive terms added in accord with section 7 apply to the code; -> keep intact all notices of the absence of any warranty; and give all -> recipients a copy of this License along with the Program. -> -> You may charge any price or no price for each copy that you convey, -> and you may offer support or warranty protection for a fee. -> -> 5. Conveying Modified Source Versions. -> -> You may convey a work based on the Program, or the modifications to -> produce it from the Program, in the form of source code under the -> terms of section 4, provided that you also meet all of these conditions: -> -> a) The work must carry prominent notices stating that you modified -> it, and giving a relevant date. -> -> b) The work must carry prominent notices stating that it is -> released under this License and any conditions added under section -> 7. This requirement modifies the requirement in section 4 to -> "keep intact all notices". -> -> c) You must license the entire work, as a whole, under this -> License to anyone who comes into possession of a copy. This -> License will therefore apply, along with any applicable section 7 -> additional terms, to the whole of the work, and all its parts, -> regardless of how they are packaged. This License gives no -> permission to license the work in any other way, but it does not -> invalidate such permission if you have separately received it. -> -> d) If the work has interactive user interfaces, each must display -> Appropriate Legal Notices; however, if the Program has interactive -> interfaces that do not display Appropriate Legal Notices, your -> work need not make them do so. -> -> A compilation of a covered work with other separate and independent -> works, which are not by their nature extensions of the covered work, -> and which are not combined with it such as to form a larger program, -> in or on a volume of a storage or distribution medium, is called an -> "aggregate" if the compilation and its resulting copyright are not -> used to limit the access or legal rights of the compilation's users -> beyond what the individual works permit. Inclusion of a covered work -> in an aggregate does not cause this License to apply to the other -> parts of the aggregate. -> -> 6. Conveying Non-Source Forms. -> -> You may convey a covered work in object code form under the terms -> of sections 4 and 5, provided that you also convey the -> machine-readable Corresponding Source under the terms of this License, -> in one of these ways: -> -> a) Convey the object code in, or embodied in, a physical product -> (including a physical distribution medium), accompanied by the -> Corresponding Source fixed on a durable physical medium -> customarily used for software interchange. -> -> b) Convey the object code in, or embodied in, a physical product -> (including a physical distribution medium), accompanied by a -> written offer, valid for at least three years and valid for as -> long as you offer spare parts or customer support for that product -> model, to give anyone who possesses the object code either (1) a -> copy of the Corresponding Source for all the software in the -> product that is covered by this License, on a durable physical -> medium customarily used for software interchange, for a price no -> more than your reasonable cost of physically performing this -> conveying of source, or (2) access to copy the -> Corresponding Source from a network server at no charge. -> -> c) Convey individual copies of the object code with a copy of the -> written offer to provide the Corresponding Source. This -> alternative is allowed only occasionally and noncommercially, and -> only if you received the object code with such an offer, in accord -> with subsection 6b. -> -> d) Convey the object code by offering access from a designated -> place (gratis or for a charge), and offer equivalent access to the -> Corresponding Source in the same way through the same place at no -> further charge. You need not require recipients to copy the -> Corresponding Source along with the object code. If the place to -> copy the object code is a network server, the Corresponding Source -> may be on a different server (operated by you or a third party) -> that supports equivalent copying facilities, provided you maintain -> clear directions next to the object code saying where to find the -> Corresponding Source. Regardless of what server hosts the -> Corresponding Source, you remain obligated to ensure that it is -> available for as long as needed to satisfy these requirements. -> -> e) Convey the object code using peer-to-peer transmission, provided -> you inform other peers where the object code and Corresponding -> Source of the work are being offered to the general public at no -> charge under subsection 6d. -> -> A separable portion of the object code, whose source code is excluded -> from the Corresponding Source as a System Library, need not be -> included in conveying the object code work. -> -> A "User Product" is either (1) a "consumer product", which means any -> tangible personal property which is normally used for personal, family, -> or household purposes, or (2) anything designed or sold for incorporation -> into a dwelling. In determining whether a product is a consumer product, -> doubtful cases shall be resolved in favor of coverage. For a particular -> product received by a particular user, "normally used" refers to a -> typical or common use of that class of product, regardless of the status -> of the particular user or of the way in which the particular user -> actually uses, or expects or is expected to use, the product. A product -> is a consumer product regardless of whether the product has substantial -> commercial, industrial or non-consumer uses, unless such uses represent -> the only significant mode of use of the product. -> -> "Installation Information" for a User Product means any methods, -> procedures, authorization keys, or other information required to install -> and execute modified versions of a covered work in that User Product from -> a modified version of its Corresponding Source. The information must -> suffice to ensure that the continued functioning of the modified object -> code is in no case prevented or interfered with solely because -> modification has been made. -> -> If you convey an object code work under this section in, or with, or -> specifically for use in, a User Product, and the conveying occurs as -> part of a transaction in which the right of possession and use of the -> User Product is transferred to the recipient in perpetuity or for a -> fixed term (regardless of how the transaction is characterized), the -> Corresponding Source conveyed under this section must be accompanied -> by the Installation Information. But this requirement does not apply -> if neither you nor any third party retains the ability to install -> modified object code on the User Product (for example, the work has -> been installed in ROM). -> -> The requirement to provide Installation Information does not include a -> requirement to continue to provide support service, warranty, or updates -> for a work that has been modified or installed by the recipient, or for -> the User Product in which it has been modified or installed. Access to a -> network may be denied when the modification itself materially and -> adversely affects the operation of the network or violates the rules and -> protocols for communication across the network. -> -> Corresponding Source conveyed, and Installation Information provided, -> in accord with this section must be in a format that is publicly -> documented (and with an implementation available to the public in -> source code form), and must require no special password or key for -> unpacking, reading or copying. -> -> 7. Additional Terms. -> -> "Additional permissions" are terms that supplement the terms of this -> License by making exceptions from one or more of its conditions. -> Additional permissions that are applicable to the entire Program shall -> be treated as though they were included in this License, to the extent -> that they are valid under applicable law. If additional permissions -> apply only to part of the Program, that part may be used separately -> under those permissions, but the entire Program remains governed by -> this License without regard to the additional permissions. -> -> When you convey a copy of a covered work, you may at your option -> remove any additional permissions from that copy, or from any part of -> it. (Additional permissions may be written to require their own -> removal in certain cases when you modify the work.) You may place -> additional permissions on material, added by you to a covered work, -> for which you have or can give appropriate copyright permission. -> -> Notwithstanding any other provision of this License, for material you -> add to a covered work, you may (if authorized by the copyright holders of -> that material) supplement the terms of this License with terms: -> -> a) Disclaiming warranty or limiting liability differently from the -> terms of sections 15 and 16 of this License; or -> -> b) Requiring preservation of specified reasonable legal notices or -> author attributions in that material or in the Appropriate Legal -> Notices displayed by works containing it; or -> -> c) Prohibiting misrepresentation of the origin of that material, or -> requiring that modified versions of such material be marked in -> reasonable ways as different from the original version; or -> -> d) Limiting the use for publicity purposes of names of licensors or -> authors of the material; or -> -> e) Declining to grant rights under trademark law for use of some -> trade names, trademarks, or service marks; or -> -> f) Requiring indemnification of licensors and authors of that -> material by anyone who conveys the material (or modified versions of -> it) with contractual assumptions of liability to the recipient, for -> any liability that these contractual assumptions directly impose on -> those licensors and authors. -> -> All other non-permissive additional terms are considered "further -> restrictions" within the meaning of section 10. If the Program as you -> received it, or any part of it, contains a notice stating that it is -> governed by this License along with a term that is a further -> restriction, you may remove that term. If a license document contains -> a further restriction but permits relicensing or conveying under this -> License, you may add to a covered work material governed by the terms -> of that license document, provided that the further restriction does -> not survive such relicensing or conveying. -> -> If you add terms to a covered work in accord with this section, you -> must place, in the relevant source files, a statement of the -> additional terms that apply to those files, or a notice indicating -> where to find the applicable terms. -> -> Additional terms, permissive or non-permissive, may be stated in the -> form of a separately written license, or stated as exceptions; -> the above requirements apply either way. -> -> 8. Termination. -> -> You may not propagate or modify a covered work except as expressly -> provided under this License. Any attempt otherwise to propagate or -> modify it is void, and will automatically terminate your rights under -> this License (including any patent licenses granted under the third -> paragraph of section 11). -> -> However, if you cease all violation of this License, then your -> license from a particular copyright holder is reinstated (a) -> provisionally, unless and until the copyright holder explicitly and -> finally terminates your license, and (b) permanently, if the copyright -> holder fails to notify you of the violation by some reasonable means -> prior to 60 days after the cessation. -> -> Moreover, your license from a particular copyright holder is -> reinstated permanently if the copyright holder notifies you of the -> violation by some reasonable means, this is the first time you have -> received notice of violation of this License (for any work) from that -> copyright holder, and you cure the violation prior to 30 days after -> your receipt of the notice. -> -> Termination of your rights under this section does not terminate the -> licenses of parties who have received copies or rights from you under -> this License. If your rights have been terminated and not permanently -> reinstated, you do not qualify to receive new licenses for the same -> material under section 10. -> -> 9. Acceptance Not Required for Having Copies. -> -> You are not required to accept this License in order to receive or -> run a copy of the Program. Ancillary propagation of a covered work -> occurring solely as a consequence of using peer-to-peer transmission -> to receive a copy likewise does not require acceptance. However, -> nothing other than this License grants you permission to propagate or -> modify any covered work. These actions infringe copyright if you do -> not accept this License. Therefore, by modifying or propagating a -> covered work, you indicate your acceptance of this License to do so. -> -> 10. Automatic Licensing of Downstream Recipients. -> -> Each time you convey a covered work, the recipient automatically -> receives a license from the original licensors, to run, modify and -> propagate that work, subject to this License. You are not responsible -> for enforcing compliance by third parties with this License. -> -> An "entity transaction" is a transaction transferring control of an -> organization, or substantially all assets of one, or subdividing an -> organization, or merging organizations. If propagation of a covered -> work results from an entity transaction, each party to that -> transaction who receives a copy of the work also receives whatever -> licenses to the work the party's predecessor in interest had or could -> give under the previous paragraph, plus a right to possession of the -> Corresponding Source of the work from the predecessor in interest, if -> the predecessor has it or can get it with reasonable efforts. -> -> You may not impose any further restrictions on the exercise of the -> rights granted or affirmed under this License. For example, you may -> not impose a license fee, royalty, or other charge for exercise of -> rights granted under this License, and you may not initiate litigation -> (including a cross-claim or counterclaim in a lawsuit) alleging that -> any patent claim is infringed by making, using, selling, offering for -> sale, or importing the Program or any portion of it. -> -> 11. Patents. -> -> A "contributor" is a copyright holder who authorizes use under this -> License of the Program or a work on which the Program is based. The -> work thus licensed is called the contributor's "contributor version". -> -> A contributor's "essential patent claims" are all patent claims -> owned or controlled by the contributor, whether already acquired or -> hereafter acquired, that would be infringed by some manner, permitted -> by this License, of making, using, or selling its contributor version, -> but do not include claims that would be infringed only as a -> consequence of further modification of the contributor version. For -> purposes of this definition, "control" includes the right to grant -> patent sublicenses in a manner consistent with the requirements of -> this License. -> -> Each contributor grants you a non-exclusive, worldwide, royalty-free -> patent license under the contributor's essential patent claims, to -> make, use, sell, offer for sale, import and otherwise run, modify and -> propagate the contents of its contributor version. -> -> In the following three paragraphs, a "patent license" is any express -> agreement or commitment, however denominated, not to enforce a patent -> (such as an express permission to practice a patent or covenant not to -> sue for patent infringement). To "grant" such a patent license to a -> party means to make such an agreement or commitment not to enforce a -> patent against the party. -> -> If you convey a covered work, knowingly relying on a patent license, -> and the Corresponding Source of the work is not available for anyone -> to copy, free of charge and under the terms of this License, through a -> publicly available network server or other readily accessible means, -> then you must either (1) cause the Corresponding Source to be so -> available, or (2) arrange to deprive yourself of the benefit of the -> patent license for this particular work, or (3) arrange, in a manner -> consistent with the requirements of this License, to extend the patent -> license to downstream recipients. "Knowingly relying" means you have -> actual knowledge that, but for the patent license, your conveying the -> covered work in a country, or your recipient's use of the covered work -> in a country, would infringe one or more identifiable patents in that -> country that you have reason to believe are valid. -> -> If, pursuant to or in connection with a single transaction or -> arrangement, you convey, or propagate by procuring conveyance of, a -> covered work, and grant a patent license to some of the parties -> receiving the covered work authorizing them to use, propagate, modify -> or convey a specific copy of the covered work, then the patent license -> you grant is automatically extended to all recipients of the covered -> work and works based on it. -> -> A patent license is "discriminatory" if it does not include within -> the scope of its coverage, prohibits the exercise of, or is -> conditioned on the non-exercise of one or more of the rights that are -> specifically granted under this License. You may not convey a covered -> work if you are a party to an arrangement with a third party that is -> in the business of distributing software, under which you make payment -> to the third party based on the extent of your activity of conveying -> the work, and under which the third party grants, to any of the -> parties who would receive the covered work from you, a discriminatory -> patent license (a) in connection with copies of the covered work -> conveyed by you (or copies made from those copies), or (b) primarily -> for and in connection with specific products or compilations that -> contain the covered work, unless you entered into that arrangement, -> or that patent license was granted, prior to 28 March 2007. -> -> Nothing in this License shall be construed as excluding or limiting -> any implied license or other defenses to infringement that may -> otherwise be available to you under applicable patent law. -> -> 12. No Surrender of Others' Freedom. -> -> If conditions are imposed on you (whether by court order, agreement or -> otherwise) that contradict the conditions of this License, they do not -> excuse you from the conditions of this License. If you cannot convey a -> covered work so as to satisfy simultaneously your obligations under this -> License and any other pertinent obligations, then as a consequence you may -> not convey it at all. For example, if you agree to terms that obligate you -> to collect a royalty for further conveying from those to whom you convey -> the Program, the only way you could satisfy both those terms and this -> License would be to refrain entirely from conveying the Program. -> -> 13. Use with the GNU Affero General Public License. -> -> Notwithstanding any other provision of this License, you have -> permission to link or combine any covered work with a work licensed -> under version 3 of the GNU Affero General Public License into a single -> combined work, and to convey the resulting work. The terms of this -> License will continue to apply to the part which is the covered work, -> but the special requirements of the GNU Affero General Public License, -> section 13, concerning interaction through a network will apply to the -> combination as such. -> -> 14. Revised Versions of this License. -> -> The Free Software Foundation may publish revised and/or new versions of -> the GNU General Public License from time to time. Such new versions will -> be similar in spirit to the present version, but may differ in detail to -> address new problems or concerns. -> -> Each version is given a distinguishing version number. If the -> Program specifies that a certain numbered version of the GNU General -> Public License "or any later version" applies to it, you have the -> option of following the terms and conditions either of that numbered -> version or of any later version published by the Free Software -> Foundation. If the Program does not specify a version number of the -> GNU General Public License, you may choose any version ever published -> by the Free Software Foundation. -> -> If the Program specifies that a proxy can decide which future -> versions of the GNU General Public License can be used, that proxy's -> public statement of acceptance of a version permanently authorizes you -> to choose that version for the Program. -> -> Later license versions may give you additional or different -> permissions. However, no additional obligations are imposed on any -> author or copyright holder as a result of your choosing to follow a -> later version. -> -> 15. Disclaimer of Warranty. -> -> THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -> APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -> HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -> OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -> THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -> PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -> IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -> ALL NECESSARY SERVICING, REPAIR OR CORRECTION. -> -> 16. Limitation of Liability. -> -> IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -> WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -> THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -> GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -> USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -> DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -> PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -> EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -> SUCH DAMAGES. -> -> 17. Interpretation of Sections 15 and 16. -> -> If the disclaimer of warranty and limitation of liability provided -> above cannot be given local legal effect according to their terms, -> reviewing courts shall apply local law that most closely approximates -> an absolute waiver of all civil liability in connection with the -> Program, unless a warranty or assumption of liability accompanies a -> copy of the Program in return for a fee. -> -> END OF TERMS AND CONDITIONS -> diff --git a/src/connectcurves/AlgebraicSolving.jl-main/Manifest.toml b/src/connectcurves/AlgebraicSolving.jl-main/Manifest.toml deleted file mode 100644 index a5ecec9..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/Manifest.toml +++ /dev/null @@ -1,675 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.10.1" -manifest_format = "2.0" -project_hash = "0ee312c14b17a77836ab601affa7daf8c143a52c" - -[[deps.AbstractAlgebra]] -deps = ["GroupsCore", "InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] -git-tree-sha1 = "8ce780dc3e4445182458350598acae268001497c" -uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" -version = "0.35.2" - -[[deps.Adapt]] -deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "f8c724a2066b2d37d0234fe4022ec67987022d00" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "4.0.0" -weakdeps = ["StaticArrays"] - - [deps.Adapt.extensions] - AdaptStaticArraysExt = "StaticArrays" - -[[deps.Antic_jll]] -deps = ["Artifacts", "FLINT_jll", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "Pkg"] -git-tree-sha1 = "4b354e5ef3d0a235515bd1b27af9cee3fa1de62c" -uuid = "e21ec000-9f72-519e-ba6d-10061e575a27" -version = "0.201.500+0" - -[[deps.Arb_jll]] -deps = ["Artifacts", "FLINT_jll", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "Pkg"] -git-tree-sha1 = "a564158702b6a4d1fb53c3fa399e891d7599afa0" -uuid = "d9960996-1013-53c9-9ba4-74a4155039c3" -version = "200.2300.0+0" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" - -[[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "bbec08a37f8722786d87bedf84eae19c020c4efa" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.7.0" - - [deps.ArrayInterface.extensions] - ArrayInterfaceBandedMatricesExt = "BandedMatrices" - ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" - ArrayInterfaceCUDAExt = "CUDA" - ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" - ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" - ArrayInterfaceTrackerExt = "Tracker" - - [deps.ArrayInterface.weakdeps] - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" - StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.BenchmarkTools]] -deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] -git-tree-sha1 = "f1f03a9fa24271160ed7e73051fba3c1a759b53f" -uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -version = "1.4.0" - -[[deps.BinaryWrappers]] -deps = ["JLLWrappers", "Scratch"] -git-tree-sha1 = "7c08e585f2d50e3c74bc2491474d3f897d2ebec8" -uuid = "f01c122e-0ea1-4f85-ad8f-907073ad7a9f" -version = "0.1.2" - -[[deps.BitTwiddlingConvenienceFunctions]] -deps = ["Static"] -git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" -uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" -version = "0.1.5" - -[[deps.CPUSummary]] -deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] -git-tree-sha1 = "601f7e7b3d36f18790e2caf83a882d88e9b71ff1" -uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" -version = "0.2.4" - -[[deps.Calcium_jll]] -deps = ["Antic_jll", "Arb_jll", "Artifacts", "FLINT_jll", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "Pkg"] -git-tree-sha1 = "37fd335ecca9bd6ab25a2a4d26b7b2f6fe64c246" -uuid = "fcfa6d1b-d8ce-59d5-8c0a-c0d7f69e4f40" -version = "0.401.100+0" - -[[deps.CloseOpenIntervals]] -deps = ["Static", "StaticArrayInterface"] -git-tree-sha1 = "70232f82ffaab9dc52585e0dd043b5e0c6b714f1" -uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" -version = "0.1.12" - -[[deps.CodeTracking]] -deps = ["InteractiveUtils", "UUIDs"] -git-tree-sha1 = "c0216e792f518b39b22212127d4a84dc31e4e386" -uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" -version = "1.3.5" - -[[deps.CommonSubexpressions]] -deps = ["MacroTools", "Test"] -git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" -uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.3.0" - -[[deps.Compat]] -deps = ["UUIDs"] -git-tree-sha1 = "886826d76ea9e72b35fcd000e535588f7b60f21d" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.10.1" -weakdeps = ["Dates", "LinearAlgebra"] - - [deps.Compat.extensions] - CompatLinearAlgebraExt = "LinearAlgebra" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.1.0+0" - -[[deps.CpuId]] -deps = ["Markdown"] -git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" -uuid = "adafc99b-e345-5852-983c-f28acb93d879" -version = "0.3.1" - -[[deps.CxxWrap]] -deps = ["Libdl", "MacroTools", "libcxxwrap_julia_jll"] -git-tree-sha1 = "3345cb637ca1efb2ebf7f5145558522b92660d1f" -uuid = "1f15a43c-97ca-5a2a-ae31-89f07a497df4" -version = "0.14.2" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" - -[[deps.DiffResults]] -deps = ["StaticArraysCore"] -git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" -uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" -version = "1.1.0" - -[[deps.DiffRules]] -deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272" -uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.15.1" - -[[deps.Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" - -[[deps.DocStringExtensions]] -deps = ["LibGit2"] -git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.9.3" - -[[deps.Downloads]] -deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.6.0" - -[[deps.FLINT_jll]] -deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "OpenBLAS32_jll"] -git-tree-sha1 = "5c9a3c03282df69a9108d67978d193a2b881f476" -uuid = "e134572f-a0d5-539d-bddf-3cad8db41a82" -version = "200.900.7+0" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - -[[deps.ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] -git-tree-sha1 = "cf0fe81336da9fb90944683b8c41984b08793dad" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.36" -weakdeps = ["StaticArrays"] - - [deps.ForwardDiff.extensions] - ForwardDiffStaticArraysExt = "StaticArrays" - -[[deps.GLPK_jll]] -deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "fe68622f32828aa92275895fdb324a85894a5b1b" -uuid = "e8aa6df9-e6ca-548a-97ff-1f85fc5b8b98" -version = "5.0.1+0" - -[[deps.GMP_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" -version = "6.2.1+6" - -[[deps.GroupsCore]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "6df9cd6ee79fc59feab33f63a1b3c9e95e2461d5" -uuid = "d5909c97-4eac-4ecc-a3dc-fdd0858a4120" -version = "0.4.2" - -[[deps.HostCPUFeatures]] -deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] -git-tree-sha1 = "eb8fed28f4994600e29beef49744639d985a04b2" -uuid = "3e5b6fbb-0976-4d2c-9146-d79de83f2fb0" -version = "0.1.16" - -[[deps.IfElse]] -git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" -uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" -version = "0.1.1" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.IrrationalConstants]] -git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.2.2" - -[[deps.JLLWrappers]] -deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.5.0" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.4" - -[[deps.JuliaInterpreter]] -deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] -git-tree-sha1 = "7b762d81887160169ddfc93a47e5fd7a6a3e78ef" -uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" -version = "0.9.29" - -[[deps.LLVMOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "d986ce2d884d49126836ea94ed5bfb0f12679713" -uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" -version = "15.0.7+0" - -[[deps.LayoutPointers]] -deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "62edfee3211981241b57ff1cedf4d74d79519277" -uuid = "10f19ff3-798f-405d-979b-55457f8fc047" -version = "0.1.15" - -[[deps.LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.4" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "8.4.0+0" - -[[deps.LibGit2]] -deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[deps.LibGit2_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] -uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" -version = "1.6.4+0" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.11.0+1" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[deps.LogExpFunctions]] -deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "7d6dd4e9212aebaeed356de34ccf262a3cd415aa" -uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.26" - - [deps.LogExpFunctions.extensions] - LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" - LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" - LogExpFunctionsInverseFunctionsExt = "InverseFunctions" - - [deps.LogExpFunctions.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" - InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[deps.LoopVectorization]] -deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] -git-tree-sha1 = "0f5648fbae0d015e3abe5867bca2b362f67a5894" -uuid = "bdcacae8-1622-11e9-2a5c-532679323890" -version = "0.12.166" - - [deps.LoopVectorization.extensions] - ForwardDiffExt = ["ChainRulesCore", "ForwardDiff"] - SpecialFunctionsExt = "SpecialFunctions" - - [deps.LoopVectorization.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" - -[[deps.LoweredCodeUtils]] -deps = ["JuliaInterpreter"] -git-tree-sha1 = "31e27f0b0bf0df3e3e951bfcc43fe8c730a219f6" -uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" -version = "2.4.5" - -[[deps.MPFR_jll]] -deps = ["Artifacts", "GMP_jll", "Libdl"] -uuid = "3a97d323-0669-5f0c-9066-3539efd106a3" -version = "4.2.0+1" - -[[deps.MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "b211c553c199c111d998ecdaf7623d1b89b69f93" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.12" - -[[deps.ManualMemory]] -git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" -uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" -version = "0.1.8" - -[[deps.Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[deps.MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.2+1" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[deps.MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2023.1.10" - -[[deps.NaNMath]] -deps = ["OpenLibm_jll"] -git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "1.0.2" - -[[deps.Nemo]] -deps = ["AbstractAlgebra", "Antic_jll", "Arb_jll", "Calcium_jll", "FLINT_jll", "Libdl", "LinearAlgebra", "Pkg", "Random", "RandomExtensions", "SHA"] -git-tree-sha1 = "26d12d1c2995ef0fd6d520f41b7a2f41e8c5ba03" -uuid = "2edaba10-b0f1-5616-af89-8c11ac63239a" -version = "0.39.1" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.2.0" - -[[deps.OffsetArrays]] -git-tree-sha1 = "6a731f2b5c03157418a20c12195eb4b74c8f8621" -uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.13.0" -weakdeps = ["Adapt"] - - [deps.OffsetArrays.extensions] - OffsetArraysAdaptExt = "Adapt" - -[[deps.OpenBLAS32_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6065c4cff8fee6c6770b277af45d5082baacdba1" -uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" -version = "0.3.24+0" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.23+4" - -[[deps.OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.1+2" - -[[deps.OpenSpecFun_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" -uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" -version = "0.5.5+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.3" - -[[deps.Parsers]] -deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.8.1" - -[[deps.Pidfile]] -deps = ["FileWatching", "Test"] -git-tree-sha1 = "2d8aaf8ee10df53d0dfb9b8ee44ae7c04ced2b03" -uuid = "fa939f87-e72e-5be4-a000-7fc836dbe307" -version = "1.3.0" - -[[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.10.0" - -[[deps.PolyesterWeave]] -deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] -git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" -uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" -version = "0.2.1" - -[[deps.PrecompileTools]] -deps = ["Preferences"] -git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f" -uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.2.0" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "00805cd429dcb4870060ff49ef443486c262e38e" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.4.1" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.Profile]] -deps = ["Printf"] -uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[deps.Random]] -deps = ["SHA"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[deps.RandomExtensions]] -deps = ["Random", "SparseArrays"] -git-tree-sha1 = "b8a399e95663485820000f26b6a43c794e166a49" -uuid = "fb686558-2515-59ef-acaa-46db3789a887" -version = "0.4.4" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.0" - -[[deps.Revise]] -deps = ["CodeTracking", "Distributed", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Pkg", "REPL", "Requires", "UUIDs", "Unicode"] -git-tree-sha1 = "12aa2d7593df490c407a3bbd8b86b8b515017f3e" -uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" -version = "3.5.14" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" -version = "0.7.0" - -[[deps.SIMDTypes]] -git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" -uuid = "94e857df-77ce-4151-89e5-788b33177be4" -version = "0.1.0" - -[[deps.SLEEFPirates]] -deps = ["IfElse", "Static", "VectorizationBase"] -git-tree-sha1 = "3aac6d68c5e57449f5b9b865c9ba50ac2970c4cf" -uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" -version = "0.6.42" - -[[deps.Scratch]] -deps = ["Dates"] -git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" -uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.1" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.Singular]] -deps = ["AbstractAlgebra", "BinaryWrappers", "CxxWrap", "Libdl", "LinearAlgebra", "Nemo", "Pidfile", "Pkg", "Random", "RandomExtensions", "Singular_jll", "Statistics", "lib4ti2_jll", "libsingular_julia_jll"] -git-tree-sha1 = "8d80ee22a1f38d928e72b0487165063bcb7ad810" -uuid = "bcd08a7b-43d2-5ff7-b6d4-c458787f915c" -version = "0.21.3" - -[[deps.Singular_jll]] -deps = ["Artifacts", "FLINT_jll", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "cddlib_jll"] -git-tree-sha1 = "b445ce68347d4bd8634217741471c0ef526e8a33" -uuid = "43d676ae-4934-50ba-8046-7a96366d613b" -version = "403.214.1400+0" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[deps.SparseArrays]] -deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" -version = "1.10.0" - -[[deps.SpecialFunctions]] -deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "e2cfc4012a19088254b3950b85c3c1d8882d864d" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.3.1" - - [deps.SpecialFunctions.extensions] - SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" - - [deps.SpecialFunctions.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - -[[deps.Static]] -deps = ["IfElse"] -git-tree-sha1 = "f295e0a1da4ca425659c57441bcb59abb035a4bc" -uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.8.8" - -[[deps.StaticArrayInterface]] -deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] -git-tree-sha1 = "5d66818a39bb04bf328e92bc933ec5b4ee88e436" -uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.5.0" -weakdeps = ["OffsetArrays", "StaticArrays"] - - [deps.StaticArrayInterface.extensions] - StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" - StaticArrayInterfaceStaticArraysExt = "StaticArrays" - -[[deps.StaticArrays]] -deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "4e17a790909b17f7bf1496e3aec138cf01b60b3b" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.0" - - [deps.StaticArrays.extensions] - StaticArraysChainRulesCoreExt = "ChainRulesCore" - StaticArraysStatisticsExt = "Statistics" - - [deps.StaticArrays.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - -[[deps.StaticArraysCore]] -git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" -uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.2" - -[[deps.Statistics]] -deps = ["LinearAlgebra", "SparseArrays"] -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" -version = "1.10.0" - -[[deps.SuiteSparse]] -deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] -uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" - -[[deps.SuiteSparse_jll]] -deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] -uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" -version = "7.2.1+1" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.3" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.0" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.ThreadingUtilities]] -deps = ["ManualMemory"] -git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" -uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" -version = "0.5.2" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" - -[[deps.UnPack]] -git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "1.0.2" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" - -[[deps.VectorizationBase]] -deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "7209df901e6ed7489fe9b7aa3e46fb788e15db85" -uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" -version = "0.21.65" - -[[deps.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.13+1" - -[[deps.cddlib_jll]] -deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c25e5fe14395ea7b1d702f4eb90c52bdf50e3450" -uuid = "f07e07eb-5685-515a-97c8-3014f6152feb" -version = "0.94.13+0" - -[[deps.lib4ti2_jll]] -deps = ["Artifacts", "GLPK_jll", "GMP_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "79116185def638e73ea3d88ca6c10e210a1dc183" -uuid = "1493ae25-0f90-5c0e-a06c-8c5077d6d66f" -version = "1.6.10+0" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.8.0+1" - -[[deps.libcxxwrap_julia_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "3d47ce071d272d2cae9d1bc449c261237e9784f7" -uuid = "3eaa8342-bff7-56a5-9981-c04077f7cee7" -version = "0.11.2+0" - -[[deps.libsingular_julia_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Singular_jll", "libcxxwrap_julia_jll"] -git-tree-sha1 = "bcf29726c1c4cd53c0e3c6c093cdca68d0f67beb" -uuid = "ae4fbd8f-ecdb-54f8-bbce-35570499b30e" -version = "0.40.11+0" - -[[deps.msolve_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "FLINT_jll", "GMP_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl", "MPFR_jll"] -git-tree-sha1 = "6d02a110f583341deea0d249b1a741352631aed6" -uuid = "6d01cc9a-e8f6-580e-8c54-544227e08205" -version = "0.6.3+0" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.52.0+1" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+2" diff --git a/src/connectcurves/AlgebraicSolving.jl-main/Project.toml b/src/connectcurves/AlgebraicSolving.jl-main/Project.toml deleted file mode 100644 index 631e6dc..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/Project.toml +++ /dev/null @@ -1,33 +0,0 @@ -name = "AlgebraicSolving" -uuid = "66b61cbe-0446-4d5d-9090-1ff510639f9d" -authors = ["ederc ", "Mohab Safey El Din "] -version = "0.4.6" - -[deps] -BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" -LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" -LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" -Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" -Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" -Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" -Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" -Singular = "bcd08a7b-43d2-5ff7-b6d4-c458787f915c" -StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -msolve_jll = "6d01cc9a-e8f6-580e-8c54-544227e08205" - -[compat] -LinearAlgebra = "1.6" -Logging = "1.6" -LoopVectorization = "0.12" -Markdown = "1.6" -Nemo = "0.35.1, 0.36, 0.37, 0.38, 0.39" -Printf = "1.6" -Random = "1.6" -StaticArrays = "1" -Test = "1.6" -julia = "1.6" -msolve_jll = "0.6.3" diff --git a/src/connectcurves/AlgebraicSolving.jl-main/README.md b/src/connectcurves/AlgebraicSolving.jl-main/README.md deleted file mode 100644 index 5063df7..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# AlgebraicSolving.jl - -A julia package for algebraically solving multivariate polynomial systems. - -## Installation -AlgebraicSolving requires Julia 1.6 or newer. In principle it can be installed and used -like any other Julia package: - -```julia -julia> using Pkg -julia> Pkg.add("AlgebraicSolving") -julia> using AlgebraicSolving -``` - -## Documentation and Examples - -You can find a detailed documentation including various examples at -https://algebraic-solving.github.io/ . - -# Funding - -The development of `AlgebraicSolving` is supported by the [Forschungsinitiative Rheinland-Pfalz](https://rptu.de/forschung/forschungsinitiative-rlp). diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/Project.toml b/src/connectcurves/AlgebraicSolving.jl-main/docs/Project.toml deleted file mode 100644 index ee69314..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/docs/Project.toml +++ /dev/null @@ -1,11 +0,0 @@ -[deps] -AlgebraicSolving= "66b61cbe-0446-4d5d-9090-1ff510639f9d" -LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" -msolve_jll = "6d01cc9a-e8f6-580e-8c54-544227e08205" -Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" - -[compat] -Documenter = "0.26" -msolve_jll = "0.6.1" diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/make.jl b/src/connectcurves/AlgebraicSolving.jl-main/docs/make.jl deleted file mode 100644 index ab996ee..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/docs/make.jl +++ /dev/null @@ -1,36 +0,0 @@ -using AlgebraicSolving -using Documenter - -push!(LOAD_PATH, "../src") - -DocMeta.setdocmeta!(AlgebraicSolving, :DocTestSetup, :(using AlgebraicSolving); recursive=true) - -# Build documentation. -# ==================== - -makedocs( - # options - modules = [AlgebraicSolving], - doctest = true, - clean = true, - checkdocs = :none, - sitename = "AlgebraicSolving.jl", - format = Documenter.HTML(), - pages = [ - "index.md", - "types.md", - "Algorithms" => ["groebner-bases.md", - "normal-forms.md", - "solvers.md"], - "Examples" => "katsura.md" - ] -) - -# Deploy built documentation from Travis. -# ======================================= - -deploydocs( - # options - repo = "github.com/algebraic-solving/AlgebraicSolving.jl.git", - target = "build", -) diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/groebner-bases.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/groebner-bases.md deleted file mode 100644 index 58792c0..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/groebner-bases.md +++ /dev/null @@ -1,65 +0,0 @@ -```@meta -CurrentModule = AlgebraicSolving -DocTestSetup = quote - using AlgebraicSolving -end -``` - -```@setup algebraicsolving -using AlgebraicSolving -``` - -```@contents -Pages = ["groebner-bases.md"] -``` - -# Gröbner bases - -## Introduction - -AlgebraicSolving allows to compute Gröbner bases for input generators over finite -fields of characteristic smaller $2^{31}$ w.r.t. the degree reverse -lexicographical monomial order. - -At the moment different variants of Faugère's F4 Algorithm are implemented as -well as a signature based algorithm to compute Gröbner bases. - -## Functionality - -```@docs - groebner_basis( - I::Ideal{T} where T <: MPolyRingElem; - initial_hts::Int=17, - nr_thrds::Int=1, - max_nr_pairs::Int=0, - la_option::Int=2, - eliminate::Int=0, - complete_reduction::Bool=true, - info_level::Int=0 - ) -``` - -The engine supports the elimination of one block of variables considering the -product monomial ordering of two blocks, both ordered w.r.t. the degree -reverse lexicographical order. One can either directly add the number of -variables of the first block via the `eliminate` parameter in the -`groebner_basis` call. We have also implemented an alias for this call: - -```@docs - eliminate( - I::Ideal{T} where T <: MPolyRingElem, - eliminate::Int; - initial_hts::Int=17, - nr_thrds::Int=1, - max_nr_pairs::Int=0, - la_option::Int=2, - complete_reduction::Bool=true, - info_level::Int=0 - ) -``` - -To compute signature Gröbner bases use - -```@docs - sig_groebner_basis(sys::Vector{T}; info_level::Int = 0, degbound::Int = 0) where {T <: MPolyRingElem} -``` diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/index.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/index.md deleted file mode 100644 index 4ae0cec..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/index.md +++ /dev/null @@ -1,23 +0,0 @@ -# Getting Started - -AlgebraicSolving is a computer algebra package for the Julia programming -language, maintained by Christian Eder and Mohab Safey El Din. - -- (Source code) - -The features of AlgebraicSolving include algorithms for computing -Gröbner bases over finite fields and for computing real solutions. -The main workhorse of AlgebraicSolving is the [msolve -library](https://msolve.lip6.fr/) . - -## Installation - -To use Nemo we require Julia 1.6 or higher. Please see - for instructions on -how to obtain julia for your system. - -At the Julia prompt simply type - -``` -julia> using Pkg; Pkg.add("AlgebraicSolving") -``` diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/katsura.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/katsura.md deleted file mode 100644 index fa72c56..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/katsura.md +++ /dev/null @@ -1,34 +0,0 @@ -```@meta -CurrentModule = AlgebraicSolving -DocTestSetup = quote - using AlgebraicSolving -end -``` - -```@setup algebraicsolving -using AlgebraicSolving -``` - -```@contents -Pages = ["katsura.md"] -``` - -# Examples - -Here we include some well-known example multivariate polynomial systems. - -## Katsura-n - -These systems appeared in a problem of magnetism in physics. -For a given $n$ `katsura(n)` has $2^n$ solutions and is defined in a -polynomial ring with $n+1$ variables. For a given polynomial ring `R` -with $n$ variables `katsura(R)` defines the corresponding system with -$2^{n-1}$ solutions. - -### Functionality - -```@docs - katsura(n::Int) - katsura(R::MPolyRing) -``` - diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/normal-forms.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/normal-forms.md deleted file mode 100644 index bf04482..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/normal-forms.md +++ /dev/null @@ -1,44 +0,0 @@ -```@meta -CurrentModule = AlgebraicSolving -DocTestSetup = quote - using AlgebraicSolving -end -``` - -```@setup algebraicsolving -using AlgebraicSolving -``` - -```@contents -Pages = ["normal-forms.md"] -``` - -# Normal forms - -## Introduction - -AlgebraicSolving allows to compute normal forms of a polynomial resp. a finite -array of polynomials w.r.t. some given ideal over a finite field of -characteristic smaller $2^{31}$ w.r.t. the degree reverse lexicographical -monomial order. - -**Note:** It therefore might first compute a Gröbner bases for the ideal. -## Functionality - -```@docs - normal_form( - f::T, - I::Ideal{T}; - nr_thrds::Int=1, - info_level::Int=0 - ) where T <: MPolyRingElem -``` - -```@docs - normal_form( - F::Vector{T}, - I::Ideal{T}; - nr_thrds::Int=1, - info_level::Int=0 - ) where T <: MPolyRingElem -``` diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/solvers.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/solvers.md deleted file mode 100644 index 0017986..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/solvers.md +++ /dev/null @@ -1,57 +0,0 @@ -```@meta -CurrentModule = AlgebraicSolving -DocTestSetup = quote - using AlgebraicSolving -end -``` - -```@setup algebraicsolving -using AlgebraicSolving -``` - -```@contents -Pages = ["solvers.md"] -``` - -# Algebraic Systems Solving - -## Introduction - -AlgebraicSolving allows to solve systems for input generators over finite -fields of characteristic smaller $2^{31}$ and over the rationals. - -The underlying engine is provided by msolve. - -## Functionality - -```@docs - rational_parametrization( - I::Ideal{T} where T <: MPolyRingElem; - initial_hts::Int=17, - nr_thrds::Int=1, - max_nr_pairs::Int=0, - la_option::Int=2, - info_level::Int=0, - precision::Int=32 - ) - - real_solutions( - I::Ideal{T} where T <: MPolyRingElem; - initial_hts::Int=17, - nr_thrds::Int=1, - max_nr_pairs::Int=0, - la_option::Int=2, - info_level::Int=0, - precision::Int=32 - ) - rational_solutions( - I::Ideal{T} where T <: MPolyRingElem; - initial_hts::Int=17, - nr_thrds::Int=1, - max_nr_pairs::Int=0, - la_option::Int=2, - info_level::Int=0, - precision::Int=32 - ) -``` - diff --git a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/types.md b/src/connectcurves/AlgebraicSolving.jl-main/docs/src/types.md deleted file mode 100644 index 80fcd90..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/docs/src/types.md +++ /dev/null @@ -1,53 +0,0 @@ -```@meta -CurrentModule = AlgebraicSolving -DocTestSetup = quote - using AlgebraicSolving -end -``` - -```@setup algebraicsolving -using AlgebraicSolving -``` - -```@contents -Pages = ["types.md"] -``` - -# Data Types - -## Introduction - -AlgebraicSolving handles ideals in multivariate polynomial rings over a prime -field of characteristic $0$ or $p$ where $p$ is a prime number $<2^{31}$. - -## Polynomial Rings - -We use [Nemo](https://www.nemocas.org/index.html)'s multivariate polynomial -ring structures: - -```@repl -using AlgebraicSolving -R, (x,y,z) = polynomial_ring(QQ, ["x", "y", "z"], ordering=:degrevlex) -``` -The above example defines a multivariate polynomial ring in three variables `x`, -`y`, and `z` over the rationals using the dgree reverse lexicographical ordering -for printing polynomials in the following. One can also define polynomial rings -over finite fields: - -```@repl -using AlgebraicSolving -R, (x,y,z) = polynomial_ring(GF(101), ["x", "y", "z"], ordering=:degrevlex) -``` - -## Ideals - -Ideals can be constructed by giving an array of generators. Ideals cache varies -data structures connected to ideals in order to make computational algebra more -effective: - -```@repl -using AlgebraicSolving -R, (x,y,z) = polynomial_ring(QQ, ["x", "y", "z"], ordering=:degrevlex) -I = Ideal([x+y+1, y*z^2-13*y^2]) -``` - diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/AlgebraicSolving.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/AlgebraicSolving.jl deleted file mode 100644 index 54ddc46..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/AlgebraicSolving.jl +++ /dev/null @@ -1,21 +0,0 @@ -module AlgebraicSolving - -greet() = print("AlgebraicSolving -- a package for algebraic solving based on msolve") - -#= io =# -include("imports.jl") -include("exports.jl") -#= types =# -include("types.jl") -#= functionality =# -include("interfaces/nemo.jl" ) -include("algorithms/groebner-bases.jl") -include("algorithms/normal-forms.jl") -include("algorithms/solvers.jl") -#= siggb =# -include("siggb/siggb.jl") -#= examples =# -include("examples/katsura.jl") -include("examples/cyclic.jl") - -end # module AlgebraicSolving diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/groebner-bases.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/groebner-bases.jl deleted file mode 100644 index 3d2f495..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/groebner-bases.jl +++ /dev/null @@ -1,184 +0,0 @@ -import msolve_jll: libneogb - -export groebner_basis, eliminate - -@doc Markdown.doc""" - eliminate(I::Ideal{T} where T <: MPolyRingElem, eliminate::Int, ) - -Compute a Groebner basis of the ideal `I` w.r.t. to the product monomial ordering defined by two blocks -w.r.t. the degree reverse lexicographical monomial ordering using Faugère's F4 algorithm. Hereby the first block includes -the first `eliminate` variables. - -At the moment the underlying algorithm is based on variants of Faugère's F4 Algorithm. - -**Note**: At the moment only ground fields of characteristic `p`, `p` prime, `p < 2^{31}` are supported. - -# Arguments -- `I::Ideal{T} where T <: MPolyRingElem`: input generators. -- `initial_hts::Int=17`: initial hash table size `log_2`. -- `nr_thrds::Int=1`: number of threads for parallel linear algebra. -- `max_nr_pairs::Int=0`: maximal number of pairs per matrix, only bounded by minimal degree if `0`. -- `la_option::Int=2`: linear algebra option: exact sparse-dense (`1`), exact sparse (`2`, default), probabilistic sparse-dense (`42`), probabilistic sparse(`44`). -- `complete_reduction::Bool=true`: compute a reduced Gröbner basis for `I` -- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). - -# Examples -```jldoctest -julia> using AlgebraicSolving - -julia> R, (x,y,z) = polynomial_ring(GF(101),["x","y","z"], ordering=:degrevlex) -(Multivariate polynomial ring in 3 variables over GF(101), FqMPolyRingElem[x, y, z]) - -julia> I = Ideal([x+2*y+2*z-1, x^2+2*y^2+2*z^2-x, 2*x*y+2*y*z-y]) -FqMPolyRingElem[x + 2*y + 2*z + 100, x^2 + 2*y^2 + 2*z^2 + 100*x, 2*x*y + 2*y*z + 100*y] - -julia> eliminate(I, 2) -1-element Vector{FqMPolyRingElem}: - z^4 + 38*z^3 + 95*z^2 + 95*z -``` -""" -function eliminate( - I::Ideal{T} where T <: MPolyRingElem, - eliminate::Int; - initial_hts::Int=17, - nr_thrds::Int=1, - max_nr_pairs::Int=0, - la_option::Int=2, - complete_reduction::Bool=true, - info_level::Int=0 - ) - if eliminate <= 0 - error("Number of variables to be eliminated is <= 0.") - else - return groebner_basis(I, initial_hts=initial_hts, nr_thrds=nr_thrds, - max_nr_pairs=max_nr_pairs, la_option=la_option, - eliminate=eliminate, - complete_reduction=complete_reduction, - info_level=info_level) - end -end - -@doc Markdown.doc""" - groebner_basis(I::Ideal{T} where T <: MPolyRingElem, ) - -Compute a Groebner basis of the ideal `I` w.r.t. to the degree reverse lexicographical monomial ordering using Faugère's F4 algorithm. -At the moment the underlying algorithm is based on variants of Faugère's F4 Algorithm. - -**Note**: At the moment only ground fields of characteristic `p`, `p` prime, `p < 2^{31}` are supported. - -# Arguments -- `I::Ideal{T} where T <: MPolyRingElem`: input generators. -- `initial_hts::Int=17`: initial hash table size `log_2`. -- `nr_thrds::Int=1`: number of threads for parallel linear algebra. -- `max_nr_pairs::Int=0`: maximal number of pairs per matrix, only bounded by minimal degree if `0`. -- `la_option::Int=2`: linear algebra option: exact sparse-dense (`1`), exact sparse (`2`, default), probabilistic sparse-dense (`42`), probabilistic sparse(`44`). -- `eliminate::Int=0`: size of first block of variables to be eliminated. -- `complete_reduction::Bool=true`: compute a reduced Gröbner basis for `I` -- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). - -# Examples -```jldoctest -julia> using AlgebraicSolving - -julia> R, (x,y,z) = polynomial_ring(GF(101),["x","y","z"], ordering=:degrevlex) -(Multivariate polynomial ring in 3 variables over GF(101), FqMPolyRingElem[x, y, z]) - -julia> I = Ideal([x+2*y+2*z-1, x^2+2*y^2+2*z^2-x, 2*x*y+2*y*z-y]) -FqMPolyRingElem[x + 2*y + 2*z + 100, x^2 + 2*y^2 + 2*z^2 + 100*x, 2*x*y + 2*y*z + 100*y] - -julia> groebner_basis(I) -4-element Vector{FqMPolyRingElem}: - x + 2*y + 2*z + 100 - y*z + 82*z^2 + 10*y + 40*z - y^2 + 60*z^2 + 20*y + 81*z - z^3 + 28*z^2 + 64*y + 13*z - -julia> groebner_basis(I, eliminate=2) -1-element Vector{FqMPolyRingElem}: - z^4 + 38*z^3 + 95*z^2 + 95*z -``` -""" -function groebner_basis( - I::Ideal{T} where T <: MPolyRingElem; - initial_hts::Int=17, - nr_thrds::Int=1, - max_nr_pairs::Int=0, - la_option::Int=2, - eliminate::Int=0, - complete_reduction::Bool=true, - info_level::Int=0 - ) - - return get!(I.gb, eliminate) do - _core_groebner_basis(I, initial_hts = initial_hts, nr_thrds = nr_thrds, - max_nr_pairs = max_nr_pairs, la_option = la_option, - eliminate = eliminate, - complete_reduction = complete_reduction, - info_level = info_level) - end -end - -function _core_groebner_basis( - I::Ideal{T} where T <: MPolyRingElem; - initial_hts::Int=17, - nr_thrds::Int=1, - max_nr_pairs::Int=0, - la_option::Int=2, - eliminate::Int=0, - complete_reduction::Bool=true, - info_level::Int=0 - ) - - F = I.gens - R = first(F).parent - if F == [R(0)] - return F - end - nr_vars = nvars(R) - nr_gens = length(F) - field_char = Int(characteristic(R)) - - mon_order = 0 - elim_block_size = eliminate - reduce_gb = Int(complete_reduction) - - # convert ideal to flattened arrays of ints - if !(is_probable_prime(field_char)) - error("At the moment we only supports finite fields.") - end - - lens, cfs, exps = _convert_to_msolve(F) - - gb_ld = Ref(Cint(0)) - gb_len = Ref(Ptr{Cint}(0)) - gb_exp = Ref(Ptr{Cint}(0)) - gb_cf = Ref(Ptr{Cvoid}(0)) - - nr_terms = ccall((:export_f4, libneogb), Int, - (Ptr{Nothing}, Ptr{Cint}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cvoid}}, - Ptr{Cint}, Ptr{Cint}, Ptr{Cvoid}, Cint, Cint, Cint, Cint, Cint, Cint, - Cint, Cint, Cint, Cint, Cint, Cint, Cint), - cglobal(:jl_malloc), gb_ld, gb_len, gb_exp, gb_cf, lens, exps, cfs, - field_char, mon_order, elim_block_size, nr_vars, nr_gens, initial_hts, - nr_thrds, max_nr_pairs, 0, la_option, reduce_gb, 0, info_level) - - # convert to julia array, also give memory management to julia - jl_ld = gb_ld[] - jl_len = Base.unsafe_wrap(Array, gb_len[], jl_ld) - jl_exp = Base.unsafe_wrap(Array, gb_exp[], nr_terms*nr_vars) - ptr = reinterpret(Ptr{Int32}, gb_cf[]) - jl_cf = Base.unsafe_wrap(Array, ptr, nr_terms) - - basis = _convert_finite_field_array_to_abstract_algebra( - jl_ld, jl_len, jl_cf, jl_exp, R, eliminate) - - - ccall((:free_f4_julia_result_data, libneogb), Nothing , - (Ptr{Nothing}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cint}}, - Ptr{Ptr{Cvoid}}, Int, Int), - cglobal(:jl_free), gb_len, gb_exp, gb_cf, jl_ld, field_char) - - I.gb[eliminate] = basis - - return basis -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/normal-forms.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/normal-forms.jl deleted file mode 100644 index 36a7913..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/normal-forms.jl +++ /dev/null @@ -1,174 +0,0 @@ -import msolve_jll: libneogb - -export normal_form - -@doc Markdown.doc""" - normal_form( - f::T, - I::Ideal{T}; - nr_thrds::Int=1, - info_level::Int=0 - ) where T <: MPolyRingElem - -Compute the normal forms of the elements of `F` w.r.t. a degree reverse -lexicographical Gröbner basis of `I`. - -**Note:** If `I` has not already cached a degree reverse lexicographical -Gröbner basis, then this one is first computed. - -# Arguments -- `F::Vector{T} where T <: MPolyRingElem`: elements to be reduced. -- `I::Ideal{T} where T <: MPolyRingElem`: ideal data to reduce with. -- `nr_thrds::Int=1`: number of threads for parallel linear algebra. -- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). - -# Examples -```jldoctest -julia> using AlgebraicSolving - -julia> R, (x,y) = polynomial_ring(GF(101),["x","y"]) -(Multivariate polynomial ring in 2 variables over GF(101), FqMPolyRingElem[x, y]) - -julia> I = Ideal([y*x^3+12-y, x+y]) -FqMPolyRingElem[x^3*y + 100*y + 12, x + y] - -julia> f = 2*x^2+7*x*y -2*x^2 + 7*x*y - -julia> normal_form(f, I) -96*y^2 -``` -""" -function normal_form( - f::T, - I::Ideal{T}; - nr_thrds::Int=1, - info_level::Int=0 - ) where T <: MPolyRingElem - nf = _core_normal_form([f], I; nr_thrds, info_level) - return nf[1] -end - -@doc Markdown.doc""" - normal_form( - F::Vector{T}, - I::Ideal{T}; - nr_thrds::Int=1, - info_level::Int=0 - ) where T <: MPolyRingElem - -Compute the normal forms of the elements of `F` w.r.t. a degree reverse -lexicographical Gröbner basis of `I`. - -**Note:** If `I` has not already cached a degree reverse lexicographical -Gröbner basis, then this one is first computed. - -# Arguments -- `F::Vector{T} where T <: MPolyRingElem`: elements to be reduced. -- `I::Ideal{T} where T <: MPolyRingElem`: ideal data to reduce with. -- `nr_thrds::Int=1`: number of threads for parallel linear algebra. -- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). - -# Examples -```jldoctest -julia> using AlgebraicSolving - -julia> R, (x,y) = polynomial_ring(GF(101),["x","y"]) -(Multivariate polynomial ring in 2 variables over GF(101), FqMPolyRingElem[x, y]) - -julia> I = Ideal([y*x^3+12-y, x+y]) -FqMPolyRingElem[x^3*y + 100*y + 12, x + y] - -julia> F = [2*x^2+7*x*y, x+y] -2-element Vector{FqMPolyRingElem}: - 2*x^2 + 7*x*y - x + y - -julia> normal_form(F,I) -2-element Vector{FqMPolyRingElem}: - 96*y^2 - 0 -``` -""" -function normal_form( - F::Vector{T}, - I::Ideal{T}; - nr_thrds::Int=1, - info_level::Int=0 - ) where T <: MPolyRingElem - return _core_normal_form(F, I; nr_thrds, info_level) -end - -function _core_normal_form( - F::Vector{T}, - I::Ideal{T}; - nr_thrds::Int=1, - info_level::Int=0 - ) where T <: MPolyRingElem - - - if (length(F) == 0 || length(I.gens) == 0) - error("Input data not valid.") - end - - R = first(F).parent - nr_vars = nvars(R) - field_char = Int(characteristic(R)) - - if !(is_probable_prime(field_char)) - error("At the moment we only supports finite fields.") - end - - #= first get a degree reverse lexicographical Gröbner basis for I =# - if !haskey(I.gb, 0) - if field_char > 2^17 - groebner_basis(I, eliminate = 0, la_option = 44, info_level = info_level) - else - groebner_basis(I, eliminate = 0, la_option = 2, info_level = info_level) - end - end - G = I.gb[0] - - if G == [R(0)] - return F - end - - tbr_nr_gens = length(F) - bs_nr_gens = length(G) - is_gb = 1 - - # convert ideal to flattened arrays of ints - tbr_lens, tbr_cfs, tbr_exps = _convert_to_msolve(F) - bs_lens, bs_cfs, bs_exps = _convert_to_msolve(G) - - nf_ld = Ref(Cint(0)) - nf_len = Ref(Ptr{Cint}(0)) - nf_exp = Ref(Ptr{Cint}(0)) - nf_cf = Ref(Ptr{Cvoid}(0)) - - nr_terms = ccall((:export_nf, libneogb), Int, - (Ptr{Nothing}, Ptr{Cint}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cvoid}}, - Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cvoid}, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cvoid}, - Cint, Cint, Cint, Cint, Cint, Cint, Cint), - cglobal(:jl_malloc), nf_ld, nf_len, nf_exp, nf_cf, tbr_nr_gens, tbr_lens, tbr_exps, - tbr_cfs, bs_nr_gens, bs_lens, bs_exps, bs_cfs, field_char, 0, 0, nr_vars, is_gb, - nr_thrds, info_level) - - # convert to julia array, also give memory management to julia - jl_ld = nf_ld[] - jl_len = Base.unsafe_wrap(Array, nf_len[], jl_ld) - jl_exp = Base.unsafe_wrap(Array, nf_exp[], nr_terms*nr_vars) - ptr = reinterpret(Ptr{Int32}, nf_cf[]) - jl_cf = Base.unsafe_wrap(Array, ptr, nr_terms) - - basis = _convert_finite_field_array_to_abstract_algebra( - jl_ld, jl_len, jl_cf, jl_exp, R, 0) - - ccall((:free_f4_julia_result_data, libneogb), Nothing , - (Ptr{Nothing}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cint}}, - Ptr{Ptr{Cvoid}}, Int, Int), - cglobal(:jl_free), nf_len, nf_exp, nf_cf, jl_ld, field_char) - - return basis -end - diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl deleted file mode 100644 index 5051541..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/algorithms/solvers.jl +++ /dev/null @@ -1,435 +0,0 @@ -import msolve_jll: libmsolve - -export inter_solutions, real_solutions, rational_solutions, rational_parametrization - -@doc Markdown.doc""" - _get_rational_parametrization(nr::Int32, lens::Vector{Int32}, cfs::Ptr{BigInt}) - -Construct the rational parametrization of the solution set computed via msolve. - -**Note**: This is an internal function and should only be used inside `msolve()`. -""" -function _get_rational_parametrization( - nr::Int32, - lens::Vector{Int32}, - cfs::Ptr{BigInt}, - cfs_lf::Ptr{BigInt}, - nr_vars::Int32 - ) - if cfs_lf != Ptr{BigInt}(0) - lf = [ZZRingElem(unsafe_load(cfs_lf, i)) for i in 1:nr_vars] - else - lf = ZZRingElem[] - end - C, x = polynomial_ring(QQ,"x") - ctr = 0 - - elim = C([unsafe_load(cfs, i) for i in 1:lens[1]]) - ctr += lens[1] - - denom = C([unsafe_load(cfs, i+ctr) for i in 1:lens[2]]) - ctr += lens[2] - - size = nr-2 - p = Vector{PolyRingElem}(undef, size) - k = 1 - for i in 3:nr - p[k] = C([unsafe_load(cfs, j+ctr) for j in 1:lens[i]-1]) - # multiply parametrization polynomial directly with - # corresponding coefficients - p[k] *= (-1) * ZZRingElem(unsafe_load(cfs, lens[i]+ctr)) - ctr += lens[i] - k += 1 - end - - return lf, elim, denom, p -end - -@doc Markdown.doc""" - _core_msolve(I::Ideal{T} where T <: MPolyRingElem, ) - -Compute a rational parametrization and the real solutions of the ideal `I` via msolve. - -**Note**: This is an internal function. -""" -function _core_msolve( - I::Ideal{T} where T <: MPolyRingElem; # input generators - initial_hts::Int=17, # hash table size, default 2^17 - nr_thrds::Int=1, # number of threads - max_nr_pairs::Int=0, # number of pairs maximally chosen - # in symbolic preprocessing - la_option::Int=2, # linear algebra option - info_level::Int=0, # info level for print outs - precision::Int=32 # precision of the solution set - ) - - F = I.gens - R = first(F).parent - nr_vars = nvars(R) - nr_gens = length(F) - field_char = Int(characteristic(R)) - - variable_names = map(string, R.S) - - #= add new variables and linear forms, =# - genericity_handling = 2 - - reset_ht = 0 - print_gb = 0 - get_param = 1 - - mon_order = 0 - elim_block_size = 0 - use_signatures = 0 - - if field_char != 0 - error("At the moment we only support the rationals as ground field.") - end - # convert Singular ideal to flattened arrays of ints - lens, cfs, exps = _convert_to_msolve(F) - - res_ld = Ref(Cint(0)) - res_nr_vars = Ref(Cint(0)) - res_dim = Ref(Cint(0)) - res_dquot = Ref(Cint(0)) - nb_sols = Ref(Cint(0)) - res_len = Ref(Ptr{Cint}(0)) - res_vnames = Ref(Ptr{Ptr{Cchar}}(0)) - res_cf_lf = Ref(Ptr{Cvoid}(0)) - res_cf = Ref(Ptr{Cvoid}(0)) - sols_num = Ref(Ptr{Cvoid}(0)) - sols_den = Ref(Ptr{Cint}(0)) - - ccall((:msolve_julia, libmsolve), Cvoid, - (Ptr{Nothing}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Ptr{Cint}}, - Ptr{Ptr{Ptr{Cchar}}}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}, Ptr{Ptr{Cint}}, Ptr{Cint}, - Ptr{Cint}, Ptr{Cvoid}, Ptr{Ptr{Cchar}}, Ptr{Cchar}, Cint, Cint, - Cint, Cint, Cint, Cint, Cint, Cint, Cint, Cint, Cint, Cint, Cint, - Cint, Cint, Cint), - cglobal(:jl_malloc), res_ld, res_nr_vars, res_dim, res_dquot, res_len, res_vnames, - res_cf_lf, res_cf, - nb_sols, sols_num, sols_den, lens, exps, cfs, variable_names, - "/dev/null", field_char, mon_order, elim_block_size, nr_vars, - nr_gens, initial_hts, nr_thrds, max_nr_pairs, reset_ht, la_option, - use_signatures, print_gb, get_param, genericity_handling, precision, - info_level) - # convert to julia array, also give memory management to julia - jl_ld = res_ld[] - jl_rp_nr_vars = res_nr_vars[] - jl_dim = res_dim[] - jl_dquot = res_dquot[] - jl_nb_sols = nb_sols[] - - # set dimension - I.dim = jl_dim - if jl_dim > 0 - error("Dimension of ideal is greater than zero, no solutions provided.") - end - - # get rational parametrization - jl_len = Base.unsafe_wrap(Array, res_len[], jl_ld) - nterms = 0 - - if jl_dquot == 0 - C,x = polynomial_ring(QQ,"x") - I.rat_param = RationalParametrization(Symbol[], ZZRingElem[], C(-1), C(-1), PolyRingElem[]) - I.real_sols = QQFieldElem[] - return I.rat_param, I.real_sols - end - [nterms += jl_len[i] for i=1:jl_ld] - jl_cf = reinterpret(Ptr{BigInt}, res_cf[]) - jl_cf_lf = reinterpret(Ptr{BigInt}, res_cf_lf[]) - - jl_vnames = Base.unsafe_wrap(Array, res_vnames[], jl_rp_nr_vars) - - vsymbols = [Symbol(unsafe_string(jl_vnames[i])) for i in 1:jl_rp_nr_vars] - #= get possible variable permutation =# - perm = sortperm(vsymbols[1:nr_vars]) - - rat_param = _get_rational_parametrization(jl_ld, jl_len, - jl_cf, jl_cf_lf, jl_rp_nr_vars) - - I.rat_param = RationalParametrization(vsymbols, rat_param[1],rat_param[2], - rat_param[3], rat_param[4]) - if jl_nb_sols == 0 - I.real_sols = QQFieldElem[] - I.inter_sols = QQFieldElem[] - return rat_param, Vector{QQFieldElem}[] - end - - # get solutions - jl_sols_num = reinterpret(Ptr{BigInt}, sols_num[]) - jl_sols_den = reinterpret(Ptr{Int32}, sols_den[]) - # elseif is_prime(field_char) - # jl_cf = reinterpret(Ptr{Int32}, res_cf[]) - # jl_sols_num = reinterpret(Ptr{Int32}, sols_num[]) - # end - - #= solutions are returned as intervals, i.e. a minimum and a maximum entry for - = the numerator and denominator; thus we sum up and divide by 2 =# - - inter_solutions = Vector{Vector{Vector{QQFieldElem}}}(undef, jl_nb_sols) - solutions = Vector{Vector{QQFieldElem}}(undef, jl_nb_sols) - - len = 2*jl_nb_sols*nr_vars - i = 1 - k = 1 - while i <= len - j = 1 - inter_tmp = Vector{Vector{QQFieldElem}}(undef, nr_vars) - tmp = Vector{QQFieldElem}(undef, nr_vars) - while j <= nr_vars - inter_tmp_coeff = Vector{QQFieldElem}(undef, 2) - inter_tmp_coeff[1] = QQFieldElem(unsafe_load(jl_sols_num, i)) >> Int64(unsafe_load(jl_sols_den, i)) - inter_tmp_coeff[2] = QQFieldElem(unsafe_load(jl_sols_num, i+1)) >> Int64(unsafe_load(jl_sols_den, i+1)) - inter_tmp[perm[j]] = inter_tmp_coeff - tmp[perm[j]] = sum(inter_tmp_coeff) >> 1 - i += 2 - j += 1 - end - inter_solutions[k] = inter_tmp - solutions[k] = tmp - k += 1 - end - I.inter_sols = inter_solutions - I.real_sols = solutions - - ccall((:free_msolve_julia_result_data, libmsolve), Nothing , - (Ptr{Nothing}, Ptr{Ptr{Cint}}, Ptr{Ptr{Cvoid}}, - Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cint}}, Cint, Cint, Cint), - cglobal(:jl_free), res_len, res_cf, sols_num, sols_den, - jl_ld, jl_nb_sols, field_char) - - return rat_param, solutions -end - -@doc Markdown.doc""" - rational_parametrization(I::Ideal{T} where T <: MPolyRingElem, ) - -Given an ideal `I` with a finite solution set over the complex numbers, return -the rational parametrization of the ideal with a given precision (default 32 bits). - -**Note**: At the moment only QQ is supported as ground field. If the dimension of the ideal -is greater then zero an empty array is returned. - -# Arguments -- `I::Ideal{T} where T <: MPolyRingElem`: input generators. -- `initial_hts::Int=17`: initial hash table size `log_2`. -- `nr_thrds::Int=1`: number of threads for parallel linear algebra. -- `max_nr_pairs::Int=0`: maximal number of pairs per matrix, only bounded by minimal degree if `0`. -- `la_option::Int=2`: linear algebra option: exact sparse-dense (`1`), exact sparse (`2`, default), probabilistic sparse-dense (`42`), probabilistic sparse(`44`). -- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). -- `precision::Int=32`: bit precision for the computed solutions. - -# Examples -```jldoctest -julia> using AlgebraicSolving - -julia> R,(x1,x2,x3) = polynomial_ring(QQ, ["x1","x2","x3"]) -(Multivariate polynomial ring in 3 variables over QQ, QQMPolyRingElem[x1, x2, x3]) - -julia> I = Ideal([x1+2*x2+2*x3-1, x1^2+2*x2^2+2*x3^2-x1, 2*x1*x2+2*x2*x3-x2]) -QQMPolyRingElem[x1 + 2*x2 + 2*x3 - 1, x1^2 - x1 + 2*x2^2 + 2*x3^2, 2*x1*x2 + 2*x2*x3 - x2] - -julia> rational_parametrization(I) -AlgebraicSolving.RationalParametrization([:x1, :x2, :x3], ZZRingElem[], 84*x^4 - 40*x^3 + x^2 + x, 336*x^3 - 120*x^2 + 2*x + 1, AbstractAlgebra.PolyRingElem[184*x^3 - 80*x^2 + 4*x + 1, 36*x^3 - 18*x^2 + 2*x]) -``` -""" -function rational_parametrization( - I::Ideal{T} where T <: MPolyRingElem; # input generators - initial_hts::Int=17, # hash table size, default 2^17 - nr_thrds::Int=1, # number of threads - max_nr_pairs::Int=0, # number of pairs maximally chosen - # in symbolic preprocessing - la_option::Int=2, # linear algebra option - info_level::Int=0, # info level for print outs - precision::Int=32 # precision of the solution set - ) - - isdefined(I, :rat_param) || - _core_msolve(I, - initial_hts = initial_hts, - nr_thrds = nr_thrds, - max_nr_pairs = max_nr_pairs, - la_option = la_option, - info_level = info_level, - precision = precision) - - return I.rat_param -end - - -@doc Markdown.doc""" - rational_solutions(I::Ideal{T} where T <: MPolyRingElem, ) - -Given an ideal `I` with a finite solution set over the complex numbers, return -the rational roots of the ideal. - -# Arguments -- `I::Ideal{T} where T <: MPolyRingElem`: input generators. -- `initial_hts::Int=17`: initial hash table size `log_2`. -- `nr_thrds::Int=1`: number of threads for parallel linear algebra. -- `max_nr_pairs::Int=0`: maximal number of pairs per matrix, only bounded by minimal degree if `0`. -- `la_option::Int=2`: linear algebra option: exact sparse-dense (`1`), exact sparse (`2`, default), probabilistic sparse-dense (`42`), probabilistic sparse(`44`). -- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). -- `precision::Int=32`: bit precision for the computed solutions. - -# Examples -```jldoctest -julia> using AlgebraicSolving - -julia> R,(x1,x2,x3) = polynomial_ring(QQ, ["x1","x2","x3"]) -(Multivariate polynomial ring in 3 variables over QQ, QQMPolyRingElem[x1, x2, x3]) - -julia> I = Ideal([x1+2*x2+2*x3-1, x1^2+2*x2^2+2*x3^2-x1, 2*x1*x2+2*x2*x3-x2]) -QQMPolyRingElem[x1 + 2*x2 + 2*x3 - 1, x1^2 - x1 + 2*x2^2 + 2*x3^2, 2*x1*x2 + 2*x2*x3 - x2] - -julia> rat_sols = rational_solutions(I) -2-element Vector{Vector{QQFieldElem}}: - [1, 0, 0] - [1//3, 0, 1//3] - -julia> map(r->map(p->evaluate(p, r), I.gens), rat_sols) -2-element Vector{Vector{QQFieldElem}}: - [0, 0, 0] - [0, 0, 0] -``` -""" -function rational_solutions( - I::Ideal{T} where T <: MPolyRingElem; # input generators - initial_hts::Int=17, # hash table size, default 2^17 - nr_thrds::Int=1, # number of threads - max_nr_pairs::Int=0, # number of pairs maximally chosen - # in symbolic preprocessing - la_option::Int=2, # linear algebra option - info_level::Int=0, # info level for print outs - precision::Int=32 # precision of the solution set - ) - isdefined(I, :rat_param) || - _core_msolve(I, - initial_hts = initial_hts, - nr_thrds = nr_thrds, - max_nr_pairs = max_nr_pairs, - la_option = la_option, - info_level = info_level, - precision = precision) - param_t = I.rat_param - - nvars = length(param_t.vars) - lpol = filter(l->degree(l) == 1, keys(factor(param_t.elim).fac)) - nb = length(lpol) - - rat_elim = [-coeff(l, 0)// coeff(l, 1) for l in lpol] - rat_den = map(l->evaluate(param_t.denom, l), rat_elim) - rat_num = map(r->map(l->evaluate(l, r), param_t.param), rat_elim) - - rat_sols = Vector{Vector{QQFieldElem}}(undef, nb) - - if length(param_t.vars) == parent(I).nvars - - for i in 1:nb - rat_sols[i] = Vector{QQFieldElem}(undef, nvars) - for j in 1:(nvars-1) - rat_sols[i][j] = rat_num[i][j] // rat_den[i] - end - rat_sols[i][nvars] = rat_elim[i] - end - - else - - for i in 1:nb - rat_sols[i] = Vector{QQFieldElem}(undef, nvars - 1) - for j in 1:(nvars-1) - rat_sols[i][j] = rat_num[i][j] // rat_den[i] - end - end - - end - - I.rat_sols = rat_sols - - return I.rat_sols -end - - -@doc Markdown.doc""" - real_solutions(I::Ideal{T} where T <: MPolyRingElem, ) - -Given an ideal `I` with a finite solution set over the complex numbers, return -the real roots of the ideal with a given precision (default 32 bits). - -**Note**: At the moment only QQ is supported as ground field. If the dimension of the ideal -is greater than zero an empty array is returned. - -# Arguments -- `I::Ideal{T} where T <: MPolyRingElem`: input generators. -- `initial_hts::Int=17`: initial hash table size `log_2`. -- `nr_thrds::Int=1`: number of threads for parallel linear algebra. -- `max_nr_pairs::Int=0`: maximal number of pairs per matrix, only bounded by minimal degree if `0`. -- `la_option::Int=2`: linear algebra option: exact sparse-dense (`1`), exact sparse (`2`, default), probabilistic sparse-dense (`42`), probabilistic sparse(`44`). -- `info_level::Int=0`: info level printout: off (`0`, default), summary (`1`), detailed (`2`). -- `precision::Int=32`: bit precision for the computed solutions. - -# Examples -```jldoctest -julia> using AlgebraicSolving - -julia> R,(x1,x2,x3) = polynomial_ring(QQ, ["x1","x2","x3"]) -(Multivariate polynomial ring in 3 variables over QQ, QQMPolyRingElem[x1, x2, x3]) - -julia> I = Ideal([x1+2*x2+2*x3-1, x1^2+2*x2^2+2*x3^2-x1, 2*x1*x2+2*x2*x3-x2]) -QQMPolyRingElem[x1 + 2*x2 + 2*x3 - 1, x1^2 - x1 + 2*x2^2 + 2*x3^2, 2*x1*x2 + 2*x2*x3 - x2] - -julia> real_solutions(I) -4-element Vector{Vector{QQFieldElem}}: - [5416829397//8589934592, 2708414699//8589934592, -2844258330290649520990905062759917788583//21778071482940061661655974875633165533184] - [1, 0, 0] - [1945971683//8589934592, 972985841//8589934592, 744426424910260862653434112767010536665//2722258935367507707706996859454145691648] - [2863311531//8589934592, 0, 3629678580490010276942662479272194255531//10889035741470030830827987437816582766592] -``` -""" -function real_solutions( - I::Ideal{T} where T <: MPolyRingElem; # input generators - initial_hts::Int=17, # hash table size, default 2^17 - nr_thrds::Int=1, # number of threads - max_nr_pairs::Int=0, # number of pairs maximally chosen - # in symbolic preprocessing - la_option::Int=2, # linear algebra option - info_level::Int=0, # info level for print outs - precision::Int=32 # precision of the solution set - ) - - isdefined(I, :real_sols) || - _core_msolve(I, - initial_hts = initial_hts, - nr_thrds = nr_thrds, - max_nr_pairs = max_nr_pairs, - la_option = la_option, - info_level = info_level, - precision = precision) - - return I.real_sols -end - -function inter_solutions( - I::Ideal{T} where T <: MPolyRingElem; # input generators - initial_hts::Int=17, # hash table size, default 2^17 - nr_thrds::Int=1, # number of threads - max_nr_pairs::Int=0, # number of pairs maximally chosen - # in symbolic preprocessing - la_option::Int=2, # linear algebra option - info_level::Int=0, # info level for print outs - precision::Int=32 # precision of the solution set - ) - - isdefined(I, :inter_sols) || - _core_msolve(I, - initial_hts = initial_hts, - nr_thrds = nr_thrds, - max_nr_pairs = max_nr_pairs, - la_option = la_option, - info_level = info_level, - precision = precision) - - return I.inter_sols -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/examples/cyclic.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/examples/cyclic.jl deleted file mode 100644 index 10c539c..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/examples/cyclic.jl +++ /dev/null @@ -1,23 +0,0 @@ -@doc Markdown.doc""" - cyclic(R::MPolyRing) - -Return the Cyclic ideal in the variables of `R`. - -# Example -```jldoctest -julia> using AlgebraicSolving - -julia> R, vars = polynomial_ring(QQ, ["x$i" for i in 1:4]) -(Multivariate polynomial ring in 4 variables over QQ, QQMPolyRingElem[x1, x2, x3, x4]) - -julia> cyclic(R) -QQMPolyRingElem[x1 + x2 + x3 + x4, x1*x2 + x1*x4 + x2*x3 + x3*x4, x1*x2*x3 + x1*x2*x4 + x1*x3*x4 + x2*x3*x4, x1*x2*x3*x4 - 1] -``` -""" -function cyclic(R::MPolyRing) - vars = gens(R) - n = length(vars) - pols = [sum(prod(vars[j%n+1] for j in k:k+i) for k in 1:n) for i in 0:n-2] - push!(pols, prod(vars[i] for i in 1:n)-1) - return Ideal(pols) -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/examples/katsura.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/examples/katsura.jl deleted file mode 100644 index 07b6d0a..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/examples/katsura.jl +++ /dev/null @@ -1,90 +0,0 @@ -export katsura - -function _get_katsura_exponent(n::Int, m::Int, l::Int) - e = zeros(Int, n + 1) - if abs(l) == abs(m - l) - e[abs(l) + 1] = 2 - else - e[abs(l) + 1] = 1 - e[abs(m - l) + 1] = 1 - end - - return e -end - -@doc Markdown.doc""" - katsura(n::Int) - -Given a natural number `n` returns the Katsura ideal generated by -$u_m - \sum_{l=n}^n u_{l-m} u_l$, $1 - \sum_{l = -n}^n u_l$ -where $u_{-i} = u_i$, and $u_i = 0$ for $i > n$ and $m \in \{-n, \ldots, n\}$. -Also note that indices have been shifted to start from 1. - -# Example -```jldoctest -julia> using AlgebraicSolving - -julia> katsura(2) -QQMPolyRingElem[x1 + 2*x2 + 2*x3 - 1, x1^2 + 2*x2^2 + 2*x3^2 - x1, 2*x1*x2 + 2*x2*x3 - x2] -``` -""" -function katsura(log_solutions::Int, characteristic::Int=0) - if characteristic == 0 - R, _ = polynomial_ring(QQ, log_solutions + 1, ordering=:degrevlex) - elseif is_probable_prime(characteristic) - R, _ = polynomial_ring(GF(characteristic), log_solutions + 1, ordering=:degrevlex) - else - error("We only support finite fields or QQ as ground fields.") - end - - return katsura(R) -end - -@doc Markdown.doc""" - katsura(R::MPolyRing) - -Returns the Katsura ideal in the given polynomial ring `R`. - -# Example -```jldoctest -julia> using AlgebraicSolving - -julia> R, _ = QQ["x", "y", "z"] -(Multivariate polynomial ring in 3 variables over QQ, QQMPolyRingElem[x, y, z]) - -julia> katsura(R) -QQMPolyRingElem[x + 2*y + 2*z - 1, x^2 - x + 2*y^2 + 2*z^2, 2*x*y + 2*y*z - y] -``` -""" -function katsura(R::MPolyRing) - CR = base_ring(R) - polys = elem_type(R)[] - n = nvars(R) - 1 - coeffs_vec = 2 * fill(CR(1), n + 1) - coeffs_vec[1] = CR(1) - mono_exps = Matrix(1I, n+1, n+1) - #= mono_exps = Matrix{Int}(identity_matrix(ZZ, n + 1)) =# - linear_poly = R(coeffs_vec, [mono_exps[:, i] for i in 1:n+1]) - linear_poly -= R(1) - push!(polys, linear_poly) - - for m in 0:n - 1 - polynomial = MPolyBuildCtx(R) - for l in -n:n - if abs(l) > n || abs(m - l) > n - continue - end - e = _get_katsura_exponent(n, m, l) - push_term!(polynomial, CR(1), e) - end - - e = zeros(Int, n + 1) - e[abs(m) + 1] = 1 - push_term!(polynomial, CR(-1), e) - poly = finish(polynomial) - push!(polys, poly) - end - - return Ideal(polys) -end - diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/exports.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/exports.jl deleted file mode 100644 index 9346798..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/exports.jl +++ /dev/null @@ -1,4 +0,0 @@ -export polynomial_ring, MPolyRing, GFElem, MPolyRingElem, finite_field, GF, fpMPolyRingElem, - characteristic, degree, ZZ, QQ, vars, nvars, ngens, ZZRingElem, QQFieldElem, QQMPolyRingElem, - base_ring, coefficient_ring, evaluate, prime_field, sig_groebner_basis, cyclic, leading_coefficient, - FqMPolyRingElem, derivative diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/imports.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/imports.jl deleted file mode 100644 index ccf335a..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/imports.jl +++ /dev/null @@ -1,61 +0,0 @@ -using Markdown -using Test -using msolve_jll -using Nemo -using LinearAlgebra -using StaticArrays -using LoopVectorization - -import Random: MersenneTwister -import Logging: ConsoleLogger, with_logger, Warn, Info -import Printf: @sprintf - -import Nemo: - bell, - binomial, - degree, - denominator, - divexact, - divides, - divisor_sigma, - euler_phi, - evaluate, - factorial, - fibonacci, - fits, - fpMPolyRingElem, - fqPolyRepFieldElem, - fraction_field, - GF, - height, - is_prime, - is_probable_prime, - is_square, - is_unit, - isqrtrem, - jacobi_symbol, - leading_coefficient, - matrix_space, - moebius_mu, - MPolyRing, - MPolyRingElem, - number_of_partitions, - numerator, - polynomial_ring, - PolyRing, - PolyRingElem, - prime_field, - primorial, - QQ, - QQField, - QQFieldElem, - QQMatrix, - QQMPolyRingElem, - rising_factorial, - root, - unit, - vars, - ZZ, - ZZMatrix, - ZZRing, - ZZRingElem diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/interfaces/nemo.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/interfaces/nemo.jl deleted file mode 100644 index 1078047..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/interfaces/nemo.jl +++ /dev/null @@ -1,118 +0,0 @@ - -@doc Markdown.doc""" - _convert_to_msolve( - F::Vector{T}) where T <: MPolyRingElem - -Convert a vector of polynomials to input data for msolve. - -**Note**: This is an internal function. -""" -function _convert_to_msolve( - F::Vector{T}) where T <: MPolyRingElem - - R = parent(first(F)) - - nr_vars = nvars(R) - nr_gens = length(F) - lens = Int32[length(F[i]) for i in 1:nr_gens] - nr_terms = sum(lens) - field_char = characteristic(R) - - if field_char > 2^31 || degree(base_ring(R)) != 1 - error("At the moment we only support prime fields up to prime characteristic < 2^31.") - end - # get coefficients - if field_char == 0 - cfs = BigInt[] - else - cfs = Int32[] - end - if field_char == 0 - for i in 1:nr_gens - for cf in coefficients(F[i]) - push!(cfs, BigInt(numerator(cf))) - push!(cfs, BigInt(denominator(cf))) - end - end - else - for i in 1:nr_gens - for cf in coefficients(F[i]) - push!(cfs, Int32(lift(Nemo.ZZ, cf))) - end - end - end - - # get exponent vectors - exps = Int32[] - for i in 1:nr_gens - for ev in exponent_vectors(F[i]) - append!(exps, convert(Vector{Int32}, ev)) - end - end - - return lens, cfs, exps -end - -@doc Markdown.doc""" - _convert_finite_field_gb_to_abstract_algebra( - bld::Int32, - blen::Vector{Int32}, - bcf::Vector{Int32}, - bexp::Vector{Int32}, - R::MPolyRing, - eliminate::Int=0 - ) - -Converts a finite Gröbner basis computed internally via msolve -to a vector of polynomials. - -**Note**: This is an internal function. -""" -function _convert_finite_field_array_to_abstract_algebra( - bld::Int32, - blen::Vector{Int32}, - bcf::Vector{Int32}, - bexp::Vector{Int32}, - R::MPolyRing, - eliminate::Int=0 - ) - - if characteristic(R) == 0 - error("At the moment we only support finite fields.") - end - - nr_gens = bld - nr_vars = nvars(R) - CR = coefficient_ring(R) - - basis = (typeof(R(0)))[] - #= basis = Vector{MPolyRingElem}(undef, bld) =# - - len = 0 - - if eliminate > 0 - z = zeros(Int, eliminate) - end - for i in 1:nr_gens - #= check if element is part of the eliminated basis =# - if eliminate > 0 - cmp = convert(Vector{Int}, bexp[(len)*nr_vars+1:(len+1)*nr_vars]) - if cmp[1:eliminate] > z - continue - end - end - g = MPolyBuildCtx(R) - if bcf[len+1] == 0 - g.poly = R(0) - else - for j in 1:blen[i] - push_term!(g, CR(bcf[len+j]), - convert(Vector{Int}, bexp[(len+j-1)*nr_vars+1:(len+j)*nr_vars])) - end - end - len += blen[i] - push!(basis, g.poly) - end - - return basis -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/hashtable.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/hashtable.jl deleted file mode 100644 index 3f9d955..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/hashtable.jl +++ /dev/null @@ -1,472 +0,0 @@ -# TAKEN AND ADJUSTED FROM GROEBNER.JL BY ALEXANDER DEMIN -# MIT License - -# Copyright (c) 2022 Alexander Demin - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -mutable struct Hashvalue - hash::MonHash - divmask::DivMask -end - -function copy_hashvalue(x::Hashvalue) - Hashvalue(x.hash, x.divmask) -end - -# Hashtable designed to store monomials -mutable struct MonomialHashtable{N} - exponents::Vector{Monomial{N}} - - # for buffering exponent vectors during certain operations - buffer::MVector{N, Exp} - - # maps exponent hash to its position in exponents array - hashtable::Vector{MonIdx} - - # stores hashes, division masks, - # and other valuable info - # for each hashtable enrty - hashdata::Vector{Hashvalue} - - #= Monom divisibility =# - # divisor map to check divisibility faster - divmap::Vector{UInt32} - # bits per div variable - ndivbits::Int - - size::Int - # elements added - load::Int -end - -#------------------------------------------------------------------------------ - -# Returns the next look-up position in the table -function nexthashindex(h::MonHash, j::MonHash, mod::MonHash) - (h + j) & mod + MonHash(1) -end - -#------------------------------------------------------------------------------ - -# initialize and set fields for basis hashtable -function initialize_basis_hash_table(::Val{N}) where N - - # for now at most 32 variables - if N > 32 - error("At most 32 variables currently supported.") - end - - # not necessary to create `initial_size` exponents - exponents = Vector{Monomial{N}}(undef, init_ht_size) - hashdata = Vector{Hashvalue}(undef, init_ht_size) - hashtable = zeros(MonIdx, init_ht_size) - - # exponents[1:load] cover all stored exponents - load = 0 - size = init_ht_size - - # initialize fast divisibility params - int32bits = 32 - ndivbits = div(int32bits, N) - # division mask stores at least 1 bit - # per each of first ndivvars variables - ndivbits == 0 && (ndivbits += 1) - divmap = Vector{DivMask}(undef, N * ndivbits) - - # first stored exponent used as buffer lately - buffer = MVector{N}(zeros(Exp, N)) - - MonomialHashtable{N}(exponents, buffer, hashtable, - hashdata, divmap, ndivbits, - size, load) -end - -# initialize hashtable for `symbolic_preprocessing` -# These are of the same purpose and structure as basis hashtable, -# but are more local oriented -function initialize_secondary_hash_table(basis_ht::MonomialHashtable{N}) where {N} - # 2^6 seems to be the best out of 2^5, 2^6, 2^7 - initial_size = 2^6 - - exponents = Vector{Monomial{N}}(undef, initial_size) - hashdata = Vector{Hashvalue}(undef, initial_size) - hashtable = zeros(MonIdx, initial_size) - - # preserve division info - divmap = basis_ht.divmap - ndivbits = basis_ht.ndivbits - - load = 0 - size = initial_size - - buffer = MVector{N}(zeros(Exp, N)) - - MonomialHashtable(exponents, buffer, hashtable, - hashdata, divmap, ndivbits, - size, load) -end - -function select_tablesize(nvars, syssize) - nvars = ring.nvars - tablesize = 2^10 - if nvars > 4 - tablesize = 2^14 - end - if nvars > 7 - tablesize = 2^16 - end - - if syssize < 3 - tablesize = div(tablesize, 2) - end - if syssize < 2 - tablesize = div(tablesize, 2) - end - - return tablesize -end - -#------------------------------------------------------------------------------ - -ht_resize_threshold() = 0.4 -ht_needs_resize(size, load, added) = (load + added)/size > ht_resize_threshold() - -function check_enlarge_hashtable!(ht::MonomialHashtable, added::Integer) - newsize = ht.size - while ht_needs_resize(newsize, ht.load, added) - newsize *= 2 - end - if newsize != ht.size - ht.size = newsize - @assert ispow2(ht.size) - - resize!(ht.hashdata, ht.size) - resize!(ht.exponents, ht.size) - ht.hashtable = zeros(Int, ht.size) - - mod = MonHash(ht.size - 1) - - for i in 1:ht.load - # hash for this elem is already computed - he = ht.hashdata[i].hash - hidx = he - @inbounds for j in MonHash(1):MonHash(ht.size) - hidx = nexthashindex(he, j, mod) - !iszero(ht.hashtable[hidx]) && continue - ht.hashtable[hidx] = i - break - end - end - end - nothing -end - -#------------------------------------------------------------------------------ - -# if hash collision happened -function ishashcollision(ht::MonomialHashtable{N}, vidx, exps, he) where N - # if not free and not same hash - @inbounds if ht.hashdata[vidx].hash != he - return true - end - # if not free and not same monomial - # TODO: is this shitty? - @inbounds for i in 1:N - if ht.exponents[vidx].exps[i] != exps[i] - return true - end - end - return false -end - -function insert_in_hash_table!(ht::MonomialHashtable{N}, e::Monomial{N}) where {N} - # generate hash - he = Base.hash(e) - - # find new elem position in the table - hidx = he - # power of twoooo - @assert ispow2(ht.size) - mod = MonHash(ht.size - 1) - i = MonHash(1) - hsize = MonHash(ht.size) - - @inbounds while i < hsize - hidx = nexthashindex(he, i, mod) - - vidx = ht.hashtable[hidx] - - # if free - iszero(vidx) && break - - # if not free and not same hash - if ishashcollision(ht, vidx, e.exps, he) - i += MonHash(1) - continue - end - - # already present in hashtable - return vidx - end - - # add its position to hashtable, and insert exponent to that position - vidx = MonIdx(ht.load + 1) - @inbounds ht.hashtable[hidx] = vidx - @inbounds ht.exponents[vidx] = e - divm = divmask(e, ht.divmap, ht.ndivbits) - @inbounds ht.hashdata[vidx] = Hashvalue(he, divm) - - ht.load += 1 - - return vidx -end - -function find_in_hash_table(ht::MonomialHashtable{N}, e::Monomial{N}) where {N} - # generate hash - he = Base.hash(e) - - # find new elem position in the table - hidx = he - # power of twoooo - @assert ispow2(ht.size) - mod = MonHash(ht.size - 1) - i = MonHash(1) - hsize = MonHash(ht.size) - - @inbounds while i < hsize - hidx = nexthashindex(he, i, mod) - - vidx = ht.hashtable[hidx] - - # if free - iszero(vidx) && break - - # if not free and not same hash - if ishashcollision(ht, vidx, e.exps, he) - i += MonHash(1) - continue - end - - # already present in hashtable - return vidx - end - - return zero(MonIdx) -end - -#------------------------------------------------------------------------------ - -#= - Having `ht` filled with monomials from input polys, - computes ht.divmap and divmask for each of already stored monomials -=# -function fill_divmask!(ht::MonomialHashtable{N}) where N - - min_exp = Vector{UInt64}(undef, N) - max_exp = Vector{UInt64}(undef, N) - - e = first(ht.exponents).exps - - @inbounds for i in 1:N - min_exp[i] = e[i] - max_exp[i] = e[i] - end - - @inbounds for i in 1:ht.load - e = ht.exponents[i].exps - for j in 1:N - if e[j] > max_exp[j] - max_exp[j] = e[j] - continue - end - if e[j] < min_exp[j] - min_exp[j] = e[j] - end - end - end - - ctr = 1 - steps = UInt32(0) - @inbounds for i in 1:N - steps = div(max_exp[i] - min_exp[i], UInt32(ht.ndivbits)) - (iszero(steps)) && (steps += UInt32(1)) - for j in 1:ht.ndivbits - ht.divmap[ctr] = steps - steps += UInt32(1) - ctr += 1 - end - end - @inbounds for vidx in 1:ht.load - m = ht.exponents[vidx] - divm = divmask(m, ht.divmap, ht.ndivbits) - hsh = Base.hash(m) - ht.hashdata[vidx] = Hashvalue(hsh, divm) - end - - nothing -end - -#------------------------------------------------------------------------------ - -# add monomials from `poly` multiplied by exponent vector `etmp` -# with hash `htmp` to hashtable `symbol_ht`, -# and substitute hashes in row -function insert_multiplied_poly_in_hash_table!(row::Vector{MonIdx}, - htmp::MonHash, - etmp::Monomial{N}, - poly::Vector{MonIdx}, - ht::MonomialHashtable{N}, - symbol_ht::MonomialHashtable{N}) where N - - # length of poly to add - len = length(poly) - - mod = MonHash(symbol_ht.size - 1) - - bexps = ht.exponents - bdata = ht.hashdata - - sexps = symbol_ht.exponents - sdata = symbol_ht.hashdata - - l = 1 # hardcoding 1 does not seem nice =( - @label Letsgo - @inbounds while l <= len - # we iterate over all monoms of the given poly, - # multiplying them by htmp/etmp, - # and inserting into symbolic hashtable - - # hash is linear, so that - # hash(e1 + e2) = hash(e1) + hash(e2) - h = htmp + bdata[poly[l]].hash - - e = bexps[poly[l]] - - lastidx = symbol_ht.load + 1 - mul!(symbol_ht.buffer, etmp, e) - - # insert into hashtable - k = h - - i = MonHash(1) - ssize = MonHash(symbol_ht.size) - @inbounds while i <= ssize - k = nexthashindex(h, i, mod) - vidx = symbol_ht.hashtable[k] - - # if index is free - iszero(vidx) && break - - if ishashcollision(symbol_ht, vidx, symbol_ht.buffer, h) - i += MonHash(1) - continue - end - - # hit - row[l] = vidx - l += 1 - - @goto Letsgo - end - # miss - - # add multiplied exponent to hash table - sexps[lastidx] = Monomial(etmp.deg + e.deg, - SVector(copy(symbol_ht.buffer))) - symbol_ht.hashtable[k] = lastidx - - divm = divmask(sexps[lastidx], symbol_ht.divmap, symbol_ht.ndivbits) - sdata[lastidx] = Hashvalue(h, divm) - - row[l] = lastidx - l += 1 - symbol_ht.load += 1 - end - - row -end - -function multiplied_poly_to_matrix_row!( - symbolic_ht::MonomialHashtable{N}, basis_ht::MonomialHashtable{N}, - htmp::MonHash, etmp::Monomial{N}, poly::Vector{MonIdx}) where {N} - - row = similar(poly) - check_enlarge_hashtable!(symbolic_ht, length(poly)) - - insert_multiplied_poly_in_hash_table!(row, htmp, etmp, poly, basis_ht, symbolic_ht) -end - -#------------------------------------------------------------------------------ -function insert_in_basis_hash_table_pivots!( - row::Vector{MonIdx}, - ht::MonomialHashtable{N}, - symbol_ht::MonomialHashtable{N}) where {N} - - check_enlarge_hashtable!(ht, length(row)) - - sdata = symbol_ht.hashdata - sexps = symbol_ht.exponents - - mod = MonHash(ht.size - 1) - bdata = ht.hashdata - bexps = ht.exponents - bhash = ht.hashtable - - l = 1 - @label Letsgo - @inbounds while l <= length(row) - hidx = row[l] - - # symbolic hash - h = sdata[hidx].hash - - lastidx = ht.load + 1 - bexps[lastidx] = sexps[hidx] - e = bexps[lastidx] - - k = h - i = MonHash(1) - @inbounds while i <= ht.size - k = nexthashindex(h, i, mod) - hm = bhash[k] - - iszero(hm) && break - - if ishashcollision(ht, hm, e.exps, h) - i += MonHash(1) - continue - end - - row[l] = hm - l += 1 - @goto Letsgo - end - - bhash[k] = pos = lastidx - row[l] = pos - l += 1 - - bdata[pos] = Hashvalue(h, sdata[hidx].divmask) - - ht.load += 1 - end - - nothing -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/linear_algebra.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/linear_algebra.jl deleted file mode 100644 index 1178901..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/linear_algebra.jl +++ /dev/null @@ -1,156 +0,0 @@ -function echelonize!(matrix::MacaulayMatrix, - char::Val{Char}, - shift::Val{Shift}) where {Char, Shift} - - arit_ops = 0 - - col2hash = matrix.col2hash - buffer = zeros(Cbuf, matrix.ncols) - hash2col = Vector{MonIdx}(undef, matrix.ncols) - rev_sigorder = Vector{Int}(undef, matrix.nrows) - pivots = matrix.pivots - - @inbounds for i in 1:matrix.nrows - rev_sigorder[matrix.sig_order[i]] = i - row_ind = matrix.sig_order[i] - end - - @inbounds for i in 1:matrix.ncols - hash2col[col2hash[i]] = MonIdx(i) - end - - @inbounds for i in 1:matrix.nrows - row_ind = matrix.sig_order[i] - - row_cols = matrix.rows[row_ind] - l_col_idx = hash2col[first(row_cols)] - pivots[l_col_idx] == row_ind && continue - - # check if the row can be reduced - does_red = false - for (j, m_idx) in enumerate(row_cols) - colidx = hash2col[m_idx] - pividx = pivots[colidx] - does_red = !iszero(pividx) && rev_sigorder[pividx] < i - does_red && break - end - if !does_red - pivots[l_col_idx] = row_ind - continue - end - - # buffer the row - row_coeffs = matrix.coeffs[row_ind] - @inbounds for (k, j) in enumerate(row_cols) - col_idx = hash2col[j] - buffer[col_idx] = row_coeffs[k] - end - - # do the reduction - @inbounds for j in 1:matrix.ncols - a = buffer[j] % Char - iszero(a) && continue - pividx = pivots[j] - if iszero(pividx) || rev_sigorder[pividx] >= i - continue - end - - # subtract m*rows[pivots[j]] from buffer - pivmons = matrix.rows[pividx] - pivcoeffs = matrix.coeffs[pividx] - - arit_ops_new = critical_loop!(buffer, j, a, hash2col, pivmons, - pivcoeffs, shift) - arit_ops += arit_ops_new - end - - new_row_length = 0 - @inbounds for j in 1:matrix.ncols - iszero(buffer[j]) && continue - buffer[j] = buffer[j] % Char - iszero(buffer[j]) && continue - new_row_length += 1 - end - - # write out matrix row again - j = 1 - inver = one(Coeff) - new_row = Vector{MonIdx}(undef, new_row_length) - new_coeffs = Vector{Coeff}(undef, new_row_length) - @inbounds for k in 1:matrix.ncols - iszero(buffer[k]) && continue - if isone(j) - pivots[k] = row_ind - inver = inv(Coeff(buffer[k]), char) - end - new_row[j] = col2hash[k] - new_coeffs[j] = isone(j) ? one(Coeff) : mul(inver, buffer[k], char) - buffer[k] = zero(Cbuf) - j += 1 - end - - # check if row lead reduced, TODO: dont know if this is reliable - s = matrix.sigs[row_ind] - m = monomial(s) - @inbounds if isempty(new_row) || (matrix.rows[row_ind][1] != new_row[1] && any(!iszero, m.exps)) - matrix.toadd[matrix.toadd_length+1] = row_ind - matrix.toadd_length += 1 - end - - matrix.rows[row_ind] = new_row - matrix.coeffs[row_ind] = new_coeffs - end - if !iszero(arit_ops) - @info "$(arit_ops) submul's" - end -end - -# subtract mult -# TODO: for module tracking we won't be able to assume that mult = buffer[bufind] -@inline function critical_loop!(buffer::Vector{Cbuf}, - bufind::Int, - mult::Cbuf, - hash2col::Vector{MonIdx}, - pivmons::Vector{MonIdx}, - pivcoeffs::Vector{Coeff}, - shift::Val{Shift}) where Shift - - @inbounds buffer[bufind] = zero(Cbuf) - l = length(pivmons) - @turbo warn_check_args=false for k in 2:l - c = pivcoeffs[k] - m_idx = pivmons[k] - colidx = hash2col[m_idx] - buffer[colidx] = submul(buffer[colidx], mult, c, shift) - end - return l-1 -end - -# helper functions -# field arithmetic -function maxshift(::Val{Char}) where Char - bufchar = Cbuf(Char) - return bufchar << leading_zeros(bufchar) -end - -# compute a representation of a - b*c mod char (char ~ Shift) -@inline function submul(a::Cbuf, b::Cbuf, c::Coeff, ::Val{Shift}) where Shift - r0 = a - b*Cbuf(c) - r1 = r0 + Shift - r0 > a ? r1 : r0 -end - -@inline function inv(a::Coeff, ::Val{Char}) where Char - return invmod(Cbuf(a), Cbuf(Char)) % Coeff -end - -@inline function mul(a, b, ::Val{Char}) where Char - return Coeff((Cbuf(a) * Cbuf(b)) % Char) -end - -# for debug helping - -function is_triangular(matrix::MacaulayMatrix) - lms = [first(row) for row in matrix.rows[1:matrix.nrows] if !isempty(row)] - return length(lms) == length(unique(lms)) -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/monomials.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/monomials.jl deleted file mode 100644 index d2aab7d..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/monomials.jl +++ /dev/null @@ -1,127 +0,0 @@ -#-- Monomial arithmetic --# - -function mul(a::Monomial, b::Monomial) - return Monomial(a.deg + b.deg, a.exps + b.exps) -end - -function mul!(buf::MVector{N, Exp}, a::Monomial{N}, b::Monomial{N}) where N - @inbounds for i in 1:N - buf[i] = a.exps[i] + b.exps[i] - end -end - -function divide(a::Monomial, b::Monomial) - return Monomial(a.deg - b.deg, a.exps - b.exps) -end - -# lcm(a, b) / a -function lcm_div(a::Monomial{N}, b::Monomial{N}) where N - e1 = a.exps - e2 = b.exps - @inbounds exps = SVector{N, Exp}([e1[i] >= e2[i] ? zero(Exp) : e2[i] - e1[i] for i in 1:N]) - return Monomial(sum(exps), exps) -end - -# false if the monomial corresponding to a does not divide -# the monomial corresponding to b -@inline function divch(a::DivMask, b::DivMask) - return iszero(a & (~b)) -end - -@inline function divch(a::Monomial{N}, b::Monomial{N}) where N - if a.deg <= b.deg - @inbounds for i in 1:N - a.exps[i] > b.exps[i] && return false - end - return true - end - return false -end - -@inline function divch(a::Monomial, b::Monomial, - am::DivMask, bm::DivMask) - - return divch(am, bm) && divch(a, b) -end - -# TODO: unroll this loop -@inline function divch!(buf::MVector{N, Exp}, - a::Monomial{N}, - b::Monomial{N}) where N - - @inbounds for i in 1:N - buf[i] = a.exps[i] - b.exps[i] - if buf[i] < 0 - return false - end - end - return true -end - -#-- Monomial Orders --# - -# DRL comparison -@generated function lt_drl(a::Monomial{N}, b::Monomial{N}) where N - quote - a.deg < b.deg && return true - a.deg > b.deg && return false - - ae = a.exps - be = b.exps - $([:(ae[$i] < be[$i] && return false ; ae[$i] > be[$i] && return true) for i in N:-1:1]...) - - return false - end -end - -function lt_pot(a::Sig, b::Sig) - if index(a) == index(b) - return lt_drl(a[2], b[2]) - else - return index(a) < index(b) - end -end - -#---------------------# - -#-- Masking and hashing --# - -# from groebner.jl -# TODO: make this generated? -function divmask(e::Monomial{N}, - divmap, - ndivbits) where N - - ctr = one(DivMask) - res = zero(DivMask) - o = one(DivMask) - for i in N:-1:1 - for j in 1:ndivbits - @inbounds if e.exps[i] >= divmap[ctr] - res |= o << (ctr - 1) - end - ctr += o - end - end - - res -end - -@generated function makehash(::Val{N}, m) where {N} - rng = MersenneTwister(18121987) - hash = :( $(UInt64(0)) ) - for i in 1:N - hash = :($hash + $(rand(rng, MonHash))*(m[$i])) - end - return :($hash % MonHash) -end - -Base.hash(a::Monomial{N}) where N = makehash(Val(N), a.exps) - -#-------------------------# - -# for readibility -index(a::Sig) = a[1] -monomial(a::Sig) = a[2] -index(a::MaskSig) = a[1] -mask(a::MaskSig) = a[2] diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/siggb.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/siggb.jl deleted file mode 100644 index b598352..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/siggb.jl +++ /dev/null @@ -1,256 +0,0 @@ -# sizes for initialization -const init_ht_size = 2^17 -const init_basis_size = 10000 -const init_syz_size = 1000 -const init_pair_size = 10000 -# default sorting alg -const def_sort_alg = Base.Sort.DEFAULT_UNSTABLE -include("typedefs.jl") -include("monomials.jl") -include("hashtable.jl") -include("update.jl") -include("symbolic_pp.jl") -include("linear_algebra.jl") - -@doc Markdown.doc""" - sig_groebner_basis(sys::Vector{T}; info_level::Int = 0, degbound::Int = 0) where {T <: MPolyRingElem} - -Compute a Signature Gröbner basis of the sequence `sys` w.r.t. to the -degree reverse lexicographical monomial ordering and the degree -position-over-term ordering induced by `sys`. The output is a vector -of `Tuple{Tuple{Int64, T}, T}` where the first element indicates the -signature and the second the underlying polynomial. - -**Note**: At the moment only ground fields of characteristic `p`, `p` prime, `p < 2^{31}` are supported. -**Note**: The input generators must be homogeneous. -**Note**: The algorithms behaviour may depend heavily on how the elements in `sys` are sorted. - -# Arguments -- `sys::Vector{T} where T <: MpolyElem`: input generators. -- `info_level::Int=0`: info level printout: off (`0`, default), computational details (`1`) -- `degbound::Int=0`: degree bound for Gröbner basis computation, compute a full Gröbner basis if `0` (default) or only up to degree `d`. - -# Example -```jldoctest -julia> using AlgebraicSolving - -julia> R, vars = polynomial_ring(GF(17), ["x$i" for i in 1:4]) -(Multivariate polynomial ring in 4 variables over GF(17), FqMPolyRingElem[x1, x2, x3, x4]) - -julia> F = AlgebraicSolving.cyclic(R) -FqMPolyRingElem[x1 + x2 + x3 + x4, x1*x2 + x1*x4 + x2*x3 + x3*x4, x1*x2*x3 + x1*x2*x4 + x1*x3*x4 + x2*x3*x4, x1*x2*x3*x4 + 16] - -julia> Fhom = AlgebraicSolving._homogenize(F.gens) -4-element Vector{FqMPolyRingElem}: - x1 + x2 + x3 + x4 - x1*x2 + x2*x3 + x1*x4 + x3*x4 - x1*x2*x3 + x1*x2*x4 + x1*x3*x4 + x2*x3*x4 - x1*x2*x3*x4 + 16*x5^4 - -julia> sig_groebner_basis(Fhom) -7-element Vector{Tuple{Tuple{Int64, FqMPolyRingElem}, FqMPolyRingElem}}: - ((1, 1), x1 + x2 + x3 + x4) - ((2, 1), x2^2 + 2*x2*x4 + x4^2) - ((3, 1), x2*x3^2 + x3^2*x4 + 16*x2*x4^2 + 16*x4^3) - ((4, 1), x2*x3*x4^2 + x3^2*x4^2 + 16*x2*x4^3 + x3*x4^3 + 16*x4^4 + 16*x5^4) - ((4, x3), x3^3*x4^2 + x3^2*x4^3 + 16*x3*x5^4 + 16*x4*x5^4) - ((4, x2), x2*x4^4 + x4^5 + 16*x2*x5^4 + 16*x4*x5^4) - ((4, x2*x3), x3^2*x4^4 + x2*x3*x5^4 + 16*x2*x4*x5^4 + x3*x4*x5^4 + 15*x4^2*x5^4) -``` -""" -function sig_groebner_basis(sys::Vector{T}; info_level::Int=0, degbound::Int=0) where {T <: MPolyRingElem} - R = parent(first(sys)) - Rchar = characteristic(R) - - # check if input is ok - if Rchar > 2^31 || iszero(Rchar) - error("At the moment we only support finite fields up to prime characteristic < 2^31.") - end - sysl = length(sys) - degs = Vector{Exp}(undef, sysl) - @inbounds for (i, f) in enumerate(sys) - deg = total_degree(f) - if deg > typemax(Exp) - error("input degrees too large.") - end - degs[i] = Exp(deg) - for m in exponent_vectors(f) - if sum(m) != deg - error("input system must be homogeneous.") - end - end - end - - # constants for fast arithmetic - char = Val(Coeff(Rchar.d)) - shift = Val(maxshift(char)) - - # convert to and initialize our data structures - nv = nvars(R) - basis_ht = initialize_basis_hash_table(Val(nv)) - - # initialize basis - sigs = Vector{Sig{nv}}(undef, init_basis_size) - sigmasks = Vector{MaskSig}(undef, init_basis_size) - sigratios = Vector{Monomial{nv}}(undef, init_basis_size) - rewrite_nodes = Vector{Vector{Int}}(undef, init_basis_size+1) - lm_masks = Vector{DivMask}(undef, init_basis_size) - monomials = Vector{Vector{MonIdx}}(undef, init_basis_size) - coeffs = Vector{Vector{Coeff}}(undef, init_basis_size) - is_red = Vector{Bool}(undef, init_basis_size) - syz_sigs = Vector{Monomial{nv}}(undef, init_syz_size) - syz_masks = Vector{MaskSig}(undef, init_syz_size) - basis = Basis(sigs, sigmasks, sigratios, rewrite_nodes, - lm_masks, monomials, coeffs, is_red, - syz_sigs, syz_masks, degs, sysl, - init_basis_size, sysl + 1, 0, init_syz_size) - - # root node - basis.rewrite_nodes[1] = vcat([length(sys)-1, -1], - collect(2:length(sys)+1)) - - # initialize pairset - pairset = Pairset{nv}(Vector{SPair{nv}}(undef, init_pair_size), - sysl, - init_pair_size) - - one_mon = monomial(SVector{nv}(zeros(Exp, nv))) - zero_sig = (zero(SigIndex), one_mon) - # store initial pols in basis and pairset - @inbounds for i in 1:sysl - f = sys[i] - lf = length(f) - - # gather up monomials and coeffs - exps = collect(exponent_vectors(f)) - cfs = collect(coefficients(f)) - mons = Vector{MonIdx}(undef, lf) - coeffs = Vector{Coeff}(undef, lf) - inver = one(Coeff) - @inbounds for j in 1:lf - m = monomial(SVector{nv}((Exp).(exps[j]))) - eidx = insert_in_hash_table!(basis_ht, m) - if isone(j) - inver = inv(Coeff(lift(ZZ, cfs[1])), char) - end - cf = isone(j) ? one(Coeff) : mul(inver, Coeff(lift(ZZ, cfs[j])), char) - mons[j] = eidx - coeffs[j] = cf - end - s = sortperm(mons, by = eidx -> basis_ht.exponents[eidx], - lt = lt_drl, rev = true) - @inbounds mons = mons[s] - @inbounds coeffs = coeffs[s] - - # signatures - sig = (SigIndex(i), one_mon) - lm_exps = SVector{nv}((Exp).(exps[1])) - sigr = monomial(lm_exps) - - # store stuff in basis - basis.sigs[i] = sig - basis.sigratios[i] = sigr - basis.rewrite_nodes[i+1] = [-1, 1] - basis.monomials[i] = mons - basis.coefficients[i] = coeffs - basis.is_red[i] = false - - # add unitvector as pair - pairset.elems[i] = SPair{nv}(sig, zero_sig, zero(DivMask), - zero(DivMask), i, 0, degs[i]) - end - - # compute divmasks - fill_divmask!(basis_ht) - dm_one_mon = divmask(one_mon, basis_ht.divmap, basis_ht.ndivbits) - @inbounds for i in 1:sysl - basis.sigmasks[i] = (SigIndex(i), dm_one_mon) - pairset.elems[i].top_sig_mask = basis.sigmasks[i][2] - basis.lm_masks[i] = basis_ht.hashdata[basis.monomials[i][1]].divmask - end - - logger = ConsoleLogger(stdout, info_level == 0 ? Warn : Info) - with_logger(logger) do - siggb!(basis, pairset, basis_ht, char, shift, degbound = degbound) - end - - # output - eltp = typeof(first(sys)) - outp = Tuple{Tuple{Int, eltp}, eltp}[] - @inbounds for i in basis.basis_offset:basis.basis_load - exps = [basis_ht.exponents[m].exps for m in basis.monomials[i]] - ctx = MPolyBuildCtx(R) - for (e, c) in zip(exps, basis.coefficients[i]) - push_term!(ctx, coefficient_ring(R)(c), Vector{Int}(e)) - end - pol = finish(ctx) - - s = basis.sigs[i] - ctx = MPolyBuildCtx(R) - push_term!(ctx, one(coefficient_ring(R)), Vector{Int}(monomial(s).exps)) - sig = (Int(index(s)), finish(ctx)) - - push!(outp, (sig, pol)) - end - return outp -end - -function siggb!(basis::Basis{N}, - pairset::Pairset, - basis_ht::MonomialHashtable, - char::Val{Char}, - shift::Val{Shift}; - degbound = 0) where {N, Char, Shift} - - while !iszero(pairset.load) - if !iszero(degbound) && first(pairset.elems).deg > degbound - break - end - matrix = initialize_matrix(Val(N)) - symbol_ht = initialize_secondary_hash_table(basis_ht) - - select_normal!(pairset, basis, matrix, basis_ht, symbol_ht) - symbolic_pp!(basis, matrix, basis_ht, symbol_ht) - finalize_matrix!(matrix, symbol_ht) - echelonize!(matrix, char, shift) - - update_basis!(basis, matrix, pairset, symbol_ht, basis_ht) - end -end - - -# miscallaneous helper functions -function sort_pairset_by_degree!(pairset::Pairset, from::Int, sz::Int) - ordr = Base.Sort.ord(isless, p -> p.deg, false, Base.Sort.Forward) - sort!(pairset.elems, from, from+sz, def_sort_alg, ordr) -end - -# homogenize w.r.t. the last variable -function _homogenize(F::Vector{P}) where {P <: MPolyRingElem} - R = parent(first(F)) - S, vars = polynomial_ring(base_ring(R), ["x$i" for i in 1:nvars(R)+1], - ordering = :degrevlex) - res = typeof(first(F))[] - for f in F - ctx = MPolyBuildCtx(S) - d = total_degree(f) - for (e, c) in zip(exponent_vectors(f), coefficients(f)) - enew = push!(e, d - sum(e)) - push_term!(ctx, c, e) - end - push!(res, finish(ctx)) - end - return res -end - -# test against msolve -function _is_gb(gb::Vector{Tuple{Tuple{Int, P}, P}}) where {P <: MPolyRingElem} - gb_pols = [p[2] for p in gb] - gb_msolve = groebner_basis(Ideal(gb_pols), complete_reduction = true) - - lms_gb = (Nemo.leading_monomial).(gb_pols) - lms_msolve = (Nemo.leading_monomial).(gb_msolve) - res1 = all(u -> any(v -> divides(u, v)[1], lms_gb), lms_msolve) - res2 = all(u -> any(v -> divides(u, v)[1], lms_msolve), lms_gb) - return res1 && res2 -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/symbolic_pp.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/symbolic_pp.jl deleted file mode 100644 index d3380da..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/symbolic_pp.jl +++ /dev/null @@ -1,368 +0,0 @@ -function select_normal!(pairset::Pairset{N}, - basis::Basis{N}, - matrix::MacaulayMatrix, - ht::MonomialHashtable, - symbol_ht::MonomialHashtable) where N - - # sort pairset - sort_pairset_by_degree!(pairset, 1, pairset.load-1) - - # number of selected pairs - npairs = 0 - deg = zero(Exp) - for i in 1:pairset.load - if iszero(deg) - deg = pairset.elems[i].deg - npairs += 1 - continue - end - if pairset.elems[i].deg == deg - npairs += 1 - else - break - end - end - - @info "selected $(npairs) pairs, degree $(deg)" - added_to_matrix = 0 - - # allocate matrix - reinitialize_matrix!(matrix, npairs) - skip = falses(npairs) - - @inbounds for i in 1:npairs - if skip[i] - continue - end - - pair = pairset.elems[i] - # for each unique pair signature - curr_top_sig = pair.top_sig - rewr_ind = find_canonical_rewriter(basis, pair.top_sig, - pair.top_sig_mask) - - pair_with_rewr_ind = 0 - for j in i:npairs - pair2 = pairset.elems[j] - if pair2.top_sig == curr_top_sig - skip[j] = true - if pair2.top_index == rewr_ind - pair_with_rewr_ind = j - end - end - end - - if !iszero(pair_with_rewr_ind) - - # take pair with non-rewr top signature - pair = pairset.elems[pair_with_rewr_ind] - - # add if pair is a unit vector - add_cond = iszero(pair.bot_index) - - # check if we have a pivot already - if !add_cond - mult = divide(monomial(curr_top_sig), - monomial(basis.sigs[rewr_ind])) - lm = mul(mult, leading_monomial(basis, ht, rewr_ind)) - l_idx = find_in_hash_table(symbol_ht, lm) - if !iszero(l_idx) - if !iszero(matrix.pivots[l_idx]) - add_cond = matrix.sigs[matrix.pivots[l_idx]] != curr_top_sig - end - end - end - - # check if there is a non-rewriteable reducer - if !add_cond - mult = divide(monomial(curr_top_sig), - monomial(basis.sigs[rewr_ind])) - lm = mul(mult, leading_monomial(basis, ht, rewr_ind)) - red_sig_mon = similar(symbol_ht.buffer) - @inbounds for j in 1:N - red_sig_mon[j] = zero(Exp) - end - reducer_sig = (zero(SigIndex), monomial(red_sig_mon)) - reducer_ind = zero(SigIndex) - - @inbounds for j in 1:npairs - pair2 = pairset.elems[j] - pair2.bot_sig == curr_top_sig && continue - if iszero(reducer_ind) || lt_pot(pair2.bot_sig, reducer_sig) - !lt_pot(pair2.bot_sig, curr_top_sig) && continue - new_red = false - if !iszero(pair2.bot_index) - rewriteable_basis(basis, pair2.bot_index, - pair2.bot_sig, - pair2.bot_sig_mask) && continue - ind = pair2.bot_index - mult = divide(monomial(pair2.bot_sig), - monomial(basis.sigs[ind])) - lm2 = mul(mult, leading_monomial(basis, ht, ind)) - new_red = lm2 == lm - end - if new_red - reducer_sig = pair2.bot_sig - reducer_ind = pair2.bot_index - end - end - end - - add_cond = !iszero(reducer_ind) - if add_cond - mult = divide(monomial(reducer_sig), - monomial(basis.sigs[reducer_ind])) - lead_idx = write_to_matrix_row!(matrix, basis, - reducer_ind, - symbol_ht, ht, mult, - reducer_sig) - # set pivot - resize_pivots!(matrix, symbol_ht) - matrix.pivots[lead_idx] = matrix.nrows - end - end - - # add row to matrix if any of the add conds is true - if add_cond - mult = divide(monomial(curr_top_sig), - monomial(basis.sigs[rewr_ind])) - l_idx = write_to_matrix_row!(matrix, basis, rewr_ind, - symbol_ht, ht, mult, - curr_top_sig) - added_to_matrix += 1 - if iszero(pair.bot_index) - matrix.toadd[matrix.toadd_length+1] = matrix.nrows - matrix.toadd_length += 1 - end - end - end - end - - if !iszero(added_to_matrix) - @info "$(added_to_matrix) non-rewriteable critical signatures added to matrix" - end - - # remove selected pairs from pairset - @inbounds for i in 1:(pairset.load-npairs) - pairset.elems[i] = pairset.elems[i+npairs] - end - pairset.load -= npairs - resize_pivots!(matrix, symbol_ht) -end - -function symbolic_pp!(basis::Basis{N}, - matrix::MacaulayMatrix, - ht::MonomialHashtable, - symbol_ht::MonomialHashtable) where N - - i = one(MonIdx) - mult = similar(ht.buffer) - mult2 = similar(ht.buffer) - red_sig_mon = similar(ht.buffer) - - # iterate over monomials in symbolic ht - @inbounds while i <= symbol_ht.load - found_reducer = false - # skip if reducer already exists - if !iszero(matrix.pivots[i]) - # exp = symbol_ht.exponents[i] - # println("mon: $(exp.exps)") - # println("reducer exists") - i += one(MonIdx) - continue - end - - red_ind = 0 - @inbounds for j in 1:N - red_sig_mon[j] = zero(Exp) - end - mul_red_sig = (zero(SigIndex), monomial(red_sig_mon)) - - # realloc matrix if necessary - if matrix.size == matrix.nrows - matrix.size *= 2 - resize!(matrix.rows, matrix.size) - resize!(matrix.sigs, matrix.size) - resize!(matrix.parent_inds, matrix.size) - resize!(matrix.coeffs, matrix.size) - resize!(matrix.toadd, matrix.size) - end - - exp = symbol_ht.exponents[i] - divm = symbol_ht.hashdata[i].divmask - - j = basis.basis_offset - @label target - # find element in basis which divmask divides divmask of monomial - @inbounds while j <= basis.basis_load && !divch(basis.lm_masks[j], divm) - j += 1 - end - - if j <= basis.basis_load - @inbounds red_exp = leading_monomial(basis, ht, j) - - # actual divisibility check - if !(divch!(mult2, exp, red_exp)) - j += 1 - @goto target - end - # found_reducer = true - - # check if new reducer sig is smaller than possible previous - if !iszero(red_ind) && lt_pot(mul_red_sig, mul_cand_sig) - j += 1 - @goto target - end - - # check if reducer is rewriteable - cand_sig = basis.sigs[j] - mul_cand_sig = (index(cand_sig), - mul(monomial(mult2), monomial(cand_sig))) - cand_sig_mask = divmask(monomial(mul_cand_sig), ht.divmap, - ht.ndivbits) - if rewriteable(basis, ht, j, mul_cand_sig, cand_sig_mask) - j += 1 - @goto target - end - - # set reducer - red_ind = j - mul_red_sig = mul_cand_sig - j += 1 - @inbounds for k in 1:N - mult[k] = mult2[k] - end - @goto target - end - - # write to matrix - if !iszero(red_ind) - mm = monomial(SVector(mult)) - @inbounds lead_idx = write_to_matrix_row!(matrix, basis, - red_ind, symbol_ht, - ht, mm, - mul_red_sig) - resize_pivots!(matrix, symbol_ht) - matrix.pivots[lead_idx] = matrix.nrows - end - i += one(MonIdx) - end -end - -function finalize_matrix!(matrix::MacaulayMatrix, - symbol_ht::MonomialHashtable) - - # store indices into hashtable in a sorted way - ncols = symbol_ht.load - matrix.ncols = ncols - - col2hash = Vector{ColIdx}(undef, ncols) - @inbounds for i in 1:ncols - col2hash[i] = i - end - exps = symbol_ht.exponents - function cmp(h1, h2) - @inbounds e1 = exps[h1] - @inbounds e2 = exps[h2] - return !lt_drl(e1, e2) - end - sort!(col2hash, lt = cmp) - matrix.col2hash = col2hash - nc = matrix.ncols - @inbounds matrix.pivots[1:nc] = matrix.pivots[1:nc][col2hash] - - if !iszero(matrix.nrows) - @info "matrix of size $((matrix.nrows, matrix.ncols)), density $(@sprintf "%.2f" 100*sum((length).(matrix.rows[1:matrix.nrows]))/(matrix.nrows * matrix.ncols))%" - end - matrix.sig_order = Vector{Int}(undef, matrix.nrows) - # sort signatures - sortperm!(matrix.sig_order, matrix.sigs[1:matrix.nrows], - lt = (sig1, sig2) -> lt_pot(sig1, sig2)) -end - -# TODO: later to optimize: mem allocations for matrix -# helper functions -function initialize_matrix(::Val{N}) where {N} - rows = Vector{Vector{MonIdx}}(undef, 0) - pivots = Vector{Int}(undef, 0) - pivot_size = 0 - sigs = Vector{Sig{N}}(undef, 0) - parent_inds = Vector{Int}(undef, 0) - sig_order = Vector{Int}(undef, 0) - col2hash = Vector{ColIdx}(undef, 0) - coeffs = Vector{Vector{Coeff}}(undef, 0) - toadd = Vector{Int}(undef, 0) - - size = 0 - nrows = 0 - ncols = 0 - toadd_length = 0 - - return MacaulayMatrix(rows, pivots, pivot_size, - sigs, parent_inds, sig_order, - col2hash, coeffs, size, nrows, - ncols, toadd, toadd_length) -end - -# Refresh and initialize matrix for `npairs` elements -function reinitialize_matrix!(matrix::MacaulayMatrix, npairs::Int) - matrix.size = 2 * npairs - matrix.pivot_size = 2 * npairs - resize!(matrix.rows, matrix.size) - resize!(matrix.pivots, matrix.pivot_size) - for i in 1:matrix.pivot_size - matrix.pivots[i] = 0 - end - resize!(matrix.sigs, matrix.size) - resize!(matrix.parent_inds, matrix.size) - resize!(matrix.coeffs, matrix.size) - resize!(matrix.toadd, matrix.size) - for i in 1:npairs - matrix.toadd[i] = 0 - end - return matrix -end - -# resize pivots array if needed -@inline function resize_pivots!(matrix::MacaulayMatrix, - symbol_ht::MonomialHashtable) - if matrix.pivot_size < symbol_ht.load - pv_size = matrix.pivot_size - new_pv_size = 2 * (symbol_ht.load) - resize!(matrix.pivots, new_pv_size) - @inbounds for j in pv_size+1:new_pv_size - matrix.pivots[j] = 0 - end - matrix.pivot_size = new_pv_size - end -end - -# helper function to write row to matrix -function write_to_matrix_row!(matrix::MacaulayMatrix, - basis::Basis, - basis_idx::Int, - symbol_ht::MonomialHashtable, - ht::MonomialHashtable, - mult::Monomial, - sig::Sig, - row_ind=matrix.nrows+1) - - hsh = Base.hash(mult) - poly = basis.monomials[basis_idx] - row = similar(basis.monomials[basis_idx]) - check_enlarge_hashtable!(symbol_ht, length(basis.monomials[basis_idx])) - - s = basis.sigs[basis_idx] - lm = mul(mult, leading_monomial(basis, ht, basis_idx)) - - @inbounds matrix.rows[row_ind] = - insert_multiplied_poly_in_hash_table!(row, hsh, mult, poly, - ht, symbol_ht) - @inbounds matrix.coeffs[row_ind] = basis.coefficients[basis_idx] - @inbounds matrix.sigs[row_ind] = sig - @inbounds matrix.parent_inds[row_ind] = basis_idx - if row_ind == matrix.nrows + 1 - matrix.nrows += 1 - end - return first(matrix.rows[row_ind]) -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/typedefs.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/typedefs.jl deleted file mode 100644 index c8b064e..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/typedefs.jl +++ /dev/null @@ -1,109 +0,0 @@ -# type for signature indices -const SigIndex = UInt16 -# type for exponents in monomials -# ints because sigratios may require negative exponents -const Exp = Int16 -# types for hashvalue, ht index and divisor mask of a monomial -const MonIdx = Int32 -const MonHash = UInt32 -const DivMask = UInt32 -# stuff for matrix -const ColIdx = UInt32 -const Coeff = UInt32 -# 64 bit buffer -const Cbuf = UInt64 - -struct Monomial{N} - deg::Exp - exps::SVector{N, Exp} -end -function monomial(exps::SV) where {N, SV <: StaticArray{Tuple{N}}} - return Monomial{N}(sum(exps), exps) -end -const Sig{N} = Tuple{SigIndex, Monomial{N}} -const MaskSig = Tuple{SigIndex, DivMask} - -mutable struct Basis{N} - sigs::Vector{Sig{N}} - sigmasks::Vector{MaskSig} - - sigratios::Vector{Monomial{N}} - - # tree structure: - # - length of data for i is rewrite_nodes[i][1] - # - parent of i is rewrite_nodes[i][2] - # - children of i are rewrite_nodes[i][3:end] - # careful: indices are shifted by + 1 compared to basis indices - rewrite_nodes::Vector{Vector{Int}} - - lm_masks::Vector{DivMask} - - monomials::Vector{Vector{MonIdx}} - coefficients::Vector{Vector{Coeff}} - - is_red::Vector{Bool} - - syz_sigs::Vector{Monomial{N}} - syz_masks::Vector{MaskSig} - - # degrees of input elements - degs::Vector{Exp} - - basis_load::Int - basis_size::Int - # for storing the initial polynomials from 1 to offset-1 - basis_offset::Int - syz_load::Int - syz_size::Int -end - -# TODO: should these be stored in a more vectorized way? -mutable struct SPair{N} - top_sig::Sig{N} - bot_sig::Sig{N} - top_sig_mask::DivMask - bot_sig_mask::DivMask - # top index = 0 -> pair is redundant - top_index::Int - bot_index::Int - deg::Exp -end - -mutable struct Pairset{N} - elems::Vector{SPair{N}} - load::Int - size::Int -end - -mutable struct MacaulayMatrix{N} - - # stored as vectors of corresponding exponents (already hashed and sorted) - rows::Vector{Vector{MonIdx}} - - # pivot row index for colidx is pivots[colidx] - pivots::Vector{Int} - pivot_size::Int - - sigs::Vector{Sig{N}} - parent_inds::Vector{Int} - # sig(row[i]) < sig(row[j]) <=> sig_order[i] < sig_order[j] - sig_order::Vector{Int} - - # maps column index to corresponding hash index - col2hash::Vector{ColIdx} - - # row coefficients - coeffs::Vector{Vector{Coeff}} - - #= sizes info =# - # total number of allocated rows - size::Int - # number of filled rows, nrows <= size - nrows::Int - # number of columns - ncols::Int - - # for each i in toadd rows[i] should be added to basis/syzygies - toadd::Vector{Int} - toadd_length::Int -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/update.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/update.jl deleted file mode 100644 index bdb3428..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/siggb/update.jl +++ /dev/null @@ -1,350 +0,0 @@ -# updating the pairset and basis - -# add new reduced rows to basis/syzygies -# TODO: make a new symbol ht everytime? -function update_basis!(basis::Basis, - matrix::MacaulayMatrix, - pairset::Pairset{N}, - symbol_ht::MonomialHashtable, - basis_ht::MonomialHashtable) where N - - new_basis_c = 0 - new_syz_c = 0 - - # TODO: this can be done more optimally - toadd = matrix.toadd[1:matrix.toadd_length] - # sort!(toadd, by = i -> matrix.sigs[i], lt = lt_pot) - - @inbounds for i in toadd - # determine if row is zero - row = matrix.rows[i] - new_sig = matrix.sigs[i] - new_idx = index(new_sig) - new_sig_mon = monomial(new_sig) - new_sig_mask = (new_idx, divmask(new_sig_mon, basis_ht.divmap, - basis_ht.ndivbits)) - if isempty(row) - new_syz_c += 1 - - # make sure we have enough space - if basis.syz_load == basis.syz_size - basis.syz_size *= 2 - resize!(basis.syz_sigs, basis.syz_size) - resize!(basis.syz_masks, basis.syz_size) - end - - # add new syz sig - l = basis.syz_load + 1 - basis.syz_sigs[l] = monomial(new_sig) - basis.syz_masks[l] = new_sig_mask - basis.syz_load += 1 - - # kill pairs with known syz signature - @inbounds for j in 1:pairset.load - p = pairset.elems[j] - cond = index(p.top_sig) == new_idx - if cond && divch(new_sig_mon, monomial(p.top_sig), - new_sig_mask[2], p.top_sig_mask) - pairset.elems[j].top_index = 0 - end - cond = index(p.bot_sig) == new_idx - if cond && divch(new_sig_mon, monomial(p.bot_sig), - new_sig_mask[2], p.bot_sig_mask) - pairset.elems[j].top_index = 0 - end - end - - # remove pairs that became rewriteable in previous loop - remove_red_pairs!(pairset) - else - new_basis_c += 1 - - # make sure we have enough space - if basis.basis_load == basis.basis_size - basis.basis_size *= 2 - resize!(basis.sigs, basis.basis_size) - resize!(basis.sigmasks, basis.basis_size) - resize!(basis.sigratios, basis.basis_size) - resize!(basis.rewrite_nodes, basis.basis_size) - resize!(basis.lm_masks, basis.basis_size) - resize!(basis.monomials, basis.basis_size) - resize!(basis.coefficients, basis.basis_size) - resize!(basis.is_red, basis.basis_size) - end - - # add to basis hashtable - insert_in_basis_hash_table_pivots!(row, basis_ht, symbol_ht) - lm = basis_ht.exponents[first(row)] - s = new_sig - - # add everything to basis - l = basis.basis_load + 1 - basis.sigs[l] = new_sig - basis.sigmasks[l] = new_sig_mask - new_sig_ratio = divide(lm, new_sig_mon) - basis.sigratios[l] = new_sig_ratio - - parent_ind = matrix.parent_inds[i] - tree_data = basis.rewrite_nodes[parent_ind+1] - insind = 3 - @inbounds for j in insind:insind+tree_data[1] - child_ind = tree_data[j] - rat = basis.sigratios[child_ind-1] - if lt_drl(new_sig_ratio, rat) - break - end - insind += 1 - end - insert!(tree_data, insind, l+1) - tree_data[1] += 1 - basis.rewrite_nodes[l+1] = [-1, parent_ind+1] - - basis.lm_masks[l] = divmask(lm, basis_ht.divmap, - basis_ht.ndivbits) - basis.monomials[l] = row - basis.coefficients[l] = matrix.coeffs[i] - basis.basis_load = l - - # build new pairs - update_pairset!(pairset, basis, basis_ht, l) - end - end - if new_basis_c != 0 || new_syz_c != 0 - @info "$(new_basis_c) new, $(new_syz_c) zero" - end -end - - -# construct all pairs with basis element at new_basis_idx -# and perform corresponding rewrite checks -# assumes DPOT -function update_pairset!(pairset::Pairset{N}, - basis::Basis, - basis_ht::MonomialHashtable, - new_basis_idx::Int) where N - - - new_sig_mon = monomial(basis.sigs[new_basis_idx]) - new_sig_idx = index(basis.sigs[new_basis_idx]) - - # check existing pairs for rewriteability against element - # at new_basis_idx - @inbounds bmask = basis.sigmasks[new_basis_idx] - @inbounds parent_ind = basis.rewrite_nodes[new_basis_idx+1][2] - @inbounds for i in 1:pairset.load - p = pairset.elems[i] - if p.top_index == parent_ind-1 - if divch(new_sig_mon, monomial(p.top_sig), - mask(bmask), p.top_sig_mask) - pairset.elems[i].top_index = 0 - continue - end - end - if p.bot_index == parent_ind-1 - if divch(new_sig_mon, monomial(p.bot_sig), - mask(bmask), p.bot_sig_mask) - pairset.elems[i].top_index = 0 - end - end - end - - # kill pairs that became rewriteable in the previous round - remove_red_pairs!(pairset) - - # resize pairset if needed - num_new_pairs = new_basis_idx - 1 - if pairset.load + num_new_pairs >= pairset.size - resize!(pairset.elems, max(2 * pairset.size, - pairset.load - num_new_pairs)) - pairset.size *= 2 - end - - new_sig_ratio = basis.sigratios[new_basis_idx] - new_lm = leading_monomial(basis, basis_ht, new_basis_idx) - # pair construction loop - @inbounds for i in basis.basis_offset:(new_basis_idx - 1) - basis_lm = leading_monomial(basis, basis_ht, i) - basis_sig_idx = index(basis.sigs[i]) - - mult_new_elem = lcm_div(new_lm, basis_lm) - new_pair_sig_mon = mul(mult_new_elem, new_sig_mon) - - mult_basis_elem = lcm_div(basis_lm, new_lm) - basis_pair_sig_mon = mul(mult_basis_elem, monomial(basis.sigs[i])) - - new_pair_sig = (new_sig_idx, new_pair_sig_mon) - basis_pair_sig = (basis_sig_idx, basis_pair_sig_mon) - - # check if S-pair is singular - new_pair_sig == basis_pair_sig && continue - - new_pair_sig_mask = divmask(new_pair_sig_mon, - basis_ht.divmap, - basis_ht.ndivbits) - basis_pair_sig_mask = divmask(basis_pair_sig_mon, - basis_ht.divmap, - basis_ht.ndivbits) - - # check both pair sigs against non-trivial syzygies - rewriteable_syz(basis, new_pair_sig, - new_pair_sig_mask) && continue - rewriteable_syz(basis, basis_pair_sig, - basis_pair_sig_mask) && continue - - # check both pair signatures against koszul syzygies - rewriteable_koszul(basis, basis_ht, new_pair_sig, - new_pair_sig_mask) && continue - rewriteable_koszul(basis, basis_ht, basis_pair_sig, - basis_pair_sig_mask) && continue - - top_sig, top_sig_mask, top_index, - bot_sig, bot_sig_mask, bot_index = begin - if lt_pot(basis_pair_sig, new_pair_sig) - new_pair_sig, new_pair_sig_mask, new_basis_idx, - basis_pair_sig, basis_pair_sig_mask, i - else - basis_pair_sig, basis_pair_sig_mask, i, - new_pair_sig, new_pair_sig_mask, new_basis_idx - end - end - - pair_deg = new_pair_sig_mon.deg + basis.degs[new_sig_idx] - new_pair = SPair(top_sig, bot_sig, - top_sig_mask, bot_sig_mask, - top_index, bot_index, - pair_deg) - pairset.elems[pairset.load + 1] = new_pair - pairset.load += 1 - end -end - -@inline function rewriteable_syz(basis::Basis, - sig::Sig, - sigmask::DivMask) - - ind = index(sig) - - @inbounds for i in 1:basis.syz_load - if index(basis.syz_masks[i]) == ind - is_rewr = divch(basis.syz_sigs[i], monomial(sig), - basis.syz_masks[i][2], sigmask) - is_rewr && return true - end - end - return false -end - -@inline function rewriteable_basis(basis::Basis, - idx::Int, - sig::Sig, - sigmask::DivMask) - - k = find_canonical_rewriter(basis, sig, sigmask) - return k != idx -end - -# @inline function rewriteable_basis(basis::Basis, -# idx::Int, -# sig::Sig, -# sigmask::DivMask) - -# ind = index(sig) - -# @inbounds for i in basis.basis_load:-1:basis.basis_offset -# i == idx && continue -# i_sig_idx = index(basis.sigmasks[i]) -# i_sig_idx != ind && continue -# i_sig_mask = mask(basis.sigmasks[i]) -# if divch(monomial(basis.sigs[i]), monomial(sig), -# i_sig_mask, sigmask) -# is_rewr = comp_sigratio(basis, i, idx) -# is_rewr && return true -# end -# end -# return false -# end - -function find_canonical_rewriter(basis::Basis, - sig::Sig, - sigmask::DivMask) - - node_ind = 1 - while true - @inbounds node = basis.rewrite_nodes[node_ind] - @inbounds node[1] == -1 && break - found_div = false - @inbounds for i in 3:3+node[1] - ch = node[i] - basis_sig = basis.sigs[ch - 1] - basis_sigmask = basis.sigmasks[ch - 1] - index(basis_sig) != index(sig) && continue - if divch(monomial(basis_sig), monomial(sig), - mask(basis_sigmask), sigmask) - node_ind = ch - found_div = true - break - end - end - !found_div && break - end - return node_ind - 1 -end - -@inline function rewriteable_koszul(basis::Basis, - basis_ht::MonomialHashtable, - sig::Sig, - sigmask::DivMask) - - @inbounds for i in basis.basis_offset:basis.basis_load - if index(basis.sigs[i]) < index(sig) - if divch(basis.lm_masks[i], sigmask) - if divch(leading_monomial(basis, basis_ht, i), monomial(sig)) - return true - end - end - end - end - return false -end - -function rewriteable(basis::Basis, - basis_ht::MonomialHashtable, - idx::Int, - sig::Sig, - sigmask::DivMask) - - rewriteable_syz(basis, sig, sigmask) && return true - rewriteable_basis(basis, idx, sig, sigmask) && return true - rewriteable_koszul(basis, basis_ht, sig, sigmask) && return true - return false -end - -# helper functions for readability -function leading_monomial(basis::Basis, - basis_ht::MonomialHashtable, - i) - - return basis_ht.exponents[first(basis.monomials[i])] -end - -@inline function comp_sigratio(basis::Basis, ind1::Int, ind2::Int) - - rat1 = basis.sigratios[ind1] - rat2 = basis.sigratios[ind2] - if rat1 == rat2 - return lt_drl(monomial(basis.sigs[ind1]), monomial(basis.sigs[ind2])) - end - return lt_drl(rat1, rat2) -end - -# remove pairs that are rewriteable -function remove_red_pairs!(pairset::Pairset) - iszero(pairset.load) && return - j = 0 - @inbounds for i in 1:pairset.load - iszero(pairset.elems[i].top_index) && continue - j += 1 - pairset.elems[j] = pairset.elems[i] - end - pairset.load = j -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/src/types.jl b/src/connectcurves/AlgebraicSolving.jl-main/src/types.jl deleted file mode 100644 index d193d6d..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/src/types.jl +++ /dev/null @@ -1,51 +0,0 @@ -export Ideal - -mutable struct RationalParametrization - vars::Vector{Symbol} - lf_cfs::Vector{ZZRingElem} - elim::QQPolyRingElem - denom::QQPolyRingElem - param::Vector{PolyRingElem} - - function RationalParametrization( - vars::Vector{Symbol}, - lf_cfs::Vector{ZZRingElem}, - elim::QQPolyRingElem, - denom::QQPolyRingElem, - param::Vector{PolyRingElem} - ) - rp = new() - rp.vars = vars - rp.lf_cfs = lf_cfs - rp.elim = elim - rp.denom = denom - rp.param = param - - return rp - end -end - -mutable struct Ideal{T <: MPolyRingElem} - gens::Vector{T} - dim::Int - gb::Dict{Int, Vector{T}} - inter_sols::Vector{Vector{Vector{QQFieldElem}}} - real_sols::Vector{Vector{QQFieldElem}} - rat_sols::Vector{Vector{QQFieldElem}} - rat_param::RationalParametrization - - function Ideal(F::Vector{T}) where {T <: MPolyRingElem} - I = new{T}() - I.gens = F - I.dim = -1 - I.gb = Dict() - - return I - end -end - -Base.parent(I::Ideal) = Nemo.parent(I.gens[1]) - -Base.show(io::IO, I::Ideal) = print(io, I.gens) - -Base.getindex(I::Ideal, idx::Int) = I.gens[idx] diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/groebner-bases.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/groebner-bases.jl deleted file mode 100644 index f26122f..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/groebner-bases.jl +++ /dev/null @@ -1,70 +0,0 @@ -@testset "Algorithms -> Gröbner bases" begin - R, (x,y,z) = polynomial_ring(QQ,["x","y","z"], ordering=:degrevlex) - F = [x^2+1-3, x*y-z, x*z^2-3*y^2] - #= not a finite field =# - @test_throws ErrorException groebner_basis(Ideal(F)) - R, (x,y,z) = polynomial_ring(GF(101),["x","y","z"], ordering=:degrevlex) - I = Ideal([x+2*y+2*z-1, x^2+2*y^2+2*z^2-x, 2*x*y+2*y*z-y]) - G = groebner_basis(I) - H = MPolyRingElem[ - x + 2*y + 2*z + 100 - y*z + 82*z^2 + 10*y + 40*z - y^2 + 60*z^2 + 20*y + 81*z - z^3 + 28*z^2 + 64*y + 13*z - ] - @test G == H - @test I.gb[0] == H - - G = groebner_basis(I, eliminate=2) - H = MPolyRingElem[ - z^4 + 38*z^3 + 95*z^2 + 95*z - ] - @test G == H - - @test_throws ErrorException eliminate(I,0) - L = eliminate(I,2) - @test L == H - @test I.gb[2] == H - - I = Ideal([R(0)]) - G = groebner_basis(I) - @test G == [R(0)] -end - -@testset "Algorithms -> Sig Gröbner bases" begin - R, (x,y,z) = polynomial_ring(QQ,["x","y","z"], ordering=:degrevlex) - F = [x^2+1-3, x*y-z, x*z^2-3*y^2] - #= not a finite field =# - @test_throws ErrorException sig_groebner_basis(F) - R, (x,y,z) = polynomial_ring(GF(17),["x","y","z"], ordering=:degrevlex) - F = [x^2+1-3, x*y-z, x*z^2-3*y^2] - #= not homogeneous =# - @test_throws ErrorException sig_groebner_basis(F) - - #= GB test 1 =# - Fhom = AlgebraicSolving._homogenize(F) - sgb = sig_groebner_basis(Fhom) - @test AlgebraicSolving._is_gb(sgb) - - #= GB test 2 =# - R, (x,y,z,w) = polynomial_ring(GF(65521),["x","y","z","w"], ordering=:degrevlex) - F = cyclic(R).gens - Fhom = AlgebraicSolving._homogenize(F) - sgb = sig_groebner_basis(Fhom) - @test AlgebraicSolving._is_gb(sgb) - - #= GB test 3 =# - F = katsura(R).gens - Fhom = AlgebraicSolving._homogenize(F) - sgb = sig_groebner_basis(Fhom) - @test AlgebraicSolving._is_gb(sgb) - - #= GB test 4 (pivot setting bug) =# - R, (x1, x2, x3, x4) = polynomial_ring(GF(65521), ["x1", "x2", "x3", "x4"], ordering=:degrevlex) - F = [11523*x1^4 + 30378*x1^3*x2 + 30154*x1^2*x2^2 + 10157*x1*x2^3 - 28136*x2^4 - 4771*x1^3*x3 - 21056*x1^2*x2*x3 + 15696*x1*x2^2*x3 - 16144*x2^3*x3 - 1553*x1^2*x3^2 - 30379*x1*x2*x3^2 - 12735*x2^2*x3^2 + 18058*x1*x3^3 + 24670*x2*x3^3 - 16379*x3^4 + 24196*x1^3*x4 - 19411*x1^2*x2*x4 + 17610*x1*x2^2*x4 - 5715*x2^3*x4 - 21186*x1^2*x3*x4 - 22865*x1*x2*x3*x4 - 1939*x2^2*x3*x4 - 5685*x1*x3^2*x4 + 8508*x2*x3^2*x4 + 21819*x3^3*x4 - 24868*x1^2*x4^2 - 18233*x1*x2*x4^2 - 14116*x2^2*x4^2 + 28291*x1*x3*x4^2 - 9068*x2*x3*x4^2 - 15138*x3^2*x4^2 + 8921*x1*x4^3 - 18808*x2*x4^3 - 3005*x3*x4^3 + 7368*x4^4, - 31703*x1^4 + 23616*x1^3*x2 + 20696*x1^2*x2^2 - 7125*x1*x2^3 + 15334*x2^4 + 26619*x1^3*x3 + 2173*x1^2*x2*x3 - 31312*x1*x2^2*x3 - 31386*x2^3*x3 - 25244*x1^2*x3^2 - 28729*x1*x2*x3^2 + 27244*x2^2*x3^2 - 24892*x1*x3^3 + 2046*x2*x3^3 + 2516*x3^4 - 18588*x1^3*x4 + 9980*x1^2*x2*x4 - 10104*x1*x2^2*x4 + 21688*x2^3*x4 - 1315*x1^2*x3*x4 - 17824*x1*x2*x3*x4 + 14919*x2^2*x3*x4 - 568*x1*x3^2*x4 - 22509*x2*x3^2*x4 + 18494*x3^3*x4 + 25947*x1^2*x4^2 - 28652*x1*x2*x4^2 - 25547*x2^2*x4^2 + 1637*x1*x3*x4^2 - 20130*x2*x3*x4^2 + 19739*x3^2*x4^2 + 3742*x1*x4^3 + 25425*x2*x4^3 + 6342*x3*x4^3 - 3004*x4^4, - 2857*x1^4 + 8898*x1^3*x2 + 16959*x1^2*x2^2 - 28026*x1*x2^3 - 25631*x2^4 + 11030*x1^3*x3 + 29101*x1^2*x2*x3 + 30359*x1*x2^2*x3 + 27330*x2^3*x3 + 19126*x1^2*x3^2 - 26603*x1*x2*x3^2 + 2510*x2^2*x3^2 + 7575*x1*x3^3 - 25033*x2*x3^3 - 21024*x3^4 + 30501*x1^3*x4 + 23834*x1^2*x2*x4 - 1858*x1*x2^2*x4 - 10862*x2^3*x4 + 30320*x1^2*x3*x4 + 19705*x1*x2*x3*x4 + 28359*x2^2*x3*x4 + 17590*x1*x3^2*x4 + 11929*x2*x3^2*x4 + 22830*x3^3*x4 + 13501*x1^2*x4^2 - 24860*x1*x2*x4^2 + 12598*x2^2*x4^2 - 9409*x1*x3*x4^2 - 2827*x2*x3*x4^2 - 8608*x3^2*x4^2 + 30938*x1*x4^3 - 12892*x2*x4^3 + 9165*x3*x4^3 - 5202*x4^4, - -23687*x1^4 + 32692*x1^3*x2 + 20539*x1^2*x2^2 - 27327*x1*x2^3 + 3928*x2^4 - 13018*x1^3*x3 - 13583*x1^2*x2*x3 - 30594*x1*x2^2*x3 - 12584*x2^3*x3 - 9819*x1^2*x3^2 + 14542*x1*x2*x3^2 + 30297*x2^2*x3^2 + 15188*x1*x3^3 + 28438*x2*x3^3 + 13512*x3^4 + 13327*x1^3*x4 + 14335*x1^2*x2*x4 - 15128*x1*x2^2*x4 - 21922*x2^3*x4 - 22104*x1^2*x3*x4 - 23535*x1*x2*x3*x4 - 4393*x2^2*x3*x4 - 20398*x1*x3^2*x4 + 14310*x2*x3^2*x4 - 4426*x3^3*x4 - 23087*x1^2*x4^2 - 21281*x1*x2*x4^2 + 13831*x2^2*x4^2 - 23378*x1*x3*x4^2 + 18852*x2*x3*x4^2 - 11968*x3^2*x4^2 - 31181*x1*x4^3 + 20091*x2*x4^3 - 14043*x3*x4^3 - 10677*x4^4] - sgb = sig_groebner_basis(F) - @test AlgebraicSolving._is_gb(sgb) -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/normal-forms.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/normal-forms.jl deleted file mode 100644 index 6ad4ce7..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/normal-forms.jl +++ /dev/null @@ -1,18 +0,0 @@ -@testset "Algorithms -> Normal forms" begin - R, (x,y) = polynomial_ring(GF(101),["x","y"]) - I = Ideal([y*x+17-y, x+13*y]) - f = x^4+y - @test normal_form(f, I) == 100*y+77 - F = [x+13*y, x*y-4] - @test normal_form(F, I) == [0, y + 80] - R, (x,y) = polynomial_ring(GF(536870923),["x","y"]) - I = Ideal([y*x+17-y, x+13*y]) - F = [x+13*y, x*y-4] - @test normal_form(F, I) == [0, y + 536870902] - R, (x,y) = polynomial_ring(GF(65521),["x","y"]) - I = Ideal([y*x+17-y, x+13*y]) - F = [x+13*y, x*y+16] - @test normal_form(F, I) == [0, y + 65520] - I = Ideal([R(0)]) - @test normal_form(F, I) == F -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/solvers.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/solvers.jl deleted file mode 100644 index ed113e4..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/test/algorithms/solvers.jl +++ /dev/null @@ -1,53 +0,0 @@ -@testset "Algorithms -> Solvers" begin - R, (x1,x2,x3,x4) = polynomial_ring(QQ,["x1","x2","x3","x4"], ordering=:degrevlex) - I = Ideal([x1 + 2*x2 + 2*x3 + 2*x4 - 1, - x1^2 + 2*x2^2 + 2*x3^2 + 2*x4^2 - x1, - 2*x1*x2 + 2*x2*x3 + 2*x3*x4 - x2, - x2^2 + 2*x1*x3 + 2*x2*x4 - x3]) - sols = Vector{QQFieldElem}[ - [4862548775//8589934592, 1281562925//8589934592, 2195068207//8589934592, -32714273694608759819673593948262790419337//174224571863520493293247799005065324265472], - [3779635503//8589934592, 2638476131//8589934592, 908473689//8589934592, -92633843493479102248442236077889080803361//696898287454081973172991196020261297061888], - [1, 0, 0, 0], - [6410479475//8589934592, 2005530653//8589934592, -1585770177//8589934592, 55658687714722201275489356321691134094555601//713623846352979940529142984724747568191373312], - [1611414365//8589934592, 673053615//8589934592, 632173751//8589934592, 708759148891639684402860468800417934359477//2787593149816327892691964784081045188247552], - [2863311531//8589934592, 0, 0, 14518714321960041107770649917088777022123//43556142965880123323311949751266331066368] - ] - rat_sols = Vector{QQFieldElem}[[49, 0, 0, 0], [49//3, 0, 0, 1//3]] - - @test sols == real_solutions(I) - @test rat_sols == rational_solutions(I) - @test I.real_sols == real_solutions(I) - - C, x = polynomial_ring(QQ, "x") - elim = 128304*x^8 - 93312*x^7 + 15552*x^6 + 3144*x^5 - 1120*x^4 + 36*x^3 + 15*x^2 - x - denom = 1026432*x^7 - 653184*x^6 + 93312*x^5 + 15720*x^4 - 4480*x^3 + 108*x^2 + 30*x - 1 - p1 = -3872448*x^7 + 2607552*x^6 - 408528*x^5 - 63088*x^4 + 20224*x^3 - 540*x^2 - 172*x + 7 - p2 = -303264*x^7 + 314928*x^6 - 113544*x^5 + 9840*x^4 + 3000*x^3 - 564*x^2 + 12*x - p3 = -699840*x^7 + 449712*x^6 - 74808*x^5 - 1956*x^4 + 1308*x^3 - 174*x^2 + 18*x - p1 *= -7 - p2 *= -7 - p3 *= -7 - - param = rational_parametrization(I) - - @test param.vars == [:x1, :x2, :x3, :x4] - @test param.lf_cfs == ZZRingElem[] - @test param.elim == elim - @test param.denom == denom - @test param.param[1] == p1 - @test param.param[2] == p2 - @test param.param[3] == p3 - @test I.rat_param.elim == elim - @test I.rat_param.denom == denom - @test I.rat_param.param[1] == p1 - @test I.rat_param.param[2] == p2 - @test I.rat_param.param[3] == p3 - - I = Ideal([x1^2-x2, x1*x3-x4, x2*x4-12, x4^3-x3^2]) - real_solutions(I) - @test I.rat_param.vars == Symbol[] - - I = Ideal([x1^2-x2, x1*x3, x2-12]) - @test_throws ErrorException real_solutions(I) - @test_throws ErrorException rational_solutions(I) -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/examples/katsura.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/examples/katsura.jl deleted file mode 100644 index 7e5127f..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/test/examples/katsura.jl +++ /dev/null @@ -1,28 +0,0 @@ -@testset "Examples -> Katsura" begin - I = katsura(3) - R, x = first(I.gens).parent, vars(first(I.gens)) - G = [x[1] + 2*x[2] + 2*x[3] + 2*x[4] - 1, - x[1]^2 + 2*x[2]^2 + 2*x[3]^2 + 2*x[4]^2 - x[1], - 2*x[1]*x[2] + 2*x[2]*x[3] + 2*x[3]*x[4] - x[2], - x[2]^2 + 2*x[1]*x[3] + 2*x[2]*x[4] - x[3]] - - @test I.gens == G - - I = katsura(4, 101) - R, x = first(I.gens).parent, vars(first(I.gens)) - G = [x[1] + 2*x[2] + 2*x[3] + 2*x[4] + 2*x[5] + 100, - x[1]^2 + 2*x[2]^2 + 2*x[3]^2 + 2*x[4]^2 + 2*x[5]^2 + 100*x[1], - 2*x[1]*x[2] + 2*x[2]*x[3] + 2*x[3]*x[4] + 2*x[4]*x[5] + 100*x[2], - x[2]^2 + 2*x[1]*x[3] + 2*x[2]*x[4] + 2*x[3]*x[5] + 100*x[3], - 2*x[2]*x[3] + 2*x[1]*x[4] + 2*x[2]*x[5] + 100*x[4]] - - @test I.gens == G - - R, (x,y,z) = polynomial_ring(QQ, ["x","y","z"]) - I = katsura(R) - G = [x + 2*y + 2*z - 1, - x^2 - x + 2*y^2 + 2*z^2, - 2*x*y + 2*y*z - y] - - @test I.gens == G -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/interfaces/nemo.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/interfaces/nemo.jl deleted file mode 100644 index d3ffdcc..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/test/interfaces/nemo.jl +++ /dev/null @@ -1,16 +0,0 @@ -@testset "Interfaces -> Nemo" begin - R, (x,y,z) = polynomial_ring(QQ,["x","y","z"], ordering=:degrevlex) - F = [x^2+1-3, x*y-z, x*z^2-3*y^2] - cmp = (Int32[2, 2, 2], BigInt[1, 1, -2, 1, 1, 1, -1, 1, 1, 1, -3, 1], Int32[2, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 2, 0, 2, 0]) - @test AlgebraicSolving._convert_to_msolve(F) == cmp - for _GF in [GF, AlgebraicSolving.Nemo.Native.GF] - R, (x,y,z) = polynomial_ring(_GF(2147483659),["x","y","z"], ordering=:degrevlex) - F = [x^2+1-3, x*y-z, x*z^2-3*y^2] - # prime is bigger than 2^31, should throw an error - @test_throws ErrorException AlgebraicSolving._convert_to_msolve(F) - R, (x,y,z) = polynomial_ring(_GF(101),["x","y","z"], ordering=:degrevlex) - F = [x^2+1-3, x*y-z, x*z^2-3*y^2] - res = AlgebraicSolving._convert_to_msolve(F) - @test AlgebraicSolving._convert_finite_field_array_to_abstract_algebra(Int32(3), res..., R) == F - end -end diff --git a/src/connectcurves/AlgebraicSolving.jl-main/test/runtests.jl b/src/connectcurves/AlgebraicSolving.jl-main/test/runtests.jl deleted file mode 100644 index 11a1d92..0000000 --- a/src/connectcurves/AlgebraicSolving.jl-main/test/runtests.jl +++ /dev/null @@ -1,10 +0,0 @@ -using AlgebraicSolving -using Test - -@testset verbose = true "AlgebraicSolving Tests" begin -include("interfaces/nemo.jl") -include("algorithms/groebner-bases.jl") -include("algorithms/normal-forms.jl") -include("algorithms/solvers.jl") -include("examples/katsura.jl") -end diff --git a/src/connectcurves/data.jl b/src/connectcurves/data.jl deleted file mode 100644 index 1d5f9f6..0000000 --- a/src/connectcurves/data.jl +++ /dev/null @@ -1,14 +0,0 @@ -#using Nemo -R, (x,y) = Nemo.polynomial_ring(QQ, [:x, :y]) - -# If you replace y^2 by 2*y^2 you get two very small connected components on the sides -# that maple misses even with grid [1000,1000] - -f = 1594627541097114368612385*x^16 + 24126594979283487048484560*x^15*y - 648897523515553246784074808*x^14*y^2 + 9227671981881181765203810480*x^13*y^3 + 775388988595641728298874736332*x^12*y^4 + 10787151407096126900712389934720*x^11*y^5 + 77139559828286619230682855993096*x^10*y^6 + 452145503210946168432702707056320*x^9*y^7 + 1603450939087454055697523432885078*x^8*y^8 + 472422761323888641034023872620080*x^7*y^9 + 69254293553970771431091788378664*x^6*y^10 + 8171004998268972015374643672912*x^5*y^11 + 486748426688048642456485687660*x^4*y^12 - 12064621488868591078399181568*x^3*y^13 - 1468208821458887902925840024*x^2*y^14 + 12892282240123223587086528*x*y^15 + 1551343473382248651380209*y^16 - 7416582067989458752697004*x^14 - 86407846455606538783280976*x^13*y + 2644747193988832166794696620*x^12*y^2 + 4962811393512179992436546328*x^11*y^3 - 852556155710875435151137729948*x^10*y^4 - 9006223258524272797865687202672*x^9*y^5 - 37408868951040006789841449492372*x^8*y^6 - 96029136974599596104658658159536*x^7*y^7 - 25805546034923632520724584708244*x^6*y^8 - 5242437191813955076157431442064*x^5*y^9 - 409699928605220782678759186860*x^4*y^10 + 39375118017080555511082417752*x^3*y^11 + 4414478650057190403833967932*x^2*y^12 - 62266637085710610417717552*x*y^13 - 7665646840583710272384908*y^14 + 14233446085691566995553618*x^12 + 132571431253302115292123136*x^11*y - 3677320627079906075667837422*x^10*y^2 - 28335523591694036134043888352*x^9*y^3 + 186478273436442358105601202678*x^8*y^4 + 979680543110585521095162296976*x^7*y^5 - 2082167356121156563744172163572*x^6*y^6 - 30539225710419394554664076544*x^5*y^7 + 25429103844006118137220734342*x^4*y^8 - 40056866529454773916181059488*x^3*y^9 - 4741918132209313788162640030*x^2*y^10 + 120063392649421566997191792*x*y^11 + 15453863115268541628254722*y^12 - 14508062550440954802512688*x^10 - 115292786706841839957190896*x^9*y + 2178406370189758736513057100*x^8*y^2 + 17911006599365461837132806264*x^7*y^3 + 18721721306068791970712906740*x^6*y^4 + 140144222573062968441350663256*x^5*y^5 + 15151268277268342933019382004*x^4*y^6 + 14388997206020218965816744888*x^3*y^7 + 2181175955893013097832336108*x^2*y^8 - 116823607901494850142791760*x*y^9 - 16262571151436698863824960*y^10 + 8412196412628079801200763*x^8 + 60038503306269383516796672*x^7*y - 526872554079154536701276538*x^6*y^2 - 2627205980235442180204133952*x^5*y^3 + 1415955761616170935932891503*x^4*y^4 - 1207248891865676270007025776*x^3*y^5 - 411102077811099614734692666*x^2*y^6 + 59338125380312133254699856*x*y^7 + 9471776668272238878375147*y^8 - 2755131867388737857954960*x^6 - 16865677220581290594690288*x^5*y + 37152628773628751552853580*x^4*y^2 - 32454665768852564904473352*x^3*y^3 + 31405824474395795210222812*x^2*y^4 - 14499431708247069028795056*x*y^5 - 2982642484703489520084064*y^6 + 476197729395824935891282*x^4 + 1850003538678786657657456*x^3*y - 861756868723874605906006*x^2*y^2 + 1328290412641467896291664*x*y^3 + 466653249763538900703730*y^4 - 37550891878150349195068*x^2 - 32144769403583975845728*x*y - 33575411625230211328108*y^2 + 864999024811562109121 -#= -params = [[122052108945321231460815317670274232129992226114393994453269787251191586772999998478131397177313291168794930288045095160607171215109769903956555756352425696420971136000*x^64 - 959032695327466028896923007278462984351139470332688180556285108098088661529598320753396670253784301046095380112992662697008888935637597834208399524065939904172979990400*x^62 + 3394978440692000014057928614441958536159991996524914295852869400764921537705344371827178578116630227593461086898603789268227871843165040143533225447517362520002264974800*x^60 - 7151371831353663495035969461496662107369926971805594266199814693934146824218470195335493405697799780940541485521905675079385537261608449869138456973383228166236613263400*x^58 + 9969225814413837627444295403089186126663063577024217974344348166293461403972870910362754229719173808528360575889159764318118369001502184631485479443883015454011986682401*x^56 - 9671970836026456572298276720419947917471887665345986456817982798052297567912195266544191601002444674028621075312189430899896487514797955240881296337049837774935220682554*x^54 + 6681253172122667315238370397663913411776674477687428422442566526332877899682627142356726322165129405054337925114753161026023235352332208537631829530720089337124514136431*x^52 - 3301410220211424089271602152949473244107752962675011991847086104224995592785126226533504503253978553482754788676052797285321438414446348241998541528575215579369013124460*x^50 + 1153625866312801287615810700563023657416207647590355069763669808767031346841963349314203748595540207647317590903229427229222903703337667856594101141720943044058246069661*x^48 - 276471592632708955049516345940728535991597233768181885239869998582202243235193161503559987330426394282206550597625187581438180394843195337797005605877049995316127695732*x^46 + 42737111275022991036352608355606704897004210791721525996001628183626684128731822288746507037652796985104971734258839597661990354701818586349532900569181156658317172207*x^44 - 3742456659729901795861910080707269450979334093567063228455494047866720922141384258882510820384796174299426197864998469723296217948916294920720322245806788642212733938*x^42 + 124812901359186404102761973487936940587045208569099655070567763717545194869573966522045794363331888832044983896823256208123220099774770839702377440264548366585875579*x^40 + 2402338897585167721834533757115848973167440112325375263084520900477387202262408067511574486301847230054475590188439623088746403126201859025390930755087726059729702*x^38 - 68509937805104958231250341298198031936556840566332137015619239026451252039955810994277373605204223562430671087252591788826574761461118005709558506131791338007874*x^36 - 624602767543007223732132614350621970157553190644735452951939828727474543281390897520224663781381549515690693601166843655358728226002634853702893282072044534446*x^34 + 13841266243479813050333800913292143354226161213381471885203716731691523929640826181288978526617610615435538667085754539706451681501647162951472291089154824022*x^32 + 120202491171080915413185710414618689298315719480659390922869136636343650585376626433724584508907638709141858027047096646486866527054227623638334411322800692*x^30 - 520591115945881824376922076313706995768341899579304100913919000966844639567084555161071560271316369176537001034660519442033156769127410794732325730833980*x^28 - 3485964685779200797630002115057298589671830992286919107804731817646799770252462542189098663357180222904705862318369496603121342757549021191050978703064*x^26 + 21960953746028294720952888991143449905438039053336576582969186618106616244531983175814359264493400282340064599061237274909143339406981178759294248193*x^24 + 73849240175221567401011603553831401615608762932323920532235266189598220913324575676844395015176244479642509332983260487654003662496573180220444096*x^22 - 376824027305240350061272895486201229386360304928699585073020054777149244212956978325887719740315377634155833720619243461026923211826746813178656*x^20 - 1077064125063587403221749603783288580367506330701672842182847262625730650810368754865855958990017905698599286814095848949968486760592194466304*x^18 + 5690103572241003396861444757775613338734813344268307690846513823537481856958196599518133023344306311618066441904169231969794689720488173824*x^16 - 10193839327115713468262671581488410024134801061440399158183138926040393332773799485810782661251229174430436880799884660484369504300179456*x^14 + 10561325681560734971801564218210350941952186355064260084093107402195122950258107824859961357557778152241183977545309415213720791023616*x^12 - 46534691368958178600787555636054508288151498256013167919729116181621692838186009927608371499220570421327776499385092138476518768640*x^10 + 112909129306236789340828850326424134729652275074889648909431954832582428189211468993530209558892954944558876736171329175238475776*x^8 + 9772474340268998156394334148170923898672647267241149302597227839920236210220248425669412935053351970347661778775772607021056*x^6 + 390776074003361993581463215777520753745410226728214668964145360784605806127348743913715665385142126139767899281950769152*x^4 + 6380957595087055938360705671638193919990757753374547762909246062754723245830257862488492320528552761664667467644928*x^2 + 44165363089227334737474203421916712589754518865024815570613297228753546509038442785333463624505223591573323776, -1368192012344681727956616390340957823931846743107613968547047038247652009864975311483829249542034828304106208468177186109897213301041365960681148287255726572280062671123455824694388079483333283217240781970331426931716543118051293991498277553572332365411820058387490863713026806679839812369381791869736815833258051753079818657689188473663735699896793926825586726076994203946003790107304951806641194581090402396487134875531081498273995715986028169156333078352782190633703892700599463666606348023749773307946959921402566397859894767121288556775964925003879539648210002806249836465349252076043086720684596321974852410750553123172136472747057211856907173052944174716041758633767658222201300129004726222343872497638358078006675373294875034880386510701698872415863067469172994685406286032450056285939390183363394396051144225698201068651075526052664612170498048000*x^211 + 20179380142058508207916676906504558798143137134737375383785775280984768957208053471532768862237394630651847100572145659197442068471994105818971953412359553848047639258980711237466127568136491950657667423064913892842509690301919818696920670025070952564708223774178129499149278154432195976091432031412813159091961852467961843055813500728034432029476489683648421062036042239824120325174625410675345948653918225847005348795421961265667452471316456471485600096018962769440789188379652275394790256255475204915671865590680811547632170483878886572397449831265119313007318519552300470951426861482606989674908683994641274427306221406443238710944557095693142842073423208523723185642504384396938089647389854462953877894563956967097056216471624008594727178292891644526937795488049194012031702101543134920519559046496025779124479640348143471514640040575715655497757491200*x^209 - 140846812204452151016691118025848692169927898973143181969051710658692136932221259668905618546441757239242151077999428212483831182609823008216088165029658047299798367463373201487920470393911768114839159533053205881035460751927902626133755372345640651966430432539046240996852741300610768753781840322779407741705522532350779329418971007246078682308061681822656654909604658525806393182497824578609254302772299729689843955508739207919166899148149645823289207060495287794763248511615148259077346815932850849376295820946126850072400065715244885630085632833676075511648910846385256133485689935691317197146204240714003181684233827290675236316967376698166478206364719180894152325308444314750939144742436368818054294512700083671739054776874114553439014951187621485806623166350004806074114447270594134744315098225235018196804207279903606725177586713468659430341035950080*x^207 + 617850548425398421318490550994412217939460540687984723468014289576242682070449060819068043285475304405438913749558197717498483201417907105491686732451934915905855911450937337571031144746933783404716230218772673613244281538309678120301763376986728284030583109758161010138517896729658080267047501698234343535686387123447512060958238110850388624915201609612973600176506868374627300878286526254964950314518317793603404257630053364727696580242403252695916288093696625777167698656787467358895333116634693796398506230149054146339617098017787609275109503209616015552677386534892952097436303185510006635913167939236208266055043864322861391495033160535097978225781273881504127849425822388845706106799016439313129298646900002277785354058549932696473245566217286663191468081358586195043333302368282282369033371814491348647434642777524727346508832155743779344146499633152*x^205 - 1906904277268660277588907367475306380508917709853203330438086307195894274881939047320044190970385803689170451728248777818477176051490164384912746178498090051622387399886336627161777075070491725914893721469424127812646320503354148061244383623066356455529505809009353206943124981561360345461401407610683422039108977873390201099742921646857649882366444402035503349675090408155736825237905125719544080234354477325695007207846905557676154651022883622808739112882459284945410317399178113832847385568591410161628041444151313414817506804504021504710954301094406298651727565995165856403977331140863303751449678309128834153324913897854096493254068817409069736930100229042349482394748680429353652625810496247092823033240986060278878306618467029954924136446913155958896671905833818406879392929986635890201616295100999581329895600023937957315742277995990280583100955099136*x^203 + 4388895263021271238869700364157499030091249698709308768420159315746514157264637580056081357752889656183796191232783909814484187649385277451523840436207304954910094289060483322022814980319947629225689105538681208925689844091901240986892086346305890318009829742079914236584107746614624047736413776635001808933587162183417059565126361433070104304769065242559577010656137763408749253817542033968457178385485891323678386871061455032274862627407085695452666046706097650132207817824870679882170547225051325392104499529647309793853314243762607193324973110863130391221818206003588265818761717800327582179926611362579445237682480071680631238730658337970564375332426030496309155901721259023727344660545018148114981468385194360514089033404696705750203330765486182806577639938868750565427831125054846688526723433224519089542557258797344410713851356231208025361475872751616*x^201 - 7779990408709871826411328035393242878979344266216902241620796964195385461167214233475198032015567019040176777675921747465996511606507122671463452586146357126130597773590077126046864414741457647481550831996679517822466517571402026178151119257392945472467054870640403969742484829454775950591826347292664870324107892723448369148535386760768984001409065665063225958365306722030989208822842480356486101626284888102072860370236555948694117800582522128211809183089332310019361836213363314328893027345102297467098755433544941969489509001049557119089628993162647227189102037782135878857579741777238371480546231032649190900060696213706627303894449612931146740035984298436058278068882640619854451697231290795691290266900486035948149534338028483671980574543590670814241698663240153160983490669793741997677462612463497893902441342842682038248452635528238648104780652609536*x^199 + 10792645092954233344852809500452909002307646454397854710957062723360704446966135828890883779900731490163470787121113219739566152902509542212532857853236894788962363758182594481271389983716947212137435226372887667648099179329318043305592886109879396618125887350372349896037761729298250882419456223541333017362297490419208290025262377294450812609880041941722851414757903221487064115386676502095625710895658486806502722111384519677905985058822418516483267962980815345733578942316155411597805969407016324395750123302231471755321345317117035116055177137569548222218024851505307480617004697104581987668765828390249015778882902042077867550413254104358252782770368652434658620028921996159574679586537098779051505736959370877490624803564705738276500916586914227511646322745126546085778421148188439005706802655352150826393766912465479281218455538502083606619484288188416*x^197 - 11735531541605290203900824746319173020529364076031186084339735270566090450117601490547645862067041619941722508321381253091798886372483425608365451251886460888037478302184983164667106891584088109860067130469934965358999331429248216772331571882227527936789122153766251466319456773451983124848550841765424781648969744109945753292661595813892661171954508042739282589623873189890350820180333678160527821614152238768894502853489150931018892097261506111175776657879652899731275129780576006228908207174450535698605858444242942304993216683632190541333307223806565851051827917751227126285569392648930936343356385601451138936682607965273548313472433951330337515996772594101595084809717835399546899369399190889104722864203223267155564661108698004850973322103272439818018427865340194340188108904763303176614154966596818973980874688251271945164518842678811499845223551336448*x^195 + 9826088871789155132153027049515574899410687705267317420948478789065146905053980885204296929892594301550977604051938050024796589922529977076850662264706016958141012496544024462053182234251237696961269943766957567890921755866206643460032436290707844316008854753429436232912253376049932927700771374419187731347613892399734997390049641031391833106274923426438999754707408181091404965999420770660367846503324686974940661570151720508808780262565362955231781109576537273538014853175457641353797008278489044798004710570614628035502784056502255758893243558999789053130323161125627602122912480465932487667209606126822240820818516770888384671302090566122915365062826654924249722868621163946461419118690936015623276796734896046157232199875951119657621335155753270021608440025534041422127917649311645657733412961446817058530943616938936386846080356702239104101204096974848*x^193 - 5963045374386506218578821314737405135457730415211690292207804277869705694415727588334953385007786502842978329378875228309417168140716062921338662842464235766266039166391263221823301277782710685216032267136941681186704208704722991892218241844467425752234301813256513884248781703880990055655212347824592567779843746443501838310794773221402500767168134377442720900231501043864806001286402574666661120477141033697084455196325658060838759132730570686871777108146455398864741523002878879748869625220827864027561448979659156745436929450516413646529193616546741361416453938676662308051400088724349003685583570668905637438390934054365837614467070339517822309646279417917784670137039441889965426665332222767746402517629002667421154162578503899393434006404928194426391327163659337478362641570507993716681790081088026720807921783145245106157899389923201614593955700146176*x^191 + 2072302934866834318566600447118116070544006348431904807334308176663317289715950361170779446367591870239560127520901818576850420339003217259802501810477408205896236070526731690267017866790422663188316901313682604433385822841732293618849366603484731110898636717548029245255277653294199682429078034880532699355172376300603258345953936707452326060900695517149736388307227240426333923976104292760533644163594979346547156764491820463033441377273383629295937979192110463227890573824037587331932506353686422040472058065744173422154026698284127360254548991387271062266440436202814880933225268146357007185370524038290004992251255369654997148562642181753772065319430349041662103562793298266864400308209021862002302307718870819880548337975910352105696527840126519428949287861979493545184902345210439977577555228947985506653629848873089932123604225656264096326144707526656*x^189 + 344732936251195462398655212297515119566524517029167049776953614722870980908674934543025934921050724502914643747700763730173241502880473507223284907120674152735132327431512692560093146676426380711850213090722095278334000372705441754847241158358825498679703196476293707200305209862447949046552280939016320735010183156220850249119039545289597758330857147710010800201858392163192576442538559270250348632579910645197094611962184879536730826309974228348455207314397915532073482687347394315703282978817989388546487057169521932892694585578876001928343939639410770780577385745094917566681033012734447777308218398644670535191439537029202719560427335151186615320528370769498350326210896135778155931831587223246790074991005033096238721591980424874034448345910854656782945120654824810589637971535634414084417284969138241023769756787202242448943911046985530408482621095936*x^187 - 1056253194628677361018549111671950618344113269316057249967447893505172984917384616787304999571489520684705318265979644571867532386076265892665119664516501164975070659383063934281484420099950801589656571963772998440856593656837112635950684097793576169282626966817825460666192131054640911561995770356904227964346291794192638532651770512655561890119178749321117463772224309694590727979825648976017232453407862829600595313964593267883688957757533950533970379486603387354790388602778367585355179661779377753935339209426138154367826460528135690625619899833887039213851424972525030011136648864905070485646806937472145248819401958894268384700495422647865314439091372344754069380437419740283724551120479400429149916430099522691121935201923502133114297706367616912160361452937608514213986057747986327004409711766610535612408923499432933058983401988544630199900939747328*x^185 + 772012019154773487736142357298655904585409308251812275472321818259413483978238669833987815198243545293814314828936680573653438037820167548967674694589160429586817234138273169000384787103358372095840425819759996048423003512574002256131235031530295141407725136622376126628631701908108352778710181548799949120010731907316068561471750076966536653917332001775802113428571401805717347214465934901440367433530475067047670721889831475327408928991134012903581418985094756765024232641612950890198639355968147581015050037166608660502479831333222837558036636123442398701495837914239361794835156420487411660840582270684038201028590754010404303641708721157254788854673271704082132541303746147482181886503459894071728219330767976144694954630445410218496358638366843480307295832341845559602905572953775114950337780468472433698852321578640989118893625340979920466004718649344*x^183 - 295435062968717170298458704692183084214648385916914440156304678266045594297583219216175292456112625855596700871657769950733538251570023114616117143510690302312731554269829427436858534303052400054138744988415846893047192298395220773232586849603743180579882470652383194636555173935352980921480396929302731590723603938339301735571737407494539317027157129238647325508334282082143535834135352968621472438461664612591483296312683570483716348070054085679932433088601984618169757729851244429364584406582337626907872874386532883394052198922283386095785404023540847332834102435298174718520262316208852027801421772195716595534358171054883959001227876445114821034276093039245314457739850038894344476671428865198538617955335404028537861437083661719912549398867744734811513923982037214872655978773153542506487405487043093749641623734791169594458494733772826549716619624448*x^181 + 15906523347465503204137213317470526160536921667828981907968142883944559723182228741590748370178220096554701979949900496335123132667811483331924706837383050115481415808865496340762761960386282599458769947736412728170329525654536650996717355008213967599993202656077108835532734177082465545418415836283013148164830481772377402266044728038798415671496698831204569448359185621252515867482809805399106988741709543483715919401372308443123849237882280326424213657061095145472503726275895639907459783400784665317178925702218638272365082800241058607864117343327006154327525502919635073138805144191541763877151522105905957280568188969939070155176194034864728158794931633963841636047167862632971836193541803696486357546878043581999312144181537393051001520848340572907577855488334189254188420039491276834823131068973134526481217036779675057465154806615060705838456897536*x^179 + 56327823220956601855358303520043229084000485398795183959911825563711816414734562623958164924910360006421156282997684992003908239248417118680859661273230489349979336449228426589070229453554534425545328808670587144288051647738891510035006584861330722059422970475222211125623049787408923749458636671764847833650049211795213852588239642813621546316333841434000937969148472094737455960983153045991009314579943527313998555652730734376225431621849966627751484070831241286753664428113144094605165613928889411362183763677834265922441124850416535306367359572499951464653060617534597795270197133220294272199631736291914012798477587123903370867123832515370157551079936189482409997179008037895590890692305229058569412604844313025311638586947360309648345349369945398123556293910997339180652607449693611406446338223510214369435918287430813923551499079879558180364879921152*x^177 - 38593099610628495982938455394624560010775064004003616133940644148366120526183056331265962589478564308820817090941059168031523701333176636460917615275804336681009107743613747388773036595675539666184191406968163084009113420864552374811276433871296584678679273083221585550798256220300661870118763582006685988469873501280331865699581307434010244456797040858833874722126398526146583728868727898044082517681656822412773616076874233562839469779252138700905233028993650729995582352667094411091967510051637789549279501468624558066659311297511361844587172180647932684852816293181674825481606295856502737948024179198091015528274794193458690381211345871498960974639107357181844233686784040562111959211604605130439567243431279508331687574625442898548590609851177120675886686312595067125770027294889115258846293642477534234289065477502302585167701920579667322395607171072*x^175 + 12635696227001665799977677618388882373222278911399881866422106828928004387470204961020574172973845244111313825676671228286884889386931168269943481560508757588206627141194375389330609098942012025547349504658756284639456869374485904641913148366585087394012805437735755906487870143358826394273158580423373934454158094646110443581287155711279731326589630051816064249741389951069917826298701512822117986233771517818329671725603380268170064453828825695334664157345223307534914086778678515779775739202466463750341819350044200880005042109623009360731454409588568090665135769286980965919117735927242927374337449106940441652451307676910549754552357997181936832696984124512970546109900779854585469174618241295577265711479546325003795216642343173509615112416409357927108801425403301704441156338657266352621453756298732715986283452049356671764746707598779054221655277568*x^173 - 838219741592425647028046567336567224559312183240217598984403966278375605367588645676237446026596065831730477882113943700382328387053627075763061289471686845005100825132711368961708182690633578075148017997860102181208672123909056277980316685329702683187208040149217591390054802805916796025234765316740811717818270406866860396928245808007279026673748050487635876746765451042653838198409576958044584330807041452336040954386525266003180204541699425706493266219549181658691939699485729527872557533545569856685540917695654306663745561090685092902747578984527102026725736544518812985526368346584458759115260812490360423623868911024784723528453222215810553142244367983070780886733236296209477944436889201565660263067171501202395055259962391589842296179968149003009763592031996658178271961538411132131298224016439693268286677221643731001672845687454404428959842304*x^171 - 1369361621882343886926750589011399090426774103070122294879530615115329098087702014295622831319028697052434936060146891682743792320732923974043986574621148138810322285036947469503642142123844615355733307623066765460292945740849261164418940176920220060361079553642158256974288835822223157553427597283548657648355933857266121228533656801409924861487868007017061697241880468384896199138362756102672165478911069264457294097035184723608866019803691774911690095517338574949613482376426286945102691331374875883663067605081624947980071269745829497532464632704387872961441540664251353595299408077635141875682365611342144987645972352263298146829914526325150985420957752868495550758178154283374982649138209512181548724860657017174084764828671599424981260364531953733670462501036130082121767288199231480581718875849294353362237499735144760925368247432866082852526096384*x^169 + 796419637454318128619099497966357472555004023294593535738422243196390226919266888957290446610133624591853946011812812766651805140836806050705683024051308101547786000753468996389587236236603097827943247979417153490004297800150190499872585269834233121351603599540418370240012567816518100556882134373369086927683176761956816637396808012189831506594517905661309801217309218792200431542680389347136502234276293197174911984408866306925655757795058947102523956107558030275105341325809561440668033733429550038515391599504932088845500158407372529725357901493223560397928994502367293483028972173017807890828193848555855070753359183883072069376923357732690217962279087776391338524587689290309970836406070761569085403109902731646980722368016285333305892858190970164559640057906524858327279105250325091709595251851339339262659203154349080654011121130912053116522201088*x^167 - 227602389956085074132176805775119463486425506469504747675231806420927732208456983494276625078992509332424201946880580932275532510561873401547905072056971767524416755101356194912317432106172455740703691149160006659513354423796653359858150689153338968937011332691216131852443702570451454080856589142128320234662930710819911992971541518080913039392996518255446257206017055745517952159932577711859831630727888478536960864793620824312075761946512243429885007129230785655722697178898785025478385982757339998111485047490316777848151146062264324508542053480865518521868644240701846778543664648879835063010351128931987903887764215155960152508631952292884554280790597366825513872888963973960851378849862500490776400217486612920389276134626733300824291163402298717878079237962977864812639259643752991224114523367185788037502152335509523313428656752880404344627789824*x^165 + 24817456537324538865399899231871887270038553674969271724040418931580711217020668147301502235861687448747291972771043446430596426984637583394775408770542131716816903398074437081592305974845507931476398683829231982725265304931817783813877306145162669679525055109915453070721459634508737839500661624804277895570727785899159142934786670168610384892704037630432438334876958440244459813685466106973656016722320386533116607611483921887066506262855425203231951050808589394325183402614034180797143151478938786965017240012530023247814523435838505620731053364649636434005692168876039079100445760133626319218798413507403050162383298854357203273306951454522768802591451229626011209604088794047855506299148858831936083966022294606033063878863506720427657973982359821229385070744515404440214355917458294882600920484145614402594500899747693680919661244604715496021950464*x^163 + 9249043781320867038458057054864158958997438718830542901578078177410737176316957071448160889082203558682261404850603039964623543878203528391079808781928690048830130677998023346685622355227132376152655844483793731062708312697471729448789157483258794454599213339890812283519831433710290379465852883579003400857268574980876921449315729425989424150688321196063448875086273889298693721575971209210407778646448080466948000098444118386708823045782259277429824680589141793456206923415012674004394024740501879745438948460529083556857548989567725811358170399507171443002128950266792476534356415162624743854695076951240844920865707277810011138570245674723091732864167453074188454195751697450253352171542089754460557831374507183246017654551003039878391537362841579185253147086529288017578785600333492987325805530257712355118866653820802733519482627407415880445853696*x^161 - 5934917183597523715884162180841948374522040043684897855040652262322664086191567223656924569698500889982837093640097890532077858360945452898853507238770470436555392517873294243505781840041926580480890572389324314265947375062353614095308717547986536071242344534380311210362755441910533192082522038123675912035857857078279882330487760216521740180351956779176913732488805252239005873214391818617354403981691015739344694470980428286253550384218273755912675592196273172870642479854530954248441541526702825327541883998401494605039757294482096972471976539510196644107452417358849155548768364070718695259696523124725584765060791172722804412967397037506937908388625199119168866652760183500958135262331769125961858626306637748765997326122843150895164217113034858535124038877489897622546200844705532323397729834677531439193595512936632237076710753530423636182171648*x^159 + 1849874298698992989561364207938527686068473466573039211412233320056121976152705191145689736633366622696047416563334522468809508002389822221462932037577504807422422267335036220351184204656786339724579203526880157383920365762155782446947326530695614995742394969382859184862077353078214768247449553167149375495505892923708903945216861905296203906699722276158718890940663973846795337509217897947297288230096400233436297857611920630305396767791062761456456738987529665542040217029070136396285642469087377816353882225309808104470236965487816432540824139174806306891436732145870235804506290993895620568239373524869853798401383262983336514024454017724260138274077791671349840907411598195509374043431217275038384663624209013184044997010962482823743064655039705002139694378972493809180869857854491581113027285206972817160516596483175573185762299189444644247175168*x^157 - 401361677187473764317267203760444329016842358019162991408770672047557447626385438637127733409050673459053486089217490067555718112825383844280207104680626609790663929900104048622931376249540183072811857395602319716894454167849537693296917429106580961251476968219334150060748412682931551238584719392319757339024712134483281048362678270456398132667885139773457776411843590508056066028863034393888548292941591070372923383299841584170127662308094246559854394452851831643000884270485971895084468797570717581274825286187232141356181471689544902288758928113549597564447538659928874632105354373689851857515203453158336903729707624645007438596537245662785023075205254278383544253589468059014447404287531833737892289929908278397252578961978617260983240695317015377123097556084702156516563114991659620429581832281822140758958081174572361528600268088063085017825280*x^155 + 65486352502763038297813044282814262324601170901387619274837238725370179877827571845765650492656795125388499955414453341346552593276485019189748707942148212642028539522632548267996721059953589944323004964144201053200084516643855054848203655918970393825220045736816828041046249472396823282377252639226868977839161589760600648595832904922871584188765283591126863672794285620609411613887055871592299529194801279109538850365297655361839714678571700417016603810025832388151740178253969515348627388685266453666208742258823080987347046512833713541104353908868284959478498776634340777073981451188380908828373530078326108967914839613766201288093116399899189540315011072358263847368070580841785965633669996819445561008363330837242860113444333949103124137587347324464807987014248596194539611968686768201060720221331340074426906859665843401792400167436561116299264*x^153 - 8203375713558902769546705476445248123212012042059217036611042565393929130605082680198940127414402377243622530802571885602639870927666379185912723066685579344731612106975961325304883904573378387780546813586992564834530862341678505317873990026569427903281000635595855153274763378047234406166131815826184287882028302008407051496355120818213505222141859991386936116733008369666433694484800569394772647251476735798093840170524650060025224468726772308305118383593860875129118353246225465850675778183200164627536016399321789332671692681644320706287761660477438349072073196334658884781069524117788477007146212429909680283145127016688675920334851199457091537871552429226140251094524110364967652369837828371190163851016844011493500566027913045061841989950859635941859927501117652998863383195971367260335435112721347002805266945974105883956597156886257413914624*x^151 + 785128929103508946218944309423226491589569094771289526924184676944164421882727671021342603562401673653974415038676584902338964613263206505494380423565150352973629924172974182048357172995194230502676207208097353120260944309722675399847688753157360913194641329538520020574087569570928325668403875868843400209024097025200159778898653174525360559500132564301669324392777917979570116166251724053526497271692396221695206893210465440700176780413130136364616886876850917879585615219802418817161532318872756974554184431701818844999769391151915541255738638640809488799747997863686816076471901802986802728871940989986294254037739692867239476896193363825820292260964104032644978469534921433488322801530462354533077750665201859097311349830525332976112057128486812744681524851166357502791507954073921441416126239624607703330665583400273606201602738821631689359360*x^149 - 55708668050598916735323811288232505280588567617272539813853559662376029002113350881389739488226793618282943443386414454225975038756149587986153718841852820672047962332665456070653388232271296140304147433246700474790766977766356152621844722313348928494191896989415758631635199318170874181218087703735854456168893739848435827948512731722403461372840717235713288851325018074394788915824596608574277415314194311703385646164915628325737882955610953815093465975187662986575215081830349495479879037244485129407912656854289020526469652900922483289043097298497747577377363405084554344062981713754476165912056321532317036280600018700013472084073117612260704122742543978649879665516970140527870895518207355362428768734102475147309410902132095073074764157901154503940685577778394297524528587373384802575436388484246539008170528381624263038351326401946500202496*x^147 + 2692168042469448675314615340879243662217462642003705535610621636494598318525582059840419508505493113147477792967689821127819789529890244459842312527979037319372040761573958146258022220220002941902237471594227646230060770708491591437156711951774694473876094271788007496192989905847176432765989250792090519999209973031662696812839490551240872432312675153291533734474177495097707791439957073877043940988693578929740830470909832174758364419429456428287686610261706804063049727350720705521812168088063901559892682087163627558379881993265018669613732661218458133825240857318946092483548280114607310201711410224711140767391179867832192717800077349311307760950100244712045120435813116632887685103138192050906323422281128799382146262843026205875137452815713372566164229470242533631199695942231800419296839113361744715979754912199475365666624638697689055232*x^145 - 62404874854976164140019941071731026655945848337008480421287262173563320713148396888513514614841162167635183843038749203628509749100853206029025989704324674088790456192849481378319963495599481150016324390747515289629514427660638192715185735165023821011493889564789957386803273926218303771042077769686074389840180888011906716638114896730651239622575665317774507024264412852292203183128528523487643469487524324201996365428184821312552054843280629769388578287641318526732327267894949456765163128147103079907228178495967782307972617090014793071674937365561776224324134538667406879973539404095233746108271488997406280805249976723254525168021399468210162106341277270739297216509787303853941985346893931859970461409417653140184340723246557508858356926368856496911229949160328794386339763650340802979684217626882353079698008714849230623905832713043574784*x^143 - 2025790800242208237673365931156323830247792820306554370714486354182959168319812967848680462766299592725252023229550050358816976912107109580945973193589843671758188185938352460147249035769234056347291274053417131994298478528802237106787349667611295388161583534766597320124874629505920460650765448461306592963789138765139847350996091276973817735195138092321510118182322946980831567478933313571315589241834745593381677151045439028856526188695358991347754989829720185060036994059214139083674139029409272187532320066733246909032657036514413373546196153092728809367252234464130064410473207553872907043724923037947963623300028599294830624427497784068678311134078886393205346619831358653043300388336847472462692870618754155351301191211766155034189024806925971140644305646346508975786794346463916465846680717758444532539251298294413553549333513558294528*x^141 + 242715022634058785681614706616095977689236275532407301507661701192466222307551514965225206768294742360438725806202944017151402397064349916078456650221312261516836182008818653151518028319647306209721605748536504027323675605608838788791234218649089596819418800758375719107277827936344479703994230294808753590045461140090347535353119917747255651240052613243004232188953917973971348333693371692066691316193745055067665044935649493340243891095103888866660804674288608179845842362300193466814041770757317446769485775498908659414265377302566918683155749958117856191637917499813573166484315616251442934612307674051260253232585083914909974718425062873569725454337707139175369000293643061603198068365840699305357898462805844785903351381911854469268595818305709006312416826671071726011387317431376543618551278990821953855951057448668191300104629468004352*x^139 - 8468164061998106195943865366170164678787461450577831016509273482301280345593862251157809984538756925245635546984961545398160167837142835619962098557755063100654415596527480056289591722770237518548038895701862038910139364389518310398569097074503528093354965105835044335276556598149978751093157705044489844642679381199617342844652444987665069035568902408572049651131448680798626912342828681979658384961906890150073711666754142737111077482084717987858617640140817138651778614720904831756616482232328979621079911277875572073737070039735716815799415166079765221082984335665472816157581229332781860212198562358220927231022954714061099035815206450995082508913322276095489022095076154591268391129588211856996419153120677032220193567677468467384052823910800890038314378918448192218885785465837695166102222661273272020739434295910512224259412108247040*x^137 - 24849683858530273396960533495528101987714788096763461245148419447346125790077535816016637637261653731279945166280526696573790878777100213491614413424583600571457764455847757565375395310139846924160821537306134437192129915668297396970108933109380573231077727506309742598602626520110141510383304527794241519688827626705984426410737646147494759992036817359319544169487870870869370800964783244647326762547143276912235085621900059227164949693537697529586744181765383916280280337012266514118479669211736228173580589254015190342980625746513990489797052191606917937547340628561019351268793117524236786018724384366541528402173042123616930340467697621845349490553651358264650371933917299941597794185529697741305201524738829319942918181656527718327237384923001699410430150336602589379761219165003347776390802538644503948145691927598775273971788021760*x^135 + 13568819282670846924287282195789698277750783824546275135463978506071443839350880870085162444583434112564292189019432570821452253015246371975452202458015679596288102931758880907792823693685062706490631588024738606966703692578664311402161068192830050994844499872588192650910587478718942252615745964394105205017462588445761958162821816311512564419088585570936936200055129315071516491968606922457970041859377304886991054229495463100446784366743741056754819687383665768651081448622037599512059723185709220317393894888595517019187161417855944085308679902867887112417886048022799839609235286639861846531643610337981389214302528192819756256342045031615126198580495965177918913360376364935637656307915694612660477903107070501585795140656504592256528174371957652260751335791186759921000341097038844711400039775346511220395844135718090546957330153472*x^133 - 451128681604164133912697160722400945374247430150365595710627228166178172041809973036199097545169400985366885011556044441709394287242863513665364397383224487810083077887270091609719290498316335465170865838079923460605898667281819950531415039914916743628410260664178217126764333206933026224921340865150610080904718453541478515885581820556566349735377234572931339476620118263290944612813045496590437135270298172500507204518267416169678601542974024307687201162953810568829727777948574033527583819909549949498244144156503338220131631412061705736456459167771255495114731376209718804363873684352797063611321250682346529873802075018657867060930342575078648930641971720056041919573217073591565113394477208462909988714587707513693617866711060266540523658626791475581243008560582941784903291422982392184770548198093420049594585238990406494827053056*x^131 - 981248855800524886022994407935260792287722258789499185751450646542651912933321300803619585344202794846378487821811312184322704439654215532873357821837624472550464539516271415729884215108903151738300098821812548281811987811020823471666878437584181327415503063564306906612832515827039825461904178597104970855201679954809876696439656084594519585312776264293841105210209554857868628924549124648261950447350418550535332949669717959875419299752070667452557625028982741522075985772568811123473713750901362974813437666480561799400915396064942776920135298589373878171185038787177996800504629887140252565574543445725489539080586738366525510437356073649356292828472427194245344023022662199267392164861660754301853544610893746783101259626399786830920170266330343522982211463171372607917513777236469489299590501708326940269541383193064851097255936*x^129 + 448422421984697566168164758983240954087543444039384022878234513049201346579280664520371687783636046381666894146755337344387122058932971236191171189252635500729221842800125923024959047643984537007940631521528179753323700517854261928814076039491938815507412831197957633015094415247608361578113469566717539354962973208378875835158112033152865356358343320630706486151299493826389437107098434399351652379548441767350080056882536714655147084311773592287855309401364172857465238766430681767474114603382278683497761983225062042115097871232743482538591388934664256601657580005770571505157356458969938307271426540433012935107525920691699178744211431468477920041029762129773029322979895767841414898085697961324236734159549721019480951399979898934782835458459623547064767198166280087493173288106380175474859576965391577827498983757488012065243136*x^127 - 9185710630151657704756851053136252056760599918977520043618582671645352041090129362759651298399578060444177248292884610799889060494757411339361360284161271715695391341886955496756707902453036088686143743606242618514530858225520889814041535224703811496421262263973044571669536118427730182656397057579352077352857394205742033986470971882260796972300732418389199254176414496122396977852247416582228743560767222231142146721381473012122067716622547859216120988809837900121856663148197424144590220786939242805111949724379049660354903258190517320016097993632185376015745575068572575083756213952688054438924654754795521597325951722651742360880975952650468297313694146051022325934758537624826369626668449117536417198172498028767344555924268771882752521265142959523218797391414063822950031792466700755069911437223188934733214982049701543542784*x^125 - 141541574258836090142450727327112149136933609931863757138352614638266909452914728708849536777085097499427768244293221494788881939369598790837370189017850466854839415723642827955785848649892079824949442760679050396561010648291429321313231426873368052321416898106781658148907375082785713859508044840092449373792774858432027305071725529034377241457562729442103044335773066873608690741971866030065838934756330906634030025572227395066471135211582687249181604104772027018348675739027470982801037797586493647469289736323720584291612673914526565647073042705584204338670542665323833390611154530036483724930810560544409715630059705781305773255797284268129539269597179348810363803784029075124373000287287780683317700452544170880310989196186752410990865224384307125946074858318055133239232821991440197804302369217564809468394176582435987259392*x^123 + 7931028916030767253906307018835679037393490909218462636356610854240974792318016909137861176939046743130330140735514694052242110025736977632388441764881098161051412256369697405416941974913009111872574467653371977456803050475468594824619108210323826279812370939913819201662631344738147022135648929874955401910020201512072758673017160941060963633676671484709381376543641073494944085047512289347840883654180936830067531967346493946470269741938904496375362444860369504639545553936121250114611991646383586948392369090730733227668425110647021671241681966021204549448707259051182559640389059448072575353609004470680209149207197796338855876483637548346260505132765966124735153942841071707284314381843144735857477693955516985390302896137089201335184594038068686845981880478262737706564989924954909440417207358957637602911881853050747355136*x^121 - 33633749081088714991039092228874393568344047616457160306603771247588784425633068884920159851962086054057640778633988082714974454299005706692100730869806238135610489346964954451266172152585847305477812488619808775764022264234757146100634599487120283973115152658192432764858333127060805339842238060673931488039211620689956573641088819027314051446199378637822886900003087982559308621378775368505362138543935504985131200977508506100865419515381823706479754210123911763856447937149067600744495798976986051088546500727499496151699695593880768556160788660953558843610119137840866643791899256571419588611759794764412361441359925706251090175907298533246292989744323676723509658272490465519420126201529490047611736905528892892239911456258091124865271784392661809633790181962051987196694119976178535885797390254327110814059203159578902528*x^119 - 3335676037190809053302978177011982961794993194516424808919030365855968746878638300132173776173680476176435633171140344691882772815079109892897770740174277379568113215319510056094473564480396735753114181860492300786335011083465593621806126746942885324521187629229850619280598288420949170507488310372102888702543649088233919722914079024848552177654736124832347178643292376637438141414970308616148118218374045353838556586438567983192639146334841578205681674379376847628538881597321605624894620666815553943741299197845753383544320384503968559827907080940486669980605489851820095749168091002181610533047326980952300642543789769108741911992218543639684966685758200969331747758490850921427758225838510117752902053746032376759176738518137549150705336868117630752579745245390077864572248357556036584401891054445026048321394771232817152*x^117 + 47583812168759076181282098182764110055388748427709195849588739557773812224221361579534348511136221671290599774527650535603329544506611055389219733737543011058830809296018690820056201164172720406250348608180469191308935365476222974075004482082492544047296704484048409562962310668405231242415938155520984658820066818575825013063943925985997060191036403570284206481141487666465696422954905043656869320796621586347699177076073539269229831959730106808575682165289686342520882640980072052144178546438553085943677092852920226278605183195922928011800715039301218461319606217227336095419973660064897984798033084828784345835317488894157845237160062121310498804016293110381792345499221743030229405156015807087294417028226600053726059103444266447425036665519875883273032479737008729237041039303041138851101374195452472069960415095816192*x^115 + 804688148208109086249757712920651362326599079401659946623511106365542517478205285016446508858899730683157362115540028035836541454142369200830896901784146016775873029008032416772463886001747441229724607057730554358790164518413616080157748386755513174367011529927437372961361058856023291844310368416201575521865675437008641359694359493551176739897576034262850343673836959973029182816493352475332348694628854445182627340392570813062445494018495363352898904293877076124143596977290167633258905740315046592531243636310357902749829375182481565462369462305801563761276218503471300120833261682293536990841427913133461794992146073941230770431987825172147615244416924401214009229276401957066375855145145064259182240059281138099341388174822788453283748851850797683453249213933271520435252289550854966912077929108395601256989069410304*x^113 - 21229555947201823636108789947888148950761705935015734527168752471516836137343601927912263459900627729969187069682777165093612098022265178076349021500177370419473337737033670215410005987659903156468832516941156722485282405904958445954306292390497589968610729382149151117758591172661015143055503090082446616946208176993611962457131993528500964447118030027441901746724150272687614382262918578362389100054538701536292055857925031085878605426305437194030327114470470014322572860062590407338517977660172076764697944623009112381820029023829201565595266583905261621204606571370655239808347107539490224700041341379475386048026218776425925645674654992988355650914448130664943538771130106571108664300692891794996153935740214377051664979504697114549284875202299611370397854213455803659097216669372415634457115010858026996945953751040*x^111 - 94565803943517616512034172576021737218329874781312627634199763017344701249753425468715046443354653280595467269407159929547139913966646838269438918005126952727108560797237060791576577036617574758779251427705958636379446025462781447023059877059314084675447358359135395404795333214180863897285144873938256988879240175375688479306422792035932168061961471103692453639092178481743800182832808171253459377180290175808963210771800766976647058001885442143263274977592391254816242354611146729343718502928138816696814487104105000131376057048194220064781729729075463844549552104753314655060796847314641803949856631111109469615896209497147812688987367691031786646213237471194146662936084971770258498813863358013791531024071797927943791454781146414908319137966512822274653225703255151476069003212008438641126860047516826526141120512*x^109 + 5830644758232271766383521019356572180443523432416483641439986216912151255109112381586142706969435308204427192516515855888213118618774565512320687455383759317389481175007255370318710816124218621606702850444142035545643782214854692975230186726370239648064342766055939898589118596242607895469628714707148697710127321867779693965618639072848244455837923770193518289927025811373800426621956236393580260422821018518853835346636002829426961860436895197163046642184648630601185810824717383055935021514725327828468942992790312204687130518789671184238513451500263651418712244038772786982648208685715401131501724444304423197471088724503504980421094613842296917321454798794870991546091274200064661934788673059857135850118548820888868542756833296366371463933284485964306704974258187115055216619468554031870425856411767044271243264*x^107 - 5782493237874892721990720300323148765927053691103607444895943324389315569183541860949455041895126285981260930354250247640803962467985029254526273496010560530193365456031041323545757116963131829604702786688233811248827169320984649630861296295571605363069179630438393286444779886467383383308672909696220001103684448041202829255690721278317458422185497128297600078555638389688444151958725673200974420551803786791929175216326777078175373366051685502802313276690348046714068908657433480729156231481729561319768355701240804093723987952054220720754526836229717824321558769414119757482233971382523337048375666619482179958538144807152594346679568319348568949436757298196006424281004181138319548170868833052801431420324527487297429732797416833784724016902537741830506717834820206498920498002307818804834936982326206787485696*x^105 - 1117236106888986118873071476554856980862503528335368913318208292339356711864920580033860704725511596904193289649752813868418371695186997735592848578762590492422858948943048163747141551635172494589619670759463649508675458320122337872613353600546035956331392760546509044916266199520359680004852802356033755401174705862811203228440699918292401177989186504762528638952431067597384291037597352768609885018356332843835303680801854501219801811151284814477095821478389190134718643238259123943008498610998897088029455343990253278286450619910829942859806788899703287751906300407835699114905682965580079414917791216989722571209597575568039589083468885772465130352654992980101285168583966200344731895049666745011844224538810832996919030842133553353120538128094745470992670515224335221947685948607546328080281408428801966211072*x^103 + 4711183027120902050454978576015452409297783992847578403281926258963286933598819661596825356276864380763965709843597863610432910680236068989025120578715755137797152861966419583669944773706414982199234745133568059078488384109108492843409808851098981849173953146804284929983738296969984274161381755242692558066680362317944527138970228685586421440615534498169128652092720805843299097097732584460763488601957561779983280562071717748034107651157107211658214019522574775064442456732876743286884645677779234835247552152952781331873354011251360503009170079806668079665140025467124175051439653815706384830509331520855016675624295206745326207492018289312062746743530268337248521139851401391216386556701774367881347488760639621251579910560760032995646448169627831853137847245756291997266909754712838928873330376024287870976*x^101 + 156095396601333685178520765440823876214562535840642833294875574265857588295147874693209517245154459906159398358128328887007654176046076224870677513908311316174288013966155516938046398725347782888080783301222217636566835201328023142752172819526496404332821140105847608290408312238017882710001580472699377386178279223332565521723995535279862844754397418671188913480478051999697916184312870028840668819348820634079733099434747336306584614290478175491671264884443330744108768300649994073767997276996485886512909679523749229570392791010765460945324408475594161500163227805004155468498320296263565354326843040321686250775563150126904912813443988061662311273002696058827934026470207496206562264615964917633717150640341281017938543665873178926968465000168944428779777237659264045679769093622346913448056570635846942720*x^99 - 1008689134825232935219054172428044772788090387072696508586819923619780131846457072216549108793578919762953064702217588266360065408674562283685195181582669222380916881369158172810089886977491340264080040832682084599836401289182382395156387040837521867518548223996224000234573169249632752324737284478899383541709560026501066512204544954123999413573733712140001100341278287802490929486385382978503448080032728261234021234728286633726893333524225262818408837862986989977561265896945577524346611664479982198505905918296600111614843102028124518759550007197338933453421828551495267096974895539571419116178020219579458359610570283559990353892557449737688458457111279644203741759321540773839178480458724636627205778521957655636033454855273285537673223565371546535109668297815144355179036212058092519139526127336292352*x^97 - 16058974498985129899022231356882028481109290228777149537431468044243876836508802489075572444360505186046809560377256070971599399108215029469310841501567348448268694325798686632346457751620367727385517314435697986435725677623813999689487900393447807290026640717203848724074107030603929528903948924803924667772568885837477222493316090861754791815977044499925436886826344198900261195645087884027496555669645229342443509750184019709889952843768577570166285556544646091759064415054546725352876929782342515614351264531099241555163335707308902509618120341150240035348685584751013591799196086696091443372619505016816802506889370693878373158316297875790208022226472141078705679917856057755587768687811529263093242121786378734667722919158840091049084257494509162668349233338135536962523697098013280807067392948568064*x^95 + 133259585145177833915501733978770835559820168808433165299528956897511468685624584581307639922229382841625068074568503606991743101283364057236658035596410636940561371222075105899367276975048358780000531442081373362320885054733614902379698174346588440313890665920041925096017110310797755445207567438695593150032731608927997604491294134254143769896706540250161644112619610931977361478242894664518813705590411313287892338287070690141887925644883080904787487376243360784292636869199275110463735426376758705759342457831490083524805916842106017525529826614082945417614187528363099994189526721904271011340314545834639794971771111079375268327100601831180914618032712963035900237567242359478642844085335865022856954478185631797260336830942126630263251694100586774122975925854295744681889886882523794025167800238080*x^93 + 1190695433901858291333719939863039995424845166230233156088969157883561235114692548745282652470136609936038639643461410589721730224473155428189088155815752882282395201265094905144273763341488612750418582813397520310116297250370139889169841470353265497173730413607526331464741442282842963618802706268144450690079181322567709937798213757007273180344843040888550291989117448620297444077343858135494414715363645395317886196910719718346605773284348216599624719484565329654692694273217040968567944797552216014203660609983741935947558577101110443140057572617649552953764200740972758927059036576864537308772587394073571977176185422943040769139439767480978292908497524132884216730487070965458536699387819608948971604267086327683037810460844678535127362687061684750396413661721261419882009939984583623324471394304*x^91 - 12308381394670802710108833620036904621370729578656441980574899961463772425254962848323659321827517460639524359676245385416824927967786218507535884084740912019136311398427467085771773556610307777503265380538266369437319048289323853101678637033726896110537056445448908855733159519337301394186980111750156688772028486634090920937572114358899444784951008842545188747895965710092532083611445224115632644619607657917752430388944629086200354711190478501384981644101644913084797039594056567767068753295852927293846106626140834684636970347284717207755457159975947756823899432130712491670061742979380206419630302042373716868314001147160369107920873289092606036959541131385397982259098551130375158901990202100299371597485919615751816297281314320720229006991128451284501102404552306609769856528536941355130159104*x^89 - 58871242547405958595907990712437882528029775109863148923236264235123724827638944151694063412627000711900712776601528925141455290171469350819125841813444798339924181014210416137655585996849511864115349217831546036658629004805967578971545453332134136773973880712766405400139157305377251014142259759533677890292816309212978134382213199564103171192801674467748104953988143794929915383579284052815979175152424585017985410355575345404364346793167553640745234992620899399978578448139317793006298022706629633788466846175257227981378336670581901695870743040904612062595158249970114830571065251633836336865070237788886032112224722481023829563869312998617840743759002734767090040628665452735113580827337186173173649711110202885073591076826496458628607908159863373826989443068402437492094938157349713066590208*x^87 + 831089454151111580076582477265513349803406743624205441603510577713522398081530587740950373207315994560828395520250074163549203109375530975333349021770317494390671572783344417329474566517858995893566422904960485325368778703386427170020305551500027797197066661226284011028888574880495269903412193359814926497285711786008226731836281374249845911893613238493556899522831912603570005644761800912751214694108721925780045413641030170159694297088407586809022625536360101356218657188669067101170922994576407434575403340202551175550597352951180073800891585634274378303561341655808666432502623027928494446981103917192695142001187598117838204325884996543351571763569629185074366645174140611664165813787918923284238829879464053937758624859621392518790766208245877009302717210087730173343677434774273461846016*x^85 + 1443820933084241732930529800884085723833071211023742810104270290603094711298820151812181431598402306706044116038698835557579523035265140092855111040444123362287946837044357976670738506987960423315997821974274113592834133073746141131157158852831726835508554076138085775769476113028143834723409500108350435957910534752828075871624157393880896035795854975022258706191182736872968777785635488090812155705749751716354463491990594330475651502307037636430304564019744305856380410352542718869964441876889959003644619063285230079711025549634275238240959603046719562598993407586527886042088497519599158206492181364310448051626245341441336371998176354679012994929311604402167868229426597082794062653718583093053306671974136398708015897913253995679149532866295091520580196594480373637654339060593978245120*x^83 - 41564299638240288216080784445707232365643103551002973217364481910337140708792492253736534889484521969340971981100208601419095541455665327873874031307798748527214605187107740513016901919152818696073936772283332432013147015808087001874031944782670647492899213512953623472545588154846397511938672910193769515867069363127008654397487950990665468133622230143831736014524483271602753316763189890764842092637673509451375229636877414352558665957134813205559176460309307244852338012430330085584822688090927118927158702221305244674317601022525455289363310359936168964248556823905918003077301837069997711781873670105909891633470028920870869084193264288298889043128446561210744381172310225535926647226535983083128950534025949424711325913533114272639921743907966463027530764454639628681581755511875829760*x^81 + 29789653204482093556827067903321946950807440771300433089988385021117275053564974080111790822886155293995742275320535194578906083708915306706859678540249197093896990212873134387858943624767764987572440671953207436884398489541251211957394864322665385045153069493558790483323194297707118501374288532923519172275410761595562262416399630110542805603363608371505998959604653284493867370314289664848949132327464251849522431738382424897172374928284147003319776550515942798064460460858621325553966877018632470963294614789490262887076609375502093655437890163829357058924291641257737854867584026233791826581987885666052536351695466053944597264328936844968566461110636642244053265226955402933083925206168643394609104147698603950508460951266126592521015887700350492302917858255605187999954893237387264*x^79 + 1496060848595248327309839000265812269219608309462702588744674012875667377738085319938487797956962657888405762754282130126316254159956918597794294821311708335836379797318486266959568744103160532921408373189120691696336841637959981416042902435703195420145551572910420193211096475638663466992426434122853137836724813272483914230414588708716736148752633886256688863824279554770951859499623976769577271073909433119913790109534477990391418440856075022302116629950121944522358330695344968650753421715555605885704413819297998339415320393261582207451109463122292667246418562660294988726885759486592418269316623305753357801100159544802243817968568923533255315663728008152002530432487646355805930542346003115275144197861163771919919363244036756599151209298665847444485685758108898002041991361200128*x^77 - 4395796158192996899138512871641816407992326699091403169457282636990452668610899533928328947044491333150037396916166625236954432229830284275893600960394139082174829721697791755285621890508407317262301280080118492898288805799753151635312594020868255798133763038605457050421018887911191305127701486950310492184797558096981160443090666826859578202855854223467732356380402206093757607968280795400222648342541337758752550568126997990355809437448460793803124942433249325859381533348451600114743715296785086357998336152908105618899691483791633923951387806588659857739517899820746786157889814913038629277696245686125913993985034874546847023342930294056568785392500767959611858000470237698402381196398661069680494254390631056362332904755486663892528664211558663645164303829166269234114195357696*x^75 - 35881767414234337358553204681719409249400313994798372365635147902134373059111734194202668874376343517109768462922772400166813547277081888608547737026635756441564543482281775236053204035940773841713900521631462957784748284036890195691495233988252739901605417998325807496590562370092365940065788319039692887291374276676949844520512981816374455998034457377199121728203462230755722210467583188858108831321352492407248510815914847627712635559581606503331277609045264678547699678125930685541015902145908110113467294260250794972752165457935315586680873609725803584127709484212755063529686675714624548669934993532576344385828448713950593423213230119537269920820392623587022284580310823080572533921268501348511077460457207622204893690171055777996675715019762624070002599699763613605803589632*x^73 + 203092535737121948493028822171442678903093186641401483023432704042683284160989236649463349791737417410329282441503907781117286134433930382714451738206717953275752787794879218681941737392528685698654519452362128057949456850337312921898291285270634194678661480760528561177527490349627246897756326307801680405492782476754405366806988722888491664228580867766259945790620647177744258867267446328224499660447637506316443132934802488190350635820558624768911282775065227879344335879845029375108917815115911747627634611356766600114529307697742067840324380896248115297212493693987102456130064312223195061953996999239297857375761512066469232310240046573417479046258263346349986752183764139003373661487019862258085666101262391851915026730064083291153560715731411898364098406223200292733714432*x^71 + 440718464893359607354213647624471709282680434331859169298394473943131136412751481830336389154202954414959282356160348922577098699743995081174507283784188772632610246142991729721961191590073177013393065830920911325580239090246938776828508942517585470430307353610205293748929230627967658554609494886013006468981871066764540095089995673130898837002807476254572973257831604119204274867596762896113633505573370296457017627347815045144874056073239088852470863779265420798291008464826089112378042665548594463424751454922495625714904708392025142022392400570350554322346663827696521351571662672302410728797831142438546650841625944653823349879269791073325667159033039990640722041500765387991096409410792096789822322374927860837382373246156893279523622247141967746969199284844767041552384*x^69 - 5536822049008674334029219031739563974822166091639052850720349992908874373833757826916113798782687814815314808727701143675133191607785309943175005053104856241655100373172467563025567507435735518993639080382889676910895934561482951049764208152661392905272048991389421501181931149300082411323961283970904393323382765377780048663841846394711080184524000834045586740743439945560967666388946184943124686203767351127121350401908778642296955929707546707734260343023977400070421657683155642037725035948490003240978027343231579929138484938932431951388455466020108872288085307013878201518519715184922304048155631096720858337200372795204364410229196750945432183041664233763991503989987872420361674087156404009894134376235623141251734841177520213827960675293149280480907240132412409118720*x^67 + 3228381450043117809725560938548278948817493922131397896996653556021902861475792847042371876567955592212834126425302088686264189181206023900105324053157134703675969622091873596450211666376674644407139689821581780667172783121624534458138274417900659477739589653094146281490401014036972707388728075530570632434200802778216024545344336423584371460705347686664697867159424364631751516658272055985952325544458692142214313857282029570331280570996658618970898018691293879765716721887943341372588641598714488644598272864489767374956870205882039508324535731262310199541956459508044275332796284492508360394448795422682503996054709419739928746623646997237915563689469674098083899554418148163944253598467760801068534079794110800350928934092457429550895492296997330830283033590454288384*x^65 + 92437576656685587719766237707106023625313888963755302348671223140610332983340142155262901133030424292366833170088628163218811448307609874603383720292374823916842142907053385555035574467674261809173065678940962928052794916168399298074182723995541321951574979032776421324129633212620672507299139768884000682352457215744456091948957311029214119191741422216051465497116565657077410712387310228774552414207384569042392855430425942964556703366865331888180577371913814449136901607011991622200606414774761869320563016326069085705828192241728658405552672638717275265610756657791239018473378563021959129907632550426261205635443854997290689309230995817540804011295836258106765032360134004269938317921451848017499458164373859315606575520163662429173440702889147124650931721963831296*x^63 - 254702370702416629475527616863377238712031334543637015807390314955442028196144793580417761277571430744316453949001131787828455483060574758563509843614318220936588254285452952496525623538593053911879550047044947932747609605065055059706329492957533584556096742480889481530981927818097851976461059818555470881288478911287136911185248675821528547374730408994811724192445848665248669086101651352726833641162146171946950815913829730834728817122679947476470269407007172077320835815140491108201938040050909207541109285733308160862233324941570941857657176108006678949932784505383922034735290448343485450096048915733288147350301208711378076413619171424262549624228050707413729015073042236634384483419846492250534583944929511477371093057651012540506654636247207053276297673310208*x^61 - 733063391206169307856777940584012932018072485445288541813462440791057969312182555166481386822284700562942152383070802548474516315510197887463583606253918284155871554673726350316256296615575544521621012778255783662442039190775462562822778175356936190765910160907285847693394824829377518407726111040558977808092653180873279001375882226909650655486644472634164719841099335044790278530155435454500216537497934902546770678877624857608886409332597613276296312110777109186816950638733706586544550486271478095039357165982131877967957391016947729026810460584392933808706339084548837041308791550725330405856576004946479477310487975852155131092763480743116476135629127806318751683619209251904619362904547059926934292569106043787635342211646790552904854825931235311274357161984*x^59 + 4890315530662093868083127686367993245256346340598070811017732938623512896168643359580387644839913797361247199872276868651888238429939863438003477707910006550429860644974557583664922330013860881857280496676409811989915711059801337965118275627487113302845208865007864230924736349643888264729605679970236322295643092726968684075934544006404978172436310550163255233117846621644686611984317320362121837798354934028092884728845285913780681171715468027085386920316757819426358901320803656353697067833045585968787221295729292315048148422894216790877991487631529633972252847551676233168803369928779200528416580150458058970488278344628887188068815073813445068264655815244743779480222564394204242637230160686387639829376540273554785841086167341024892551443430505098525016064*x^57 - 4191312565738717262749215665903101381309420588394457750677582107011693518076501184399079086953085744381219272993563442730453263604863854399324107772919158974884940945956806297166832288765819755182352456291976904428553132220983485563587392440659721706978267215304215571364616669275029487337822655708590466984834259793602294356336222193698409745348171968621871567171686872884644459713072647905592315445858195697440158141024580178426379969465980757175249686721700645231295242532453367079104576874009384911652845351520447060967447365830403175462181522261706085387371959798366271412137222489711384744888768040339994053658356442506901502814627186017570254042726723828792174316502565460596869141766471354054433855309715765785120705742507742649973595424116219846852608*x^55 - 33917209576118815665985503786842539037435302425304928743487490379022920015430946901764816586067401695043283934979315287867388770478737106200704338666761517070345887151475794170228433200274611443036264286858566166502474329331290523077804096041972179939823124587743134645332763736211005431611687840829720569889922815963675781944156659518888621912724044882732839994526348202512068702431843473826032701950509786823326076726853413733838993883161825431499500510762509673319998365168941315488039158087858320064179347423875219032284537472394301267288097628546856445732156308057097093563843668478094299419565709688145791106721401450682452693942448872763417059021120445260216790344239231230504056779173783950552251579723475367595208107710328229498321650583067099660288*x^53 + 125246948824586453107389687453857657097707988074887164217177926744413716395153857641781466203244660648525915547530352763124072509448966730555454623629790621352780570122160926001914525345248427721907685751003030587733828540527737750089417354842846773503017618534734942104453406677657340665392348634981991536118471326944281533637411587779857714350845214363478462624232450952142557205327595014225334115663161575721433627427225114307182820258484109304489629096447277409646786898682889773048825715702764556445080854390302424901709559674429648677019498023473426528275115503067844433261398079215364473967051985894432039930039934929518972372383811568566433566505160403764771326008060564136823284995950687786437979884026167704621263478856745549938177404807248084992*x^51 - 163807799710001331753961935531468989009182717273529674163308459206984705924414405130977992904781613181040574704275327014866271149887420322340837824090884967871360899521152510662639534587741703870635404878093476303702894962584628589053765585609197578597899614856621370629582672512091671753397876544931057204884764395414798668873317998062436433403846145811626279707588725213801300752084663898831419395779703251592106147348961917902908141284089662484623080299029192859040513264170920893468144781987663893224732669951199981198703952998713581024891582498414706663254095493662806937953056070933215126352854901326718080378229066196050666888704178622487150155020240387843304247046643210482733730270112247472768159436722704673063752740442296856379374969246711808*x^49 - 27508370668228403691356619146402835354148198441811309230144398495629926708818813104332050959826748567624383362119456913155213162263548373878249303820514095855277012927443338522504744036699039522922223081448934277610143318595791496231978012811759406211910408206025121939945437268049063958632420838854329002688935699063553943088231853130846293794770597764788381169342846728807875174606671553092509738831711097635132533878410031636289185609993910038298055754732633720768425893520838009635760023820236877465648011269666278661585762398430372044498221502327980291017511346481089060126278594271315518239578614478092158754424222002217252826583375878933903536652855953932777591947994338909781004312180724222931895789688595864299929466982582216533901871939584*x^47 + 551271521331577459479711340268614192256783533369263563187565150477052828115982772018321774792403092530106912404714973479533511924880534594682829835043914653118212769870386280174185457175249273467466703095183908855405095757384985788563267807678124017094843692984078941955291161181097394008088968295101595974529868793405100180234479908999230977002764420918818562484542881171300273727466679027986743271323532084369926000209706885267674370112763638059496823978204252094076324562174989133900417878595311060903119466774221263543791001983804358349424098939085024704104323760568751764758237599176432888581874936071087358486028180407764601239866038380985105325853357366412759141824208261347913812823510949308340731255824968290515714090257752807704692260864*x^45 - 2194216270946462185065997956063274551912556461482244369043750931362050829685224299959869557595716691184012186201992935860502691916674455409364458714628580262097177738824818264249825215385851720789167612556654958450690302157512561324573743675373131085222299904123807534093683942961639838679410736562374211762983603518712397416001371017255076646115862435413284026995601449277898109857813535609247037455145026537768247652198105853350800902883777990577638176016277114850570603601011444078328103831329992770850542018858326490367309619694651712314440243022452092202780641702092810839145955908644909213719231931029277631481102847161985714113550511475206339007033375851736482055957737694376989387353098905344092076722993192056775595174944546118130728960*x^43 + 7617368092719772343348730471115197802853880760425792475157599817651638341910167697204327272212374367261958680919912275024017448310439738767707098583057767081850882343050228681905299625660264325564667543643103338338802540967029617352038222041732750844457470275308748295519254846402409475645529827331080516303649846260874471522353117748959907612958104476645805775158169275371560641417768189541907629661023069192570975506975561324940081032787443502484591182221905998414858629557790474047369851351500136515099633685841129648290228293788189320172253484415333117376410049309508798077181500232897390980238255651700692029614020641785840845121843005561790234292396069623799740025841513295597437941270245359445627513415552789650037600196251163354464256*x^41 - 18676392876498041819326345762094106647924969705628487296523329135607689163809344404474685369079854721158740838144109901052994445105560883207149085570632740529491201882119285525162516783297472878597882196114370576498047368229430199231976520646705634884334380963860509068808032661140770707629842742798561502834472935238289859941655237680119769701542436327753626183879762096222862054701693288407366552524187718433308886222873585802003406296068885859287791940910802170172883625933611233160924735436259361286178412084905453545635774327619781969560846152812928341967419723317367778214620417798656056558108068154136551095717694656430853611865641494497473917486567349010459370983790033705506228478426318739365061698178652245767630248601836473810944*x^39 + 30185130275170612466674403537581336050995341688915767696823762839434343364573983479183355217335369161493126310010110595636594742502318167315267750753527906081093887291828165662749594382566171591243280457286156718186736530340969114979728278232056803170057337611740749888349038670735875623871699981179245015404106511521042837991595048240166412048188755069380213846090668823060929136896360591530953294999362542914697700289650559199533638954878352209795018341217152662983487253281095635374891491417352207934506582441703411633275142977722852596130622438776723481261754288402080737664041104606199663397071553975433999369257009895016031135858951247650563194384369579625329761941577063925739074181887457471089502350266449112401789110722605613056*x^37 - 31726133781499745610953921076005678019912131877846769440232083313473188422476479749270007105939379231363864713548924264696497631335395688350037222810711267764815744387613120461414756903651019255379040492363701442798135254171937251917903051332948851300483909299144089370427142905502609379637511455812694868916828036280689469767550702441198155456311021414465007753748006693166154382020000436763223243678822050685773111874678628660717314697255824469549636297509522121530190085092081532890440258377684767494099468862366178944138335873190348422295892099203422426179836603909517152232597459832815785921512294428645353202793233725438856540376489079426251444975672906424732110209961806594121940871612651322216289808794349892366839411925581824*x^35 + 20366659302291602780149596818637044260207760915744990203352099433416616307258318687884250977881196631988614203589958313164044881469237191492919231657776361399408358573119954367435191771851804627478086890215336785409882717259151170949452882515971162674609206653780345959423558522311991211836271399414095276191715013825091042949975529671669507946731465310743019578348436598142930327496383226178262076258578757500215530166049283678972575394899027985553340796606510729338433727502545953585911657298962972573224390163630695227353276666525864921988023121936872186648046105441260086458168938478420132392664813597497373488223321732684743148031183006322060828717336611638461985371496295969699506051683654996019340926037999089980979466469376*x^33 - 5519334834316373357147219710130941809962689244882701286766033727741028153577638504167525355255562889011476656945083200594885943417049113889927393838719326142861640179056656615428182051115271992708826999020443703322613797069464829443048148187966035338972352752170474704834680137760791381980713971377569517822576694647787661447313025754459370257593679559324240060040017665552232670028998718040449998734189682872062230258593570938736550374573527161926559851550683778983224117816917978333054853947191001954188175342642459846796394144203842474969593681643283341002074539327090401904413250586411027357937999408118010039217767772517332398979418531593778780076837425825278365186289514965486373133557399492966226246552487835470376468480*x^31 - 2739563747567654321392801680284439987016083622789572856303330458352357135956190606556880130962165970153295117994184271422149748993042284734214090807763753926576424448044232461056560797815884354046976579586757188065616305459804304931079297736406828092913631108006263191992178299884273592410149689569430593323510960587141699004454324656671768219510397701174570489198360003045095320143385932867572605412097997155781575846097532373652983895358994806425285224079877744332465611506819616130879776620908539271633234306673408386316225979477085460047381585672402280750838328466590544300964713990025961732759286322867480777976186718031828070170026262873436316509226160083034622182742146887703232804887627248449983776773407722656759808*x^29 + 3603082456975717991454888910435302188702367216357240341197599914899481842005464697489709938604921318262584818457320778601130434234363814178020000601752977529980093144560721060697078386070913143380803254685038305394332952385929086258569659656601438412241772395828602719170397370879560308166839604805824833036366364473262160577681784277033617213327516269586097412816760253555252354447429067231996309262125866725378125635085509444618423943327071580838682287618312532055487308394637770547109039481573572987585988737013651140384902486366409242178122087401424753283914306301116147971185975034805727096210432225859714872344005790156974079963145156787954273079248048754960343652003620102831768323397881018519875779507674341703680*x^27 - 1805490584006994047972792634159343336567444630083447364897204300559048587277934995050074122981040335677066805227782768831294483677823286369718140064303341790585892568833918882697887404148104737931217691163863257604843031548830592572431978397060970943260172509929671616117598441468843808027709525442504247191085194599002245959011671865370068253477233209814738256593812849217191911990494945052600212420550370901769016906852332455320912990931973879346566748480783213266474411868406047726528072785671387951931255548049156708042340977294090761920449455662321649845967384606802952337443212613690515683444033951723094550620960174325893869439095557140445323471885564709568512651734439602291759785039207656504901383700625752064*x^25 + 514737769176085585790544860043910235152974093491230804813001884327975161713777154897324026802224572620548575731118282292055933041899367388324815662311128542511945039503853737602076525777338733739049760633716618617404149085328792506342269633603847986294527999029767520553744674797653099282373752207507013959988054248415762145720004022855081464658907702572787518157541988266847387670995284671710884801662392034039878839126706985411195102668632027337505763379906154743502837177734122626830449738456973065193971866665262676922666083750458448605406412363332341594625702713701840668103963899271539858279710595201497813062799576747370931865052345387482156587525930552465506370723329347796713027390692911231862458919419904*x^23 - 82784487157148769335818339657901978086104288338366021257456218811033709210160140867784010687764555603933652823250808715304683589901303425348408732051380042055669562488834216021224810742056176413592133556411015934311922014814895230186634147063287401055968706452257693395699586373187273192321044400414667304668954079535520363162585497019608748695066923622672951967777028428359584002861911128276544610934347792129205447891532731685034614104301948712121412564976217663950775775243856235835984540916629555179749253601249458732089811819499511615143073238718795544344263333392774172764636979641011360856930370634354966773920434706687641244390678071100896092738136047099894591072166334943279269499773477317195453169664*x^21 + 5750744141629020129751879040621654672840567209086403140962059372686132344042443306474750231561569698230060631461299695683226511089240150965367579778914446753303959420208492763544453760906494407651152148832106537103582533251185064383604088207957994533222447029706603330506164902403882385211345347994564508263169028299647030768016013100592570358384940042028782562011902308082523656400300392829099879923656281875454332736732940602165727568087084486138502502675335744946319324357848689478567763798996721796412272274039389580723687778667503758443615873212586861931041272113587501992945664622511360707885679621238613160986284951911229090375889477277839120124973502164349612851730199396605647916332138820211310592*x^19 + 120668316206450028065811804996248679626886712340546887088394214626503392517875305182677260994684349447241216892214411963815457191670156149938118670897010714116647879093494819228199697652876972050338767061431414870711674232591364811487193189256526382577369184911091976444784177334405538637507785486036574209105444926484136431409181700363289814180875449814648835864553189315706323817379364486148264292941780875859667936365152312952139034200619434229782131126423274679390908449231601310211387338646677256050034807082022049119588339044039895156075994997923597263994725827614080627635177186259893346917771452024482280520005590809692674501783101241859999848851400293482446562049330167375034997227468317786112*x^17 - 18100127464426770010678755397639257669443839334417954804161089905773240529256097892047553360432933818719982115128265592783698727768877059952808032627921659207512157040352056867473015739026590383006136807711680745412071014111209306771049945388501591146115814158232366070896023225773458983495741814353471442975400067781456625691440018769684513009660592331791643198160488956751552072168039382151301903331030666469503399549168854546487751502378149430228112383267770805501907913242179165673891549853185300686588758525473247125996182858941855487658749601768016747723848535472286624440529456934868456264119469699685867584802737493027036079394033494488793016151100821930809246137913733312013588961733640192*x^15 - 1702820755049894003504395119469980551789773613134844514532831770895101782203311363219191175802574056341222846625007589379380294363005806533924995712493145006818197679585876200903742425887491882711511430826261061722347871483342909087617258208708793644207244585680764520569296242727466828179307834063758957566717724219136290584113277612007378822339016631524004217964900205845389035204561853967112219183756078964243800523408597598900721112374328106318079459484695429545773471074453557862241246061054631176482810299828232994595497757088587175964107622835103567389193800882430697694470158357906656128222077581814515454700302452201454495749279654936203225646124752589084882754535583815075387228028928*x^13 - 36969417868876903693152336425244608214697498348530841073673844229711073301198446030432891656282218857385836099859011209011791731412296961418746607209398447503774492379727397701465150709210679580217245463653696888393992209798900633666615422541612541818192789263292227778760065469369872873994741239736163312627568676599338790565341628226931837825461059841503760058108318212741674442902599544557005309741123788452258103069402961211505698247746334124739084276592252924097221853892804226600818050109389752246475623684352707666452932447328920094385409034503345186046661000307281163402630147180545227705417482681308726831427230877856701386304842114696052291309711165459261108778149116321036500992*x^11 - 369606664437377015059446889991516264172195354791399496866374007343680486455339143783842541859053977504234921141885734877437120829588155455539607745853468834722757512174145691842876547073787176377425803338340894618853092804149648940610191782849238594238207838527389778944572572813635873835111666506769268993962455418368120066121775087153197898699007123595684011431372351808129565339804796019433711916006880604202438237817513631784982159200471328104142376260551999693049719033445899455640191395610599038455550308827693169940397066740711593608469227917264777079251256214270510816727920662591075900204479028536221897144025908924913852177034129886217181121598997857761450769139796879081472*x^9 - 1196888837091593486307161798900225007196202502386770337828906780892113848055176982668948634436185814709140117205856683040970944173235689185319032155162788788903681174857187410691492934659178211991317984451821737930928329652593884201209293069349019369335762060702336794286615991550766190226554890999527479867129367420441560934115845791841985170964629349630681530927253021934902938699084933957757290622643481428786347378279395815962873455940913446073735985265523623374125582788748009413710761437105704525193721344022934655159281386810719997455086264223643686180427313707382764643245092054133592968004301689324265783264996428233528073925611860557214397487378594663699199701765062656*x^7 + 495179099054521727351677934311649649864054639890731570456933582802981511119182158186391881584205537860003745667382436531715162217715345377625498563837380247868907502008084067772982188861043492169357692489947527153168805889905340329908170836501669509009348439954734800567468915586307327407321945703319951848824746172052695741714750385361205278907006785773787817725560124400172908008108605893692657307276015106757865189507813632751317590344876018673399475229314326375324036028461404249067589852488107757575417294129874762151206992904121733257801377658846969422165012823391351998489559573591935286472767182773693583116213762737542338939544628273066572495456834994309689245696*x^5 - 4380072305405811578474232905855047062842035667371024774940443379770304927234780911773879689032032669004174825306407121471533923907728285327671865809678719010865042774825581163593495204224365112237495296021105151380802181051473471292037607997034587625811807536661030893817538777236090483182933861642592041671978029404942950421194826791987695063955401297977869067989952474974754479733448743493706475520957895906975399324963397739384326775098229042819933091670468058160387862450300957592444408159931456103592064614912250536523921935338139350744117647016125153319254905032687171263454500276317278364355923938603663118942810686327978548725433218312751902912359656587264*x^3 + 11333327745666646965977471496221539400191106727123341444717710793660877435302609863398164936126801269742240595499603018904196338179409338763229734443690686975030656440724811316059750054427514782391321353414520636052122566431576026177962158522540919168209142775643386138274784990616734066192006260680972809763333184082728218969109291128929309820643783078573025875199652935400951175576125240571491420549354327140847265223428279716982984564074707883024571673367817153761359490972702166771925448566580550376434237560665486750112910853503781533275188834596284704920878355601033334177765852307682645006702951463682585354803296360590672008974599394299785206824960*x, - 26712540491471473435475889155168302779591461781695119133580085856003550402938735324247351392128153946340290060536705501438347893009091829714657197369769302463639027893891664295298535627713646681542992036278312154406792622563293668902339303853513472687667817770507894475140107342695269096390388938817342295970686278617403662591441219459373048278662309226737398432405782151249236492165204771223200352801455292581251412617322209932520567852588446912504275251129336354549768568451672342461302819578894527514460035869536678858815266932434409042707259268305735427800227408062858003971854602594075764522640010307716612580852824265076969638352441114642408068704028356565057410104785476880297437431517096174359731040921227292108534253605561721543632299315077554463205118377422214443788696898681447398876631741985148730910148933909964175830285309029088544436518912000*x^210 - 368574534654969076062874939287690432843387446434917401597438878487511033091380789982293308581676343285989039550681951047547158539562914721887189361913249708121769476706236773633405015868601164731121824062225979689600713859590102105833259535022092982154557102512815464520131038639441551277522608323256619601078614073713504996445887308920757997452405679206485324886515725363520529842117430658999573484547659255273524100379527592608460197216314566000451824135523382881208829555449617296659795265052094112237788551694034195693299354044193754015641060103574739240699629865909234274709797836903803991623513289937652821469590748731907442962835718837953704091223658797910837837598149532535819527524205268112881680257914480413955237844185394545889033706106322604406787333471119154163699797849590904113884557376056538969129789284858555069459927142209059551145938124800*x^208 + 2399446749061276474156371934244276118853767288995152891419401901926977424984572651191188109515926235865487288472651336119400687028078052596758202529179216014726456535461767257611917935171793645476384991016107057832816742809529156661646607999259529589858626373417291342140155556300025125581217622977496399008705769292256808324790408595934260352738425892819156884069253164946014259941013353694899298155873981492642963959978003149361617134033468485359797536970036145030684287036516687046343530407811074920977966303532517725639926165113428488416320172517763791956935250315591324549677441660715107605325029502223433270035868460664432616704027648261914187978616588143797083205845457121259749214751154577322279082602653818808908689301060417632250949572096215902029426954198009759298323167043961817662138462547537872607526210837410725702345491118758063188056221941760*x^206 - 9782259970430959435701129173627402941790580589199913168193483379076940697080404904046097039093125353264154230643527400283087501913345909765765055710702141520033369674096376717194114307680991203139904050087643479268939982869222869308331697990428012305932884722526248699627027280514696597503106311785361009100778686948075543144812543292264915262159720640479533499764314613777578804277252603135292578239463931275868478373273403174744742084582462789477530799274294638248368879233883140480149398525378984809581681930118161707129256621704147618474311473288975854276851351340104414420172771042789034698312948576358227881016722564528874696060103180076099158385890500028851114007001301719155303719666566540202179874364377307355065314966534759628317066214056857932342407336322686024728110802923367035365025810004905473304076988413809309482720689418546658058491620491264*x^204 + 27935539757550201616645005545527648673129824361325596689525924786257749800289206405539987355224367608283443208408968199722517764999629149038794217604606468267626725971160688282029863540457507280034681758679265407978019395644549447281950494299587476730366252259873144603484417734297330049449127073796822143352383427665849232266195764398991475860237015147742731256760256443099574352159536768474294798169718159143619715586652555542004737929278238511290320853824086014520163783564218218296218587098106222999654159911724132862797092912541074458515136124886630581407165976402546045348635158534889288648275794697768711908497132189462956723409043895212543937007319761320592359071556127386402164493129792061578654665728693033794253858380011469242007554173182683469373001479609930873327628395352105419035512320804420857142096866896073306528151140659132329845210698743808*x^202 - 59153812908224344873319566223872504150305873408307090672459930352963687852561175322074734873317571064805414928978367594790136461474976392339562665625608796520392939665341759710633745891733142033672553130055888277041518128461212911595893057649089891025870521307959361703097047635532456179898652698774550968432121039879974282787434945617344714328697517354705800611738318478207245369284049163994271086621869199251845127971998086044966889301977122888495024404345505908305036620390843967098874014529865100504748906930030362302530172355637492595354377057249446637119382848002691505397076854158365530718356395891864415675792225206648874933171009527197508473428425498615141266124291363884202513279604612769369808645985031823513941594899872128213514905521655443551614328800699317567652836732334422578318914097822281338960178137647019411105858599848515654740677138317312*x^200 + 95726513378533678994492573808148269833740546975304803329264420057797876830380558340686481343321227845679236494498820386121161538520114148599022950323719020568067603611884554203292087562775839108184287158664179780932645679465076670363886795159173642229028523910177078396345931955580889602264293746870834389579800388482789570314239182668514556613303114304295674341057677653506176237393523821200314298335994865456838647078148641968308127986704964836088843033836052983156562202062670704869328742011643486235134748721200565568869247592737193220823458016939731196507146764660812192231306109218745485213483499398979998549112396391335190426687876339021431362393479127558416452842570270529894489311182811825238881097459602777857416609639808064445037842932218561402320791725114897696644010520438561827058527916686163249782927636099403532852030794985883736032610743222272*x^198 - 119846739724645397034281345624135763880222039440963971078088129626498995642134932631357806574167283529118199535211377630216730745754049298153841979454268851108105661189589759313732013602063174471329593104826407817560295923373328278412786825564792809365245430411883889086256991300458500362490379695103599663174850583951405528702017241010350385540903003111852667359296055364499231923280744397484463861936863083074147266535991661807457094831999652513857299241097879160333099696603181190749334012218645754842497646631140751722046471794466204069149730885691457186763178805369634380352708628113995822275353570140177913284650364164299549476078342302090813975461819995897082782849238313961246718005592005750948055487943247304120255607639585612871587514058380950175749623073500567587143209434246723816682890082696931858514121388557220113356056802376600344352888033640448*x^196 + 115396292829385795315907972788859025745949111135867452745777426952169403884356370100514432062972000197444752017431115877793974090754868685525566277751083719856150105890948072250056199245716142401471857629982700869258655228971733865435844322109906326390669705002276423119211311075709954181767533830033101016712020163977722857727780414681090450339618657436459344804415518824705464028650040811210948045809856984979196366231408329121970915936539024751794604194214635803814052568950039476807239973576293092272234344487863798031296740143946650412810889395754137359503963192972249084991364821210148725184336397224520736840146525891916405514316920274762091839777537342928993208018348442463128474171514581314147232856057863432916906966197310489163005518407688120680447908294725686207448972880355787467498689448593115184657923254998882690128583604915529468135733676998656*x^194 - 82377112588858672819195492866416382434310516397267806547130650286513969223232951456901967752408890048789943678994599055065032207194574252541440488920421375359296662610329775116888902711350900050773344367348365449282986042838666533145046578427452668605886439048169964017282429281501681397807934425693376747573948737367163332850428527208135421195061764087259834627596214130864951502504524489708686832148703955867991669722674274262898007565292393625980878520462201273639357499329589873591047090623729531397047720452144507042094865976428562613996152662363158026589090545641308019618859887549105902671866226779770802088141966763266170030903297464560583244259115927812465675637966678249888031139824937578561434666814500294011862548218038294773364998385490359892839335770133125411087465358493186166753481726837928794952847854216289895619496088964608540078017901232128*x^192 + 38309139046509956106726382553111790821951556792743701011520891458570738204875258290050787581754463720257394213677353194534906466871176199086650399378351938314478607319025177489944528511748735997159653574994918875841190718251851479118700038883307201534361833712823333992312525003033618556471913994249825501065684926395025438128816733407774665456351279534623945704816750644510541866926989763167218129245771715631262008022776028839843823197838071487559082428916950384935818759036768567141619037368358995160877230720126695995336986838260363495812847158026397876360607201889897922456143269193090485619748951841962089614659894586339215242093803403250351533151162927811150032883942385873534266458957814763868252757256713251174698096155096650587114690656053875914506491043625233113239638729594845108279727678239961504147878464218751610002620800402354977402243399024640*x^190 - 4156230432833441821183582817900992285247003665529467308875613381692160175750247421242136441890043603259618825941330741836240489230982012864208935613170537375993508447617212970878196066745812280827696993064539786768837424741080769861710848019064676742995604252707077854686119061126184318813533119925006162977620808272909287628094864147679717731482643884299839903578879396203350195912679431643352232798733779337621634075682908058078223090301298187460158208667219373463773620063799576726654797760105097003638429823903293726571039454907804956385594629575915442201896336200548581605100452103502573042687450216402364709752279319235909632717091379101541587416226397274813567192750574545054162814134623150824179715386686415936742413357759952486712961568943313373885757240772427228481206576653440200743956221989668555691036483923339942543131929929746269621775811739648*x^188 - 10650764130754046875123842100312944793998288519908290687134773901537451038692614061891541363188204434341395795326444020052003152389030301539205192672583094918303611095622062655714011399085635510227196484626920866431673124182311393478387776145410071142453479369814832600234757496717698416902801851315721963288387057249287348410941366792325043369696264618101685365997448878594595271659425289914324635213928420033670659699983824527023480848601378288905692104159237499886307085684726232344308346229345163212129503231483345770715376330000862818763785412472700624719276904142639952818553849667295806796692419133721959638792883892727958812500734980444887365070709924710053352574796190393497288162543421050827043442479324084365555920825647656297969788311753205586788474705896231496108387299990375162665225955884887183232273851854951532292963527651852454927564344918016*x^186 + 10514940749235247717077901698833925928420084571692929296902681207302128765611777659549561683519811363078613313232086291551528476567138487397212799593956209411882653283481368799026783016296942712338254413078126826970171195920570815385054765593167471932507939973731195191272615772801006368906520402368850233693605325123449335251798745004776758915950763287074217336397098566352376886401860209859655430274722910602584575610185271669828810641495718997733701822804090625013311981386222055920827495792290176785249739365942099486957551163606882282384665684514170415305775487289217751672015430371324759268344426369955568159199363615244422131435736687161250511388738689093974225915125241538490819600251949489896190552632983698965737890614882415709003162768957766523777231671562884262466845914760010600880057771219514432690230542076059418642143456699291934799000521146368*x^184 - 5104023443828823815490063697876522033197376826195028193329555981383126260221233962276569826807370214404730009670477769138367758479797924365564826277035562413902641513658958610757981276935575374266754649865063136061541656323424129389906310641135853415879234310663726668841928862594724907084799058237864599148382997458783758640698390369078703961647457409711482840325514048671512858716676133565615533833424258380514681889085724647314591862436514397540743545673908527586636296355018395667629697041538315684825008920323478868567584257430179483349259054840473886530521073247416249893065715604783993682017631614078498419297017334868291744515589252358870906719781362006107383812566181038676964175765360145716810613817788254787288461027873428627542407302385727770325996600747862990733548601386266992853594173777312168340696447505687438578505091559746514197997416349696*x^182 + 932466130842855754605872444099963981213629180964011658158089321381044604396809459675131229897461045269700718604555026821878619548517328267303428809513230535067256373098794172833102431555386954937814566156144668422414875169543228720703320008929501614970953790872223849173015174827906929156891793332191697646299167347767006855171042641251185381733360095852313610107975229151923289437371340754805771491957428127396339238910687195947781714263801259601812114971136031627781286582081084823569237614210940855530896625099284900979724195429744349614161331884762148615025070759396627507235527741900332983752278464643261986208380024775233500461764935014803057739299935067053430541777502119274056490312597737428524417201934869021113391197264821900957325550702446646797379849087806662294608251554676093532534343254079453792466173704002224469966082262536271654548699873280*x^180 + 571319806929444560519416043292928498841036751951030291344390350940464416443077020486942899438327050286182784219286870662206109004551712442739035023904066725058010271760042159372819997753360109593421457767267947300410981562168373105574711458800744617769192182840465270912000902939779143555393680746946547246542420871920376691462766072066052897302237224079603652455829514595276734772697542228553220771057651342602004643231897969458385975816456088561091189340768456540702856643447444017250005683219784947176867158958891644522508020875520080387916833810241382328275362586561861171780860366585391218264546361876319237705795016783438242162834476503397059100295079354157383596419604303160860518936934185095750361451641692599587770155461175319308296722206798338331402232941893168028799699765690024660626338676957481409831595130560035734656827382632039480702825136128*x^178 - 557708952190612005696804690930936186179957566947062523558036353026503432180860217967919835719354627656456007673139198379365799946687265788389748457726166355137130022261630812914558142529706036846257884374106065653279502626243611391025272964866776474979437126895152326629269672467192555584461039232130419690605978781864646860362599794907311219217311975033984725912528741519911929759270233902437579140164596830756106346353569653131401760614333928864917756585095030720095268874610186532623103454559495638379347142208928648810018862793808556329544456841438901341063110133893256000018453310306949784166451919027781732132692757511518603784599114839928402558486120911079603224034573212512471687073035915727818852434713374561013529233240013873145590694680205399776749940617125426104864185992652985131432128344211161824640084987694514508715882455215079116270022426624*x^176 + 225092504220207626429808237543412307196914538905262615440427193302313404346874331885111053593220723617933487233324712247172680927340300875968105958775038923174969925103730338475282503445933386129326806627307713118918849864946263989126383359344748742817751135059653517116820621933695143617575978476312251198607406491599365645960232393591212296884770512456324186961532276048062458792461213122064947165483541875399261925330654643543615247932329592542618280566411408464645032223304987626626228992614082051518432224081410970507396425476244257520519763754515112490718154245589560533953444774374369391767604468198722671707227243592862279884652269997885561268495461721513202164342549660180509763035080648552227791945241661495333869354773024564806240282976317833771447918158402576920982186741008069003121142396081620701002671398309401739462099813513015652204538757120*x^174 - 33588153427154157635195938262294474041542306051473022119628014190109413387619055535682366550102795027184228660477629034275557882280499475263801956983265663316160038183550968214666575747761696517760580240100042593282521314995922551818689991149041191982972277495018391290456969499422998546363871947466663879008533604383770906588678714250035209467914957988476913975165476505442172775805331264854176943524693624734351073746311945031077281398516610344716448871276903097799270270466207804837386616081226921225995215627595437125519367543794990010430678119100175537317528507626303769848146229790365196044580973756573690728085183260398428205090882140182404782871312344872006210957140149281125841155284521566820886615099418568757373469080827418034273652191587414339350974081542690085418786686561854035148052207336500004485577498396310540263825164558187421984689750016*x^172 - 15398412519970619346963795231241423918388574031106607417997308135597092386131648433251271391622340447501377371753440853240454470171713840551365356489323515035937822090530288090886998823038800154515574452548031680750209472745597217506400373701301793063607887013997016438743005955831261937379298305687448389037036580970379027721947287650030454387018297045764123542988551056773474142644804903838481997920825810882520599900304848978232850456296545688314641433606287746345133871972517584585494789428118764112957261634630487093376243748729645508792058028307266446073453273016159992372214191745988686366018953481313426053526144343152115305840966663915253601870473094627766834736702639503241295032060722081353139327638748154676117108230988493246946458058049099856003075522776513365463087134538794072037783108879885664348764536454269337159341533016143600828054241280*x^170 + 12155200538472287586934021766710373076334885974638260518494384645302877430288264525475640991252533457023584651099906589331141978394176937568433261307663731239403598251400542525835124382348856267649138687951230104409538141695895388981732854325972067689550615335705321959804579466653143590434231474630983115041451863135579453445680277244382914816393164601864563105432426623268335328326092247066717231902742537239702008874212422556650785491197405103009707889475698135339285705317156145713652267351821941619432118259015232691971166506305909204358583839954023021874377268079933484103994344351629080049070338179117272615535340581791207975521093865143506779349618897564647072046246972441692974440362056316216007494358844313010321391325343345804711510405093752810641030548072690813574740907697762262398460743814138814757573517038279542522967136342349691265352728576*x^168 - 4049243161201360669576345339216633645980600435235198516562797105500955203773578130734280069409691707897816321304763361779427701770766068694744462174315737518680282885050266701963146269617190175561223969416467674434868854880154556591923510112440173840298375023701337703535975777220736210786162105905460295960591261665861351545379532449190862531991453870485648944100427787708186684821740108762478912984050296482722352306162710074578734137699562772159543025048721168705712298063758643281006866340741697381761240204282262033160070263470652736510228455407816679249225783696483513496184926925327093870049923271052219577793674228132006413431019376338784711466234501316527646047843548771106794943611273455013531847462473196911802081635340398554207270308610128385752973076864723783680807098027939077434397052655915301140455941982455777705365901895057015542867034112*x^166 + 612798031001801027934250494227420307272270200402194445778202436008080514689553761902110523733919767096325755866816607365865840393691796550661424919166454581694875309967366503549128939470460895272846293701998585777750671081460451758380020214626139659830073290779525495152515066282093159698249356674647757251883404578661358329210489239734252044887974657216289807346882625016016867039844317543577739047069632877136784674926160412870162288203689388993192589912422211560774172394702374379928224996345231368545410932111400153557221770277798175686721121179991250974637631683726492834733175731219046858911926499825995877489738989973162782396378137720667585818907481344662324166491498659179111147820779889763294686756660267901424072157920443371141303696874155866578163727201871228145308544783516850696167016375892652504160516255033114697228358466176985373471670272*x^164 + 96409425005175698674751542824994589351476199481484554505571556497257418202268340338836955198717298656027055392285294338011490058033235762345202720207347415462622204222458702339155374320142784677909243095212478664185437724229467629688603517033873522575869785389955575811312395313033343577778790303326718303815960794392986232540157192343167387313494481767587345267103800846177501904096013984994220876948523536697938402977322542780768776511554561233022794731498386097632415172494504377455738167667641369650070160256413334104087564054359006809936163162970938591986872591020458786879477800852308967332464503506231229062108444898298739178769768721754581203293754033651388183093122861986736116109528251461821611761936570576895877968138816134501429022983197636211200619251594958177001620781481959308250386667328472931794076118840223776964708311553113536356941824*x^162 - 90205056108645177509985745960428708803914791187338346015685070814365665655517811979129974858840951032940621040142637977792310703048750217536599009845371401480304084461819407071956354078297397310341629624158659999761675020140474200922574216094557508276563855817366284809571169968139318268017799371587160605289459839759598413655964856088618441086586591940706831535979139689788557696729112075120905361792996535332515002520671261954909868104354221657019489946014457464186275873729688006478098695947154254581094725710448451671500046199303332304905200253207441958262897799782368218858264041564981446745900778393982621163251423614957706997690660675671065257388226869460838592828221512387478210509718895199326491544192641973437283911781626416107088279142679213119533781766984461036451972147236820675574068580479224491270903138347333300928888050357281228194840576*x^160 + 30762696866270744744838283351646926788696369378849004264796515419025063096485108332934953298193893445396737188855467420909280065555571377424349025045503001395109299028648475349497880428101804420000964752498771728345884239215599043717065120314818575832945385788137286756139072691923492168999189486207888683442869954327287866709734943356753799146096872763349322458480619461861935376015431502917555830602118804789280795868503713998488591032216415348863840464566294442111468685135571676099430941134361164583572253197328667076706606831700558687030910710476005288763685922351091822272670623242458837255395891728934765446904806230924747453064337479781507190242466612844994243499052339613196532487109398011470800466536723747107714579477495875923433593956138284877367115879744288209412384208242748541205985198907907914030324535132713508608167059444990245131517952*x^158 - 7005161342887676353483578407929437738687565604823482579348192530325437833161974290652182697643313056865580541208236254473197688127034930105083599303172821623869330233729089896967208572320983496999972190752365113565907154919110604968373680617462674981908703531427269102046722266408612029283327900673457503378178578055938255602021473841112349580581868208216006452250100939668304862452395997481570922191619829088228051556708474002991255946629027142899396379937885426616538811086376344430775095651444509068290552512472744601798923837742146426186740978869866337308254622470675325198918296664309855358662585968522248940908628538962805904506278676952180909257891403197020647098057353095911182196741171105589673001400414102237144217122864794583495995180708546203709595724965447294677104170575328903350395482805512074485950058070898358740850558729974882003582976*x^156 + 1179757982974397996994343536802654735136654029120489328097581370862700720346720956591523488100751991120694945829000133648225454633985709281877727167736541137340547511897954914225403216477903348785362660739680230425008587292064061028338350390044013045011404917582919509959568605105326592990287989135624931583960349083761056907641239350381408944214683234924754871715433896231851168651439955998796116787757208098760002334737214773928747638820659756317441909853358278540523782077552169491827091065781437796006484422836443197343036326500531319219202905179381366165532428330904491559334562595797392048929064323285613793456135135451134042647749854960975119918091845276873322042395793303099659781452966372544950911207644122488182831477951730628656394097576411547581349190439880179606375578612374799653272037031515875458609906194526630672683517028587959153065984*x^154 - 151215960080558483925872654668201470413337524136026514775487205477500653565656519217671095802552729578439387208852871231703868669645131404696074550562013472109389826528489354859152285720352419885597901558936722148684354375408402955530483349558446819814760218276274501122583032679308893679452150110087068693338130578155901081410204518486995722435917001436846686780213051339788332700943328633447388959026495779961563531077964486590875709727157008715507834502408362118510875252554736388643132430480684411700327279914335309964992448352702505475636552346880421820476694145633524700495772132267508174510378250592990490702382222563402750959622975657465046945812857967522117975760475718029123742926813934450073557272081384524389473926652567946459335406634138919887095562972865169162520678598737303302619203181369423512291223070053142062073355326206895586279424*x^152 + 14784810226012425687670256248763791865757164394610056008928822056865953768801803904873803172451132068201554386002331262842731452469110497846314398318238392980370950940033477329464943523205988319153454203650374392464761796570519347394642258498640560165218438532923738958326703050094612018510704165042191868950987995703141838533646745953162452170209158201826873950633914483177132003969655882222832745436129845595120358245617862879588179337347027215948915829830373306313331295792787249954901975360116926606268948002703393638427586727742242205075446308893570282636733920731501487607000131341963325680331127161446843667869694791138071793688071063921715074098575716870258484908075965379014915137888386886861200585213038774481989854877116024309719486595076252853781101020853125834266975486221546362477503586580576197079625307928169661404806311494529455226880*x^150 - 1086711929116707875446409901341663666447191810013943343150870793519838650553627740559201891460575008873024336837664619599112129357173385825245857762248786337032765035165075830130072979388889492767078572127769106891840798447968479363318006939244302612681928205508910428557370604784496925748374154412330540128771773572706388998786655769764659627109067692914508575806766320814755418769408513120715291758737416695704149594600811700252304484076447102291750448952970363097603288396916351527330777483433050891510945604049449081287385489732234038759633906944552951984435531928698158519584266499925775012349892176891374527569379531222082438766593501588586450826253184927744465435048262967781242510686732824238257798731143623275620019810770061791877592924278798992072094891707875152321990728778043626964509024646246069157100210122396969832483160449205818884096*x^148 + 57852861104510661560652959003088614471610995146494780679107140938947844769797308668489788548073532048797173930663824484216371608821964350603688551340026495147661436917312048274101360989764681808964723124672011916193819948487801560017423886388928721184859799055428763624374935448415448694952195130184410831867008098652963408346682408026892170713239865940867544722000285919331925017723239248012077098183040973695626466015590872766661168124121882089023397050697263075724313007070574943147744187938350290033014292992124215528427638580432417907153960241367076364855686950754019596616547045751722006008025643719887429147697055549692069592876706417091847031386289338519092839172339052715235243423129165365262436206485732093117980380737304908471900734721894885112546761824291642277261188484091549568646731276456755788173492954441134662341000661613540278272*x^146 - 2005734015880393393832105354651690331994056506545602119875665105588430080235325972041268880842269246692335043145527125405402640817451487782544513276533704155683301496215378388693280322371937111908465845031853597141244396454911481591955425058572726641353008592227647865686791706506785628876272550923955023422516934042074145088887195630728117472677779034823097415897323787847510182416023890533105110407965836728701816980245307565878382542743613047531479329633538773350093440329623242083389898344461028656553318649635274654167712560877887424263638788224181302337995124002105468768469805811153763139615730580023274040298610059640852255626584629884685544808993026048977862686420682554906258339824239874179076672813599015264942002787575472754318075803092549175762279142937885194264385688229856856908909681083834159607473422807060841315590846934648094720*x^144 + 23327880512428266900747361135081587651850876351295066315422494499821507498769485838348864065874625903646581425920625955366172718682929322749776541102020942276533766600367148735899303379037107923290478145172256445412093358900492233195594677026746482431626545717139607536651663715152307013627084781923974555126038105410792552852507495548306030706529663833137979372229450005649964744279560513631457091692576961775807706310579944636073331339234938963358689523846796221524696464450838310622792740307987955475700793974743410009289614434246343193576225679767545051192334505810122342633636393919825124904537883752183085732565298801477125967461684234352608182560805640149708178304624448818940049684724888757936885237424452683918471234477301327678308258558868527042915533897962578774722323553909190199078435132523624707882001736432707802306302012966305792*x^142 + 2059096054909215651983633313587085190945919891193033035763481431525580735434185865451578062985778859868585158287314777237723371294824268165145230199913685627977344629563382667588447630583600593692512368302171569769253650065999659615017131800583126161612663341014128988213156370983779444993785377855578065347981628604877989079440708489639233643985642791596324153111012893314610369784242495369888441036265295121765216105406585531495751628576986238436721309386996139031062662941113147249185942485481853937805026009534844549708277312259292364970602214912353862196429074492071704613809339551019724984373359987492477318617304537763553162564985676255178235323365030251821258571707645776614822318506735598473171236885970506004535081638940098879305001941100844511798114792877525176266528693477012909769561983584213661004605653617060963116284534778232832*x^140 - 146270836934227219130085059664459472518534289073799308024799293143319955131522973100836706804169191879478151841689280671321932449762531459629247543369844925300503537907936993458046807942308867105543193218767666603256426050507270052007826366953889157900150483602322779570110883804817548022828880590946116110362344889657553456645408769154736407641476736774206343139381352393838321897610015671384896066862717951320043806587677434108744559146247918615239938027852561447381225010522505502027238637342759700624063503515778028631285022491919684995416096660353246658208039589405579883296961809476605639640426153037877286167463393121060477472897244791053755740725622239346609737430400652931481914972941282248166465756289443352980660998708598963010078816032488087889010404108732481522709698225918063900802014791588851643983795173090943732197941986721792*x^138 + 3472036592910942334194599616609737132717524438846784157059231337554285931573443175654130655156683184830611553526083921904552857090010622970959855779933802363756836835489449338210178515382937044737987337210512205877890250446980046600841387754182408989963696546703603655986224863103114406472117449244393910599011425533319746496482997037379626208027333292879046440937538392721818066636995679200168034803575608794549927721689272404010722324860473225390094710151894408505458092949616980872897287587436751966501699140617799077915028843497665526856465449588795033703938323274868736668178247299098437935121866999681246748860338427538485027966762388259371929110711157924158367361025413779997936209995216239241695256749415496009528309733019453836049106014114711992375786878078108924291697534648703698195779643699849983350256476524790247733837749551104*x^136 + 91857870974867517604929848970020556987825029537474891069527685465936545894871304594353952640039430992656882164115694928534368693942768421721657235506719689661191146781496186326786174296322282693641895594677976737487833945379016637656557006198382210232347181148085682890192416570803773477553831551325992517254929667004799510083669078598315990698966607520859086534861207155895933014575775770930647737346704505680162886995632571356638643333401272737945632737350916849714014370211383830652828098513856330657268235303246314448128283035455011521115706115301633130736064380320301370536079549975483925155335135617645114405068198862623145970016669878765956697785606359318419692315540325271738601414715776486275815578992123735350797562942951516851674443548846958976077845309474334071129503439166374463834649553334677234602749537906025019075662446592*x^134 - 8639370790269848271672035605211697432776539626363822518199678300767126721846645652761337468650531886933490183933727977562306141938194559584652433785193369932763547758600753908645587660724835641486050536334234048013788391680885706873220036264511155738228892524332373460633010240107768328742605034223366884790207809774584452328244193151569380610663614955825114124353878691410117808593002158416854244594231032278137269527318463290622202408701585090259937835966761167440268556694445703415118952274994246888214835050575887867289266630423360571031605299062509498051418952103495156562463090690777171551501163366918806604889867146698797575897311803105520323700580149476833759404692189990511966076912488226552482911247948856496976703438022358984037627238630944757705001438574599368773147047314704407805184669669577027356658877567431491464437170176*x^132 + 157261030200837019547341480493446786293125905206628537429021751219170316461986319893778764571087479720833770737502609732316319049090520073801070339585471303610629221589080261449885584038423064984885497613798399116400783997211477083323215785081391465643808883420345443278756421388525619755713869419000880994569563216311891872012371155369959692270717705119954635078342403729957639448501911669059542664643007929665572185630200575769363069657148472533772840427848925294336033132369383839299821411855288608430889362426200479144279546582473521267661959054123107789900096103045448130442041657913492936149237978335418018520340923964595090426564622649776121629020738187048094579159336556420790221954244898883154053656818551464928722399298721182392347608936424337900273805780722139026031299686380557782655035840986559446849820816723663748996268032*x^130 + 5235556579438286166546021289972348428726171323603879801559649745898093144495679182644688037616766463896899800286048279184170820689821383564690380304828448099076118808517619441503345604880715710055570794083090925635924952365400256274184826657967265886711074093959194404008197030060272100427765027283551133859266850476470106299514458044422250363057610589621464744152465556374780715110079052633645398145618289856949867901876886580929915436245934285867704264750539948184189667465293355136334334287588542475802072080512088177550528739974252619860691679944844950050607068291463364445400098683891533536411258203197115911424222822025440630524980325887973658289708633812837984349822357637204253268351830454306301999706783930973564457264095562737274699323029537311941077872145916512831528391999682197436543007927743622109699672883735712411680768*x^128 - 260223483643754246681409304240681042938612629410831644461563020734908105369391244223551750950646278617659859675489541772625162131258875057235774957706177194540551895483399116349080141392803299713850278998355121044358887310101841419431571645009075903896092024938875985764287006168682347589766522238585147128360129262207420902195534530598209387179119279511710384434397843072965834347168781116396731709720498176440907940286237455455066456136975599846040623873872819601327715443338158736190577806526288381161610958940465816291116310682555418149438069403496147422714326420977372756100418377435559668611660588096757909596383541106927352226086850691719560080662397526114032970691308978077494244154072368406111385957691147730411337422171777596692989165467396843012202373955167992948696198841369591663535516798225572124845297668369429009793024*x^126 + 634051677415458393028968618255468308274810331648848609935336586436637229572895849208169144342153805198048529089490494104468588593600415767357587109166774650576568251582097588410658623870616130586713631314810886005941627099341413069247240723951065438557586552081182218240401848864441919389491239294604811359494498901786113058754447116465390461356442449162717660840482400524352205467248472589396598726829355171474123641856616189645208454615811837694830746304530364525794696625581625052910705808773864323325210089379369209818607051575671091747083530705468422089358201202059327629025881718049505069115501659084510589323468164775499563622155982202095925320342179790105057084406810698567640127335292076218361105318190823371055986177109118302137084200671127802880263167500370211587023501246800915031607323038599132187678931045331037585408*x^124 + 166629466298070943123032522860762043356132184581469804757082751400767607300249286782638004740785975007012958102104240835449863726572673659361430387360978356813556352199008230879104376893977547763998923458710820603167804690191569165140197655254325325513694073827130102169936119973522320825441097469384023060843982935862606776931534621920629095199516197851725487968767161120255437818646126241233528744611610615423449399007770607017069134406595590696021519539319190203425591314649842605482857906908205241900861981231422239482817236475370401528104845967130367774030507471309931877303496390614608932736366509389680705093464933917766602142098393275165343382671495103537648428475080513675541787400657056858720708450120830254318369791815004517757045792850638153382655198808399751257883735441877873401650903685909182980823939462940548136960*x^122 - 2526643365058483591129050529449655374020225367808006236295860458686898209112414414660185888732065470227195862322943287299382007452602374019020983167026331998949798593330378973851850139908694806908176756720392840580190009470216138023721581925382926637326306797587781002144290882633215700741249162331215589684851927073496980102743424931322961854485343307728196627645504051292651116254563081233805358473583006239106053579937618930387752487610409213667856221739028934937291751163954853663398695036418418498519194213096158713197734314121980074533952450769285449916790254860169475010501879966329247725272092278117563643250863440067002125181811785855652381923965405594001256960102801170688643254197216868211145172671203633904035211740932839955745630032338617588040302207262443913696653818286850724802264144749705160634187161726059806720*x^120 - 57105711780154182724712755528799761802823995037631940001198528876480029716776882423186118899135005492523656010796676565910507245437651190166623268535158418050343393043895322056234777590773729746481731243228340881216457738191817774724768895836555497028463070026903458928271661957073014986103791178456742805800559876129571595342547586634504598773433970595119988656497480921174515108611462796539668472868126693396033479037130211510749401664470847521908781843150120462686930857725972157830772252741118314716034982074738085628567504041041009185132729135237427709186835107549957089668856383416139215198088872255281171419322478166111835333133230983563307161192044118838517692897354434004027350075132173085060951845351497872908963285977368343767694199570318925430543614426383076590258497148875321162630255123933109365963514931021086720*x^118 + 1650191022971424922989969999710335801575017962108301409292262145842305154633970171140173363505094909555719990034599579973257549900908620119741087519676136608996366240476619560930931278271721753887553812539221214378440305837907516511130943063067452874391604447576029984084770699252287812735577684863114906232318585089341265777539479228095738877256552178820255636216662460557735502411813198029848570741603491855669541781679861565371148942131944472479661843808646188218844757738931339875965775438532936621091118533821034596586007563700364652896596480729082426476563433554547742850457399686045524643132170831780798296866905196634267138338658743683334582482191656537359221369535463004464233191466896950670734241829042971287587197323342397131284768099325916337004853359413759036680135284744324218665580940338763254453115665057316864*x^116 + 9212043679937777205353454354328043498470628566590690076424205252637569019352972192245126427806011066066911559356746325292960866819919902479647905961321164118061835197603906938699352800942689087303810929479275707059774798214161473035783253698836489143515965253155550776585421009989564884231762102324832448077767349876862753391991791954837140906843313116728499837640856288846971844390837863307663698458313088418111160978026727449359217647311767939327784198927165792404247952682504343917942517636119695703230384613653041438797713016181785906823191227695685504600296980044843031873642513950551069203420715416946200194100783630258155584403433428384428711332344421816314011497586004395462105608378448001461893689989771216419071572097874761246218473994371331107095378765005385855777695093426225799423888099842387679474116810768384*x^114 - 624850511566110691010259235069638457913788196209821182993532748123122315734674310831266729364948051588262737730771967916807503890406925092552373552230709708554898224868833784221510227681009107744740179546418804901856936794991052518961754955554808235286551199863221424366828371758360513441085467211743713673877460457994103043225769984184393862332519658140170012847238582218190568833541983899356682126664645377831742925991337779917491597828253224760749359824840509948544556862029536481846046380925720023168610776244387633842270528924958910242218487539511014525492670335602387109938321153463485125850598485342846230243261455363167533624467654963891793500432789937580962586182026291513098124822563202576966884246377831658089621826839207641141799473925493422724378297338399095625621258782822389501615537082726382087268533796864*x^112 + 776333580054094921198317978646608986060191292629176527457967710223722001693120679188854185880755469895220170430858564401429532129535331717285031834359579760840200395614285556039226479355966238085818671953684607395608156453825685851248050370527766082315473828797661886978719097984878680132353578076267640164539101641628873612928187734942769791580689832094428088572951829765556803142213307678375634299555110898189619258891923132917499843837090374810670278585588213952969421504208299721994174971420757919533937430402344489199960550266128282540336017654370522812907696516817807136353400123052647908708309851828761036074553476654048173288015965460594052895809764340101748020965165073714668800075011170349915069226211214630119758357300057063438035045674835790591012941941750819988148344004604474800412973904505661219227566080*x^110 + 161863592232433082149148215568969752486562113867542661351543268729631392216305343943762870817267439364547073117303632734160248082156744988440928629674412320908309791044809773641663869626038949466736142982817540114707078682854524048849548081953725787326433961235522464495538966367396240026273752487483649741492959668652854059156750312602371984774942360594017910347457001398628069498386948086592424118089123702913822892135979089583452803335260598207704976055673155262476114557042349551910231749627428214198685004173653869717535398723544630789357144831399221979791547281433443733287723043209758339322826887187570012740550632785279298370192899494566150589244142001137850527902547325020190420254052975985216608854472279752812125148217408799666398394129279748997932150229950187808088055201096588578005214456307176691415908352*x^108 - 843032859653073398092886963296029805596829694361934933971622564665440904485612581335569048493649806468843810479307059781406058481544419177842977677739960113140847883186482108732139965787626678642849344318051385928618365579515432575470615662127526416244953402187671204194463339019694353792161402800191402548200585559085491567101073202791598037216731163439981167355278473980511463769268122997984826320218442215396177480778833578787432586812182000895733029638655337975677985703417257412573231102509100423355164853142956205261981071128288954059378659350626174152790109627684640875796248132775698164863359729260424728649160912537434626434200118547230309503099071717721254152920928143441288714351710572169389179390106171344369720530391317727274774112894765091651232487838254206509652353474739718706640274684582425794707456*x^106 - 30504058278548743352725283606222594947143101461133036193446979152035423707250401790401586386504561972741968899733237723282189440942916456423305667725677928357430503455417309179175954600846027343602872223231659677184962704543827262571009710160253835114392962565962039503541514846524280206922546045754576309203837323129406153487811716024599117756240583465263727247431772171403805610618639905414055279848919489410415077537588761742239626050406330040796112776084989710918088041929124815521373157490757602041087372751451846548889664582300686463088786357348574254384142817187440529500163445260040307698337969336553437749527196620493736262893836186767985847224098686008295894022821086387832962387035825632131562158542435424558612779532011484800041234305112176566593939497706298768058817173005320822594581342888870117638144*x^104 + 243544472735071678876457556552554522894356326998381791053211651478396834634981555236949522601984249626435190342600898457842392356689457507466619349946623332782941468606774052293167334207989998742199150671824093812719862942669434664200360133681530761517278283133386755313755461616826924442332622020778644374063019246179711210084570236309128226274187869852064068855843363999342932144672660051052609234363480599662284356987435374538865847686453674546446306134538066256763306977323432894962089056567851208771816785397767842948163268359619785111525070826765569514752705657365168333724648286293427853272099570745623091039050183827920481054106892986363537016553936552141689308783027592241558754082173505407330711441430841648820833240197572518464549350106904487529314580834942134188960801647993787512790492013606069075968*x^102 + 4291759673642806422738111282617617877738362775583990799399582330391329341486781269067192928789813329106121472669397832628987684997307991817575299024436183555401323016337311392764966699760976699545493740457166960222828904753057432359269287470422132079990215506787478431695733426052282218953165144400125213428317658702268111782995112008762362225780798438138761554505543859283589442054602908613452096439920722305460039125232599705833480057246818380786935591427612830295436703094077025990267502318048154250190757159059286952033738561241290704252115165938196894995168167427171192875853524717636243222388026592755650644838871274916227282526791685469522907209147150090345280885278516980909700841015782777171539681167264398557194127507402673146116742038523480751093012615177502146692445274630575218070955404576908378112*x^100 - 43787987230771901498654672270583875965348573599043782204613600804302648477442596408492377935348147883336933429254884356486890908380793925848052473452931872853817594775670285623817106448781191475767469795211542711758297515270195345273168766229316879695687419418279764674575390566189591659832456255036094318733462138332644210383675237058802046230019835636042576038799281907279670416854056205545833613916593336518324766527809654721708120656069547652040239160492812619427260407438006417542422242949373788564807460869153521297844014458718142397179683301979592655056808706082843916402348858109007302787652031410932361434503628341328360754573860251031317647229505155117280188185236018655023830958269322099449111873714346811210066944296295390860368751356687655506477073345659989296400786416980580707220813882977157120*x^98 - 451987148725845757295010438539849102143542188865170109946211085238204722564298538236199015776476394122157795182330930275432255152529440889415334768796932976419037346488075499373772539705498819384176664380233345038997326003660835708434263224412725697286722369282803834140918464241743228288861069684394170736287226640400943622027151241560639900955435608420160591710386267718433042520410072551294621112182019986132483952083205178701940305428345549025474333852867610190719958724485268036812540769397352129729360676004631711699131733035037475620412715409302279517151929384898525569798688418061023311690826507926996108130055208665245715263394378380811344999392950141550625976695355979135596988911880139825489432044990981513571544998596277652306676044391493336912920744507538964859924966924473504501354094703673344*x^96 + 5562137313691520137138279261672486561423125708276400961243445952130447511465914532213458739991100929464874221882879201386702572169499200419304339383397733685536659918207355105795370568005294696622301249819063532243109294405181496825474635285158308206208537261850073047937440692991078194120074134976912332593242734012633269659252208424434344192492856753151813754803752260176918262521586649999849251121531251243484938983700342213587917490753619429947102371518986523039870801332765369426849154131357002524993000369240989260803819988100648770339394404284199480377127619283497643155813554808851446716649473608670367909014937181313410976018228226104908849663713309755203119794381692646778828507098649730223344572025603912318719393264807174252357228596813854926550173418787364596588731892220995579957433906233344*x^94 + 34735974357194117945113953428419175268859673530443632793675234204527341850760851459232133158521819191072556056276907959613540433051986310093102282888470112771437505152967990911622358320021568635651767895266610109230402073638293847411925618199724541553789209693204834199445219641070470024916809101371261961696913699282988055238779430837902160690475702605856548155095859077148665891163883580233580757921977682947687661070442323915360627856321505810147892375334352673929406871858577104336900468553055722924341934240165942440442151415148744284264279566910292817809904083666431046580569540105690181928851941762861491356212184304199826856874005394811799331195336855742807123296931933203876269832418287399240007108345123008289777790084062813713540285366963373260918380698432238482503385519130584545715508215808*x^92 - 522118159450649305774179890357795358113156330131598051451409581890556493033677675790081325477341050517594791155826733905950434785912777034284191120095860368876102713339080622725418627071182952732262928456804369276223594746984249757924843965011305458989302781457282171367099795818033213167708311661562802857698235592653752211001501425075456963257651316525216627470828420920559068817822252025997728684193822601841384773004456878895417000241855141467256887528236089244674857249922638228642531688933793004119988047001398100159213100156300217206189800386808845531197977829041192785860953925086357263979126059477020624285431164928310692023169425624608027009557513679050581559610931653048607925617722273580119582379924515826943213699121309145823205351209634962478993732615919002175460152011512510962305335296*x^90 - 1793166329411765455674977803709063303649935220078163619294728028689186758969151403352373673059146634061630155837153344964476993186672271781428345445243298992629724831240955184767202524807262480957194186142938885472291860247569318686834112359792849391576534437140458322140972277721502558376849377632455697461746470992187227722124098328851789019428954093950687620873087089503859277043514789257512925893753412758297900455004075473785402458178247127422705329898854344238305700729280962976767017643619788590707119434858968097815532118998615967822101251367515592553272017776554116270055337627991393210074405496523709541687039352161537307221853511065594528239090436660893232869406849134431897033266395574153427513857441785732862968891935746064119790742500391293956263606865321646305562729975478276954521600*x^88 + 37004611185046792398106193589816787882144106298799739511293929160027305934315805623905387547761402224813008734065950258235851297993926882979088041706502657227702438518213388777949624705833689431475176765733628470837096443036344018122229359665272098299053395739120236244799666474503719972916603994084619772644635156838971757247732942306350849840991893399708269331772584794174813393530726638859174716375012163437989341626678232849444959091239929046249401015842116960030977093761231927384613003923553172321020946092111361960592068192685267038807889212681109455629834355290482495789979281582225609830980343126044796520740980318440849495254459342132243666413487755467284803396433468569264406130030292446076515294795306672977298748458427186281279798835628902060716324514315308315634605228966867277709312*x^86 + 44742743085213893472917949775585763467736988183175664646401525489137220630318276975999208051017139493888969515676901001176952543499384510010525247117352670719351186281334505603654234779620147509244574459043050154689485211913967017191950244530121317399287084062302658599106726893057845722733866085320952121398691305532892759680455337186166913077261658244027115238497299451772446300512234683144618596206511353360404650684590690453545421155583871732393060848560931156955075226158399382829985867687659296285891637305947419815429611929731236408384406408943973819161879087724428659359258330562499241714697985396060512991313666385790230911084495616928210507156782679374265973526666128099054764773001558983260359082005842653326857484451292356474228347764969094678181569534475082703035597774537072050176*x^84 - 1992147380522492310361205835905373111824258921064660006333303849048140951731347805532304672367100981014692551380660499526180641117645562096186399209385556561987969650310600688295220980133458299131018412199309999770869930384307855665548686622191135872419089090837792432184680717722421995281141504249092506814279669766739081051566500998981690684741594769164070031234233395835474240865212979369048844746472639781427062269548286715064782681950946303384434120429891527166916504407286407063455278436270668356298495217874856975039838491752312115399145170891284067381557846402133270080417223569515566950412998065528965876418669192693834237482252439306867556012250434204756819789708809956530033033767991191915440948747844405766014365839145011627272296181659511052928082857810890716433924358855018414080*x^82 + 1321689317928792178316460486018363481506419539609576136428669992718726855448528283782244779489121491311610971824680966365155785507062475961783019777123386737072019180966400337673739819172294965973001187293269934738206857336374882952134553271926613094212780787593840954190787675654514687872383261717800698697861856111906833804892221244088275588522705209566445928225344384387663478147341910678950771959014409044696991724452014969206627743237928496485278594814778422311925363763216159938904385234144915280792645085601251954815995829018958740602867325756619742964140035227350336268176193508187580113541893139680149233639113994298100891425074260132421297990469262333988926332606698237778319410815720467754770326840905405006801122419096949802506087521810714807381055484320363568705743512636751872*x^80 + 79941603963366015845204858568231466761010528960451059834228408979263397347271204215327675089593287334558043820084362582292675644446098628624140911048735630404701744303248539792863906755985401120735085687241049730003356870165539523795202496959488073410527565326731623513356954120615063206786412056548867209692409750233185082721906379909923935205060568654592971114111238791476705328853594198225298873817312308149757968947871674488164655139198851026115814301534160522704778603827473201027190937556268457835749315065638259069463171932957633956700758518841833896796867238797024412878077399295952411206915841095778910665349137124656974649724899239715047649279128112057044953659772518462974061812831989378290587738419533022796759458968890600504814474559861393376871997597823540957080687363489792*x^78 - 189027212412238940602620048878921243562658434299272287906307083208866834409025195705504714591798483386682161753164150541086824824640009777253975622086677886994727039236676557930370605436941776556886099951221406081549125193619050761829740416574923296001977969393721146320597817728185213975329328703514819049520248586278983423208734764808913728749349042281024786459000787430217693989210886981415747196158938285029792995767129362047312709564329022984009425758860058297687183753639220414130097775275180232994065649768291925164456525471661326341063400288776720201638147694108650975358744409778659384137057584123563992389080069721861379706229728179159513482135948861800864234919313769173085850646663765107314456786138807142656780396064800549706068751371518758068202334660772318953261370441728*x^76 - 2291353328941140144483313525580964622177601638589253404690827639449935445136187836838099963499043391080026765685922283667458452830891827938618426826171072193926009174930653658296176301656507912611535963837341985870476982134990468091938689421183756099861330273949890163271270996535205092184602021232643926243988673502330379711652162528063449603390789444276233161084804556795548466621740072316424325654439674802744680089842473871329613449485927956567647828703671591121467075425182459125957445155730718039622302229820069704342926468736771966839852184914414027410933708605652329078050752966851505096633406645371879551410538347870305645925245590827331114375174091273646943512762599065377819342700668612423266152662194552753707975611746270112971626854203092088731327698130072304996501684224*x^74 + 9638175036698793379085434442428170026599051788610434430943765960313743176418623748848264448560584156534029510949829452136433713572672317828693463290087722707865081491455246093544873149145381541505263972551848917517899049613700799763759507842551655250054417089294331177594944028258708268294484324654710386915534195410154011428832835649621517703333585543746276637179829961546044848863256947647863526885104008235644042247070062702743693042362387364111116853429556120923166459266233987357470146258952268293039472643037470826898290249690615268467472784793642697511603184064268834441731506762534718663364688020195594565313031597247678641707177262569008087513377637696280785892966715641302956753769773894098660335493769854312617880296291299680538661536424208257635758035654374446950514688*x^72 + 42443235720799742667168833553624160290736945718843441425027104647284965657432100286885097690543040320095279674046837645332209986776793117046472299103456456836121825828800066265421549775637505352232017983014617898675624712965645499769864168541614075989974421297257985218758527070184982102829042896104262311285660984816794824097015922188313100423231151895613609574882811926885008152581457033414206920158094841363286955358728747187368661516620610124413568664365055401778125466921127318642041741023158394042919726103174223402835512979810722561086664961921538309715233506774979047874758142119146270458783627435378886976019354432716282248754994867231410080293133956683505213769219589372732008646638651522562015358597450604423497512068101289326166616387576495031212575011882858417487872*x^70 - 300789164135736171254635593476918238279246981148088485083190397534191839658896992404634730758248579480256301278321915264250390810907343337909349487996629272243938131010635412029246424881654572192935827725008455183412259702730261992374819944212843655558107321524702815670155012015349153153473010927369318536263620770194787272495968062159745317391406902861542207922586429136995259981899639200667474327544350191767820260730654056223692860977347083361288044252885782226723884488702863302490164294230865265368903418921460794102223251161262204734735398824794183730141849032397507025222782121285130182195221717251737852879832746294387124375061066552308961606351127359329577649879655870707667368343213036321789808214156442697444270142267693774122330624283032608452642023536322076999680*x^68 - 324993190060740353078547738887173663261713619204476730412711131645822386231630098802088916827022475592434969840707901712074744239629536628643420673850453023332236187131601096922239176494239308100765982848713709936190981659414620930978379004658034371574746626969122653296373248192330265161039807582836891278862023363282879817982639835002954239311129523808145113492660394129339571723822919714314563796115014880260507383902646985572087680983143865694114626387885540147906194495198517364615130692160204409230335945823828329123104109074399300130836103800415822468388880325391060855692765343688378025007994573455018601279111944548616529034998590374302660281869726668789963114567921584870282737178434791587803457765190881463609889363555759627813412956799859498044939517919108268032*x^66 + 6113234809483638827108473207649444167114954050617173399510308198698265838434183487972921822310421815220312390402199640957519901867615216091893202024672663053075154433314421229481776512057060020756948234905155890145541948867752340316758639855651200352369529130076384727188900977538452526465947800118791768665541093323112954303266983594734062648762900404895259432026433342717613761500481726713699993425950181067227771608083242008907862496069754224924002923213484448372274134872142381420434983015466842147359663949466749168325928104402408888815027296138986402977273251339659848757456940308357272902332391768795697306711354611059939973374508030702521812248608086445631282430460643394240008042903046603174695049365075537607796759307566849008359212753801805434358860301624934400*x^64 - 6427122191180117245614989059097417759588072267539573538380340620102153617542984784938815725877795266954642846057058538282691019303167441462536352720775498236783536614183435070917592015960123792888873060508870876435704452047013883048798099851371076105529775462755094307790278908374720991646088693997000090013576977273810669198223688918055234376535089133472296113457227866381445750845505191346282866634482969433861882178718113933217325821933659328625902635326988442293569787797873733649743341645326605444709394288384663036351970771181426920545540647313103769314862194524742572752222195531898798272426117245785168398590545206871069980244897940173887940931477915293826247333034946007186691345728202114206450383039210053898745873466949113384884370381425532237526417293705216*x^62 - 74868594713171082642662242387119732376649123469892588972180524446772472581005580703506658613976983362155085784267431884139614784093630782352510563622874978794701012283551234535436038275761593957133438406029980675522056586378131408490892820365253172476796523403296302872199613154202837999465732837916524000369198724206335135523868111515530741359394139589147216850458831804140594042079680497366692882509013885948408754736537953936173118139472355438873100441767975594840624789028976376257169462252168444621821748854951222619274132322600347312387704315381837906650085792947266026473942535802299342624327650360569083619365733038268410051120332152500357735034370189155933516274907506169237398070640558821716755497057109143565170435381730715019143510399728538405387485839360*x^60 + 237885378133751810041362227019587686735295374276247894598414606042595864215147761592738451344141626519511067316797902956796836748811479690459634491605046288627998796303588561079707678970917687894437797825034866878705286860246844749647111381151719240541849816280975716932680168377940395848171678081616901489476205122468991536929212118977012816041467727341405161260411976667011328811131380295621716386207137230342755406408497226653749783178190775407411652741403882232236779475929770148105148558579345478204903908809438333950951452263264112012256754825947218870442756125325515267728190991012259274884029889750328530383167395406640959158492157746339642867209646574985025363314355572674214073741140553740848625457126270840401258721591365468548867038887939465684809940992*x^58 + 293151729650265149195092950172656002405255907513372546593240682863059769161260240263152408713897135700013229713245138779201289591158969993543262982333501146208876622914329516482956476529532491396715527141563919939374057921437149674622584468278667201011773012976878889811693358433771550131189263382387048433967348764990547784947035666776063356086956903441843329441316288260922673426026333847498846042515399664430269818616940110664522295850333995497407132561688684420270151698675168463036047376459219850333488962463576366360944934152550180729686213292844737102689518505620205586092662900426837736356325021180109995862714377720608224858557880212716274845389398076014401314858889323261348834370805460621394514395867373813087654787098925956390096009557388180076888064*x^56 - 2923412946315474133683449793302713342058245356163352791522723842114916386662279933437747684540683006564066168595215288913997265591158341346385867828271261688854901344818165863067303820763345330358306881985650441411019781339087639755807253376964266847102251332257394904454556754722856379561120562776925382705502487640560946511455293054876059388259770158779336017969187365231063130872950669065668175645475126083398772895410671222662418877647660664279951511888152410070888507619016566767944639656389262272947832205501761881006408772937131990049957902248900420601668174167752514381534934227776240853957447178291311039803190666112248092221310012908959294775506596820190515379573166696451535594179005454092101558840020723707455743523018502564896675140583515108671488*x^54 + 5022501654918287776586405362058332892199091198574341676347559269596212788751813453684402804683881713672021061685902275291520813888669785026132778909444627526837757908458065234971734502835510338564307308318091840060305097309354158334791125913038400522487011580399177092241936127562122061427426666080115669343772372768046496903012679670476254634951946102827233467579816860079963996420507914032177025394446076845371107530944014427162589947825737503665489733915659612400110449331100934007771442392734849355367329288134326572235456155760512251113263175954967913961411926147558746541782513598925213764533834554205946608298777666456526514625327290079951077236772124145402574310219116907219073346831795246365079043020644861015907473466094338281735587947156070203392*x^52 + 4729685669383807552035245507644265303343258803414629182614993525110197126970364169016562175265714028021472998573397868251306874228166364802472590866026940036010573112366094438440571783374626559465533626758129470517402274408055133617207381791149153059838777462750242158106649837060089977237536836637334544180314597722096032861201001020076920711948906072071558514804038608162188532490428720831310873479903131053769184790904941488714909701365345685539446626864514143437000875124808903888814488306812423806667296998182339094422028809477158609619228276355921986093416825439167214114478174143465395857318490155620876149644369727702966419474004953911636696480374789613489547065445185251923239579327922323710415116488751662932695284861089764648425214138862534656*x^50 - 34732331583512840903466623164959982988163519954670449213842382859971576034045640967115292471051749157368543263112285755598236262331843160876156118378173073826286705921194091587463672105205464058780562073045041937143868128761218954391260197788875654155400646239890087459882643414227827822076741661067453810152493952833168969117537618744141985576327859746046910276049448365857519434399086249547971721483651244276883599918696363386977606120970632717134030970966898433158355791235494929421588056664940808117069581652857460731875557841627730488972494986574294370335660477404745523185839751784249396812695129954432738443617111035371585233591068822715610229449275218125069214933724324523287584861606998656849004460525112956576754531884353247565194863434530816*x^48 + 83698513810083786566634324815250607134720668933605157412696924478395729976426713548444047214932940219998547906369351985531588713769641285920468216245733809981647415402593342990605741059465367910412826586766280133376576682471429042655050823148273930686050340889997962827360735505995762683259149094837993558885875927370054898826758002299161947952187232233704046490455249783266109190991034552730347613483885309417479556957157920752933941102960950110077702957896324233773616761607902006338206688807726940062292649323914091017781278591415027245821165479754562301245793654089835096844030023872273371868590821682576218100067187767939677573800638695995528991935802978762487678875201423839898167843433100143605523105755844146803821907147231974449107561349120*x^46 - 200755970154600709941851526602414394784526251384478777481073070282251340567390477533433086260811247706150723795296288120118441915405714003565841180820076598089462539479523136804439154172653943629651776948656055961327675872467758498071430602016065648341183689114985893677315740486960830206839961333043673306030897594772314049950060264406286413174387049772789726582883792476525049060327783975794530254795563400781081003628215482935421551130414336242231930340016438496846989751488016675874718095581591934628997148211948923836817624527354013620489925261958474835306015097443753826084391215699223566445518968099263115034461622587829624276612869424371509132596523109978604697032908917119571256478058924537633169069145207523570607203698918004239697444864*x^44 + 497069053476869431882976959198449957949812747525334656870244415797611874996420900242287736364128890966786500677663544913108532290323268115085033116782756799517800041529168981046748506591567746468141511849719933407978753095591191837783977173050000942392225359072716051812902672742945118526282944772286314970704605625064997495132658133970786424669602376520046975412200619931253878826306403757809953601798591516238603507035249157629793082685449877658497650118265750896945091258832656496111135170161875133152706338724783956680324315786261513680966149934798876141501063829743045305628871837882358149150135277469689532038124984755283639358201927023314359630109649135004209979987236865940563158240279142223836798152009392843534437227163278729734520832*x^42 - 844324353626885317556903169757515822432384102926313839064851256190681115469310854259618759723123133313872119334592157018096217054868485833907314709428706873039526822650251087509043713257062924527250539017383903423553039927782119425842127021274006151744333181130285675377407154447929943976235149219854749369443885071249341754113093491903426930323030236922855835817883630259469107355519907058921336245646000454534090441271267329330697649311448577942509085374360776665012019383310663505891081417534510542091818688976172460890016537140571117105572662915610641460968702557551286990023573815037896660514454833362051661020632433826791587170235473131738764728441194494924569135742168106000394676074224789794149091270424460121359844865942101952561152*x^40 + 630858936804266201309295441422218841843201140929587582223437048778720701706429176602557673567163826765764791424131568669533863856443079229982481094981356142886518039211221817182485002061177742790320012283517893567574830554190588966867432413874800975504891006261859975712269412312319047366653784209235376250899128419883204039605127245981028526771400229006022842735780607428240771185462174062802904614990564077753687983215022148003582342220653382301272172472250160449960124594425704936772729645971576163500775215403774883671876648851868708044896125715781838594111406130572127509548195322401670754680308874063760356390840511701542295385148414672618319205968739929566131976483933979274776749432831036697301402155493403803261609425163375345664*x^38 + 569205082655124422799483911739865753150094153118446397263319109284533955842522462279961903243728198707718866849304052632120291987316650574512086726622811199992966117284109569397231716117489385900605284655933631454559575436495621842265911458473301413018014329978112601529212875521301250112820679076648467751606995097808033807833604612216768996450364599460295437248454061801696970687047984245995744068996364774062415050139297345380715682181352192330246260929681261207667311498495018203611546175973246630521632310350924068400511316080886838185175016337932929930544491179043803995223667977260878078959032265702294462553450111837916904609086614198084515117524304184711000459178587102692457760101233008295314036038850598318587130344521072640*x^36 - 2071621689095317183792333706661863347694857149402824768997670079446049411732357416980472530235167454949536619282912840105194409773493629252718032662331803440753679457089251813490032167579697609229782606431622138708258193725255723399414203371944283804894162942278192793722999834510252509449652571417544931684305055613909190004363497351566309476307013959215025478164487548805259853085770162016082851675122763733963898055415472109943414658787779380820711489602010551916019483841774123522011975228888267713663148816163706787163521560372970114307823146442644701677568537179909013354082779591681648391691427685922032636707363406643338116107201874802505688751774063742198612902687151559052810275406407266021441276079708267935561162579509248*x^34 + 2655091007651855570102745815752523805771488285971897824678028101656239486474552736223781368309511545492808914713745598562735511477316576632986361643404064992337939026571590292861385411183661831411325218699965507816945752520841105615819353121805301710538609529256274311242565591419905200129661810178932504276579953430733790068423120450935371122989779981297148622597545191931027669376313876164685294892721667044905677998336276539936153249128803574506767693133830787071512651607015822565183865886290670864708847450990481454853729242233246234924455784921925500098292296437780958252848355735873612737469441043745780972353222628783116091609975762921841643184890510582386364574039059407398286922028830580885419970604575069086948817633280*x^32 - 2040243937716729479453939866775597438075811380398334664849490407039618202055026723006643446240624734585598322782946277866515789874208930259913187064608106043116895130095742765109006846069270867250934696014745557137276508841683755760843774234848419844833337631666027543778205184942023635847873024594557367861155105666028096485778463882203229742928927845585087179294986666104150486853176208995978802597849680405686005657719510771337091475678548839216658487334363641758145451267554688040339868586919417069886745907807899751137589719754204124319148469764444000764928902301192855799392995178535310902235528933222541994154929955307371191124519500832624118581018420575317069471838678878323201611919342506575913398368517656158085840896*x^30 + 1020052754080082969632235458861835945103912999029648567701086062131260842740453440334448442430954444653515825322520266995342601611701335196845487302398457023506474945712185678238127805872204385492788403041209949075836520678500149449846607448066502931018836819298155545065055007922301306146220364736952607559992037553933134015960143420388858999690150096121977834811470127562825614854452540344028684073358517006666234852356361143887419281671379568245770878383948492455946229419756027602688805609956313319015190630361958944003655193053803673520531745548829211437255649329025023533908576917022125689910605401217024029932588800640716846339652186992771671202170612342864433840034735604532620756896121932209694961152072876820529152*x^28 - 328542746994039528990683830538368748662822614424998874074480542339873661879752753767274804609732230837135071701389858106088787304640844540289249173244983027767402952843441813259510188608732052575493403174867799932354095522380896508909425920835484364022101340902163564348162403835548031631987407921247082402262239969681417023790485929579734361804006729180344780831371893836188883701250916777996743011627718434917800892329413735106793038201530013418232039440909130656728244988644719346177264130702958313297128898318084809758369503405059377062313572728941860493065614112585861258013731404233808000392144517324465782245598024216834205894390160959108994819542582314220468088480028960778173749733096605387973938171308004081664*x^26 + 61461325332565258941274939460796441514388230643882949141343422864599323133735085608853308558102105735597277975461583721448581105060010642245391889073832296819187207513866304330611872717887101099558687604009305780065196164873572653836350885305181041350153579697593899735993862233577362989148331609082396441480648309476757861766389129782395766147230027793561817798116072133893146454898934297001557991643202455274082855330573400684877225957381599670805368871754502112220158891338178950226119019155641191334973648165798390035879916194648308898650296712996311946709619162574858373126996241724581793174174450354005060569126710487808116392676743188986857526416263837045810748005915626469637592251073820868944927641456082944*x^24 - 3883324668856423612446092800667094150320259697151367320226422814495152338791133336877301068022001925013980560337485123317351271262815861959196520221284006653302789331259145290378430764735537849290861948858717815219822169071991253088266062471844292497150935376100568270612819903204041346582104295189187828002049752727073188767690513536835380714970240394050367058274878665426268406474621229783847244890466955475123457669618857838103478081719873257631606712223042304829240845135957063817601389057762099330915329545276327296389823137055060479088600984205450773261810290040287943375447007407561801850203550104551299284604828814780938712437668547090666687779610286822980928026444241790367419694027601081171160797806592*x^22 - 751535721689490635602726160758343740928826940673121338778302747609797410744715060289298071059289942912694073469602042157195159040645023416219148198990308955434330383762129537908570623448423649238094884469835715932763858841866906190150786482342054042342731140250272752591444502181163447348729408798021285148443833088516483233817616630213169669417701428496430042096983229714906048164441151780977111536642509516904668701606180313251232063095363820525086568769999715875585216849779150412006845439349103947854279557660478759928486358929520853026401648242002965746475781979082697376557938052223108305426560275321379681542136357969467395024769253074682371712000676608324171335903089428276627629775177410856049704960*x^20 + 135901623353313761757229850368703893196660572047067346516029092730489079060783421264594609820133572336072518801921313535152516537040517652303149156360902548376105565122098161025212249035632213470366306135040540427900037262154637463581460642807750908108717551472503069358218752817096744312686430601921320492637261543222562844289780854596340529155845588886212994871100235396349958542935568379229367083008774504804426543254888076302407193690076926665362835787349541609939803659127399095859507712450526415187870813189055235963671460519660610799239740025807008640197790341768222353705734429324430530837675812601867869272037336735309129419801429705939185609282276601371647865702193812112351258233643920944791552*x^18 - 50958306305261076752358194339545694928507225030977648408087258342013939142856432849435688263739731395545536680576652650614664539942150765613702037721485113551947052254944096341028078176408763257208616887571613527085791769294438990279685372266595708796958236334808107441480453944247454277990106070370209310487867543341839776224976660882151885115448375905140909308491612764101097483357455650795629993941539554136858936026910731687399963542017446590052917772745465122169873952141665708438415420812113553459654431408604060411703593440001667256744572894961800318472595793191253120569290991202076163616761133848506841893150781129033795641412956762867858036929543282950355101841180554507314361554629033984*x^16 - 650188828198774002608840858704113147631914846394013323855760348772792047346524954492186625027803588839315220838871634319050726521417767120188044210442093981652413029449454193656650975975894776142163898960873362301886103851593495066917817900263969777651081420250338544006366479876434720118406831137577459317141047860544522886036017588736646561174813636976484737265270943285246353700236811014018410144914516119477281253438253452458138457789066087735553584902114613337945164413501568205341912780924217797465395540143593317947955458044977117734754252914043829969697783422742369290142608093919671920290426399498353838549130305027219258730857042543675733877200926190057366962997563132098243424478560256*x^14 - 40861926570920959266184836493356487870101556498754365516581070114072518091189180068818820457863666698637605119857943187068983288250369863769940564758680953959887006279710923723611093816879531236700799224864997543482099048552660093498402873737977477878914142327203850612590518745668324625073167196655598853675048725291811822907221166746705050428592365581215053703960197023195029173397765610741357245733787930846305599947526603998608467466925663907160552791837303677050517769171384071139547902293479611126942596557163688337306547063596708855958776745722989329824824765024350932915546809460619689781927529121128775001574238746079556057069698886073721044771233933555075979271312038965197032914944*x^12 - 833124753794084640688037276215838669810167821426909298079819213895977644719819165599551266863818992602486166100521070732183379264504317517725873072933252108955469319806377299832404317039593724525658349695282228260134180345130070692615177601547359215253666584822098959395065183293676713007595596733366761959494919803119055875217130615334419699140906087798091373066854021813914501139753617893258163370781495356697852534020858303081733961286021174267574599891197148412999018401884051800916979269763700430554839848279393936903403968359843109042265627807071934454749450827071291058746685172656578386240531842073002002934511734839931947015408559751396076237632250338304856571567081700097785856*x^10 - 7658771618725884748391330938184669372433555954012241782723250710187787203760680649512963498992496408753376086439317515470971187550342509648135600256775055375747285598088997689403432718670035283922985695981614071033648198688170329541911963604718833139088728875684492770415778345349529336462034521272003610851542705422168047136991466169609285399351431104278602837041725333448163552986367470786589957095824606986581538902066418857879307622677635919790783044576891547878441671444126259908645368621950279065035661247809242239807623059271459188039846065519706144020111503573057674327408899865218627504506320806753588729362614715803746221825052026410921736413191705399088362911154772639744*x^8 - 16702567857203944352220222714963108829106565357395107454939865050669758612182200764101986747978197641921273414994875419667808215520877334939365038225290173446236643517881221669480017863871750927015963868760882719540147915762098906279786363273275742496569433501589826885468800735326031467965915990689273474830346752350933191146933485568965520419747935778054524883480013846734781978528383284809136014413009009144603902741385798034222138661411716892287230722920430565914506528132546014332668966111331666655206155742176355391236803719395898910941496600795040770285245449864139988840361464348390670081987574430726296881521856462573617660146588583291996940006882107441263477017018368*x^6 + 179782983655119035426809632822292010043322998080063145867493639194245739413644037741114955417763712148638757392745530307589858555969565820688419743815666086980304051170991581170290846672741818483159449120571441041279952770886645847890021249748579975059644805702156387722032257338446056276886076183359708839626702552458712083173844607335771164274124581313469178768494303465225020165590036620071686936758651254255162188831952375913152201628036706318886051165105008731971580811896481283049053883504571000628631550572045490366900528299775651342918932464482551071356622939013074872993124546958506098401663798133739760583386797810035714293101111354268849000352696905729310720*x^4 - 444197758052136116820947897695110521029794817251021934401181887740289358145846327491337544229683766554798883228243782871248641955973141102950804972276382531416874817011849504001105212340786679083467770811544278317948156695506340338722593025111105815768803766919105647251186565800487492140902716159763626654251136151953823895089730783501228795046526318604927487651461852337447878343654131635973382434640039782873335615115451925767611925478761250949473658982286038364626985823011552713897981212454750093123965724399560721568846778993595360108691913082816059008803044189452248953504408461730575921524060519694814257801237438618852560065556604495781368906796498944*x^2 - 76093196872372578373119402591542924336595309825576292045515391246379464763158228784639574310982195640136389028170516631428420420489719956379967145212728402543856172428301827720835720619511746291529555478771232044026977196487380606051408105650931853037339102824546133136096406879899656252503263781924026226251779704232683941753426157396355555386426406923634579674802667468556932278540083239541771095586953543174979462316844522007563225998088037858674707962626971083428228623682979720860644003550437215307280073434204980445128604856611045119274229393897316722277964178023092238372341675934924661369445149897548641019617913507175210877932947651340271616], - [6632724937237287527261852691769297023363727031143321758242460876924284538586701521989667771710399423773044736837804283454360813172131111836056183140038977894555975957804056727276661033820859352965693686720587427132002318768366239280594470859360332883857529991809020176965367378626678187588894008462313473451960691511271027929756494520294488145920*x^88 - 103310263554236858618461388957350507115243753739195947689775837574858210762957538278097719447429690393514778103579133043539374109932017064024742260599343543985122402209240896957515579029645745942569146809956761129563197010665868734532865411775572639169249288390405125745034643028228401453259188106811503039309845612503977310826489444545662166302720*x^86 + 334066151367249521055262916784779748135291624281474868079794191273423634946836305203536085437199812613911362728082588852117951008627515459673945158638681136029095198763485880356126508970468717722834403864993466208915714379671719869042992185994243350435472779298139816802425513477661949846359707506124482456590827795782295835513977406712363545575424*x^84 - 415650752128487627818773777421155003753123374436289221773951100753971779645556648757986367379870387861817148918438355806532550001922304077272406189006833915487706781921183835777706627693038871762627631822956762909396544421280836288358620050285229857114937629780781686559440955763155028674361380265731154329248935998073608534409979426945040488022016*x^82 + 120669331275827278092693406976017025490348849815439182393138155380570079773308369079271211951235701027743570043530294819720203451380323359058506015868343496068159665181462506815339738724991919297408700540367022377011951695696349792100142451179497042351601968808709600996066477029284568597108605477304069273655498986434021271960888032442403696648192*x^80 + 197813680050404771146670740395032634619878845706319504162315680724353624310882791083683018252342652469953285262371754790293135277926156475840722615471017846733505635298094232138975105953285721785692620738258763293886817849867801340853398212484062582299181181980616709417369924669852823970029303155701755665384374560277140661647766739615759092419584*x^78 - 176551863395284657194396528206035765115460276813684918963926485056825595459677056432034144723904431005876204019790310856300280782875130427814410618828831511466330596460904174977866073062273087911356372789840174881513290332985024856110535461622653553894876380129443781617548421841423286909550655327125094697065475004932948489102148326917819725324544*x^76 + 2756857979306738824567375078195352047493802139668883961434077376344560608863209639134060948065360829629348962075889744043731368922905802996457399389964641045334869645112411365198410387986724351013840163190067348793956944509230265579378534949621010044091980435075280337352918387079633378102547132584578316422587840577240567036868498131162387948800*x^74 + 52185263757042112702797222968853754769468598062472355684814088668190828683307639557206754222475354420735929482738152399811776303776633106180243058765326853191706853132683789265642011685989388837267261746916351308999923715395521289407992223144318498334629364071191037589005401720806788694378051054236296226271736165295934108530683712426746822851328*x^72 - 16484017923734120062016498107661584168728425170716937829535644685872953309527541234710805434707100934459314427383159819148413583334797240568657844441196181777584207601163687299443782434921969110036300182754044439216214875360823775080838307230485258010371045531427862129095756257892719527720195110166565052786316737047431002768539978822085313887232*x^70 - 5349618105829613085228662571749618295144726733732069518252160403407161368476391888842311608720297901396219855628557150228712752282285654431720233577830200781316046681146144527024159623377399987985211377915323464392649440012931757996695853777738394302039581183320328457422047326753471573629696070652225102340764088375054613382277974543637252556032*x^68 + 3559997078446937054295804275302076651600408151330990829012936367967526035748764224625041497129057623208849567383644620714338852243028322738972345629146904963961491756854967081959843112344701311959433884172890574041483805379846264626343610900379381176113983217473588345366166694843013844233150637060353618021979575642047460181512052547720040344768*x^66 - 108007033481873274336371996248905679742848328641685835969175153717634934143492214241333957798045411763810044717601318559789841646488291786114713536885910057407333847378097697940637522031086279726363303314468058121723921768813282010165563965411613841341890279005711612006316996840984075118735035561809772136587644724267456485489518031402852934048*x^64 - 283343382017444200114718298412281258152234279350107017483144644806084844943889244279499026996122769697457534076517138674177256561966571773984659501321349143569270686550118606703859162374349270352899716679219342941224426040461712431736562557564223064293389341936840838528274059543345338901829246796553156962492161586999689044595586506345250968864*x^62 + 53588804675635332803660751907033617483280459384726809492223969103135094666514435200897828105832540702401646464961723795080276111255860629673039503582403294551159710718431043423687765642933148657063948539659353677860392232892742634021275027623617119162948008764414618081089947793130268633242907947797494169507563143896198267033242452721702762848*x^60 + 4710611059820928186137471066507482750771108924966165221872060438286916996892296939015384178380746635299800128219734655488810843742269032923386394143045080975856092084884639427648662778016566040530544032125648892793119494078811584733053985370076790990703164442935280319607391596613462523705704411608314658174290345086548485783868460211653002512*x^58 - 2408318342794604809869328309531680873261497731617392216390092221122176915196609290419047647097788926279881876285695417680998393710186750229161493426310477279342583479554505109105499036186772678562113567456818395243121260732651109806941315467391297771414720733584723781608580512505929053516356854203687995916226479886421544539233285766315461604*x^56 + 255291107265004739069420235008288214211497314557912956057541797844208219238676405234675442753344691074108673691601381693141064169774077251595254560952667000356876702204426904996584512868734088364816308873321803151031408622982318154830460947789661220660405995345966444220401935476182353346535841659309882151182635330623723886978022572715235372*x^54 - 8314288946994879804124588770648312878426530393797434367237092961851925088439771889162738972363881904834174590985196404211683027136338478897893788080863452676710286965838000720302331154984156675386478133007310249006645017573770036519602436179723696913264398749227113146672037399459012228367140361487721288637588210822651664706689711812831917*x^52 - 260326357384019035102544840090465904831631257667856794189412967623740556150866574684051893169875234675647093684808095878297932391024058945847498175260637162435514640868603995955777550390251689764106965056369755783929004728850885695097015351951441060282929906112523003637528813807969019603237225308797477506344207524454548240597965023256071*x^50 + 22670729540371948717829289705351699807940447402805081008264128276307016523262262290853703538055809312792135340140743173175428247528550303105319601625078977595341897537667334067675481220448867685783276818993158880524290124010333914581350061575049503439714238990777708593633351890583995467740499661039967655971094320062709741629582853441186*x^48 - 254789140369306606497631969469623418073338045662602761005757701426130881484024774671853238668906351608746745263593576643603726810626208512988563147032164279790641597178848562693395752862616518406092434129448159493738950006747333691097823578809514684565751194141086194820715007779404843357706928457731115496714352886468445982656761199891*x^46 - 13397632270725418891921794074706067828775601921857213675584946250334089893846730809377524493025273374114573911959611163600817310283566220338372884368159515193437070352252310053276141705327653460604343456110249914826025762317926894907075704963538320367138948821586221594897071107882195418848292686434754746749537194545827452907750913894*x^44 + 312624086738950109111821091496968550151998212404245868286172104189899137289413486405527056109430526876232047927147342820930123122520625978799559150615593396871099655467938210097923078791413682809135481540351256047359375320042866020103327091137065405310207759974067344903085444770100086380250864250655780348191543570832632189021296987*x^42 + 2996618364487572396130197894049653119849494018093601639708500929188940638850321405733771414146639921952887146670475482609267649532897259099581294408917288206699927450169833111224386793048605874741057099969409294634813830118349723734286088315934805530366333409097281725190303924773719471876451992280234132261830414865057899384214364*x^40 - 125320549050476984481560856957120488733014213311021476330855883083309736836877989641847274112825036571948824694259555995070859231665919982635373538397746951414172122619193568825113060274405787141493530657228177050522372575193690431452167549665086172344586697593539991477870327914339647606289309239410633546537751655736504172009743*x^38 - 107553406426405033694832374553175220153828613088985676978701217088415242249880152981977594520790466425785713934905436159708376786544657773338198219126056300386244794783179609434714297303258761038959746929819790234903036228129173980743693707215610806060475629862780734541682020956405178482670651047753591362167681496771871973557*x^36 + 25100198065322702064743631684998983025008928516595644360744120169931384079793770883177515371772716703879652878072149994543259714565500078557980881587601163269000541131713152278356573289662382987241107670639809346570666452523839281870550623522663896963031780138542652657829658051149972795436061968880824876885686043337401829794*x^34 - 68518014493511931674836313480125916725563846026622534605928744144707215953373966028563823993650584529875183632293102603124442198418851047039592657594831129066001405848330686790889399205840118829166896041087850279631925369669170987002382224605344283863864508667217860265494399368456769403131464791831565795673436818856864740*x^32 - 2597612294203686332257747089751938392839891545545645724046665040665848427526965512472614248102283521169760144864645101055222993514559838035000669406766484959235513607036669610109903822562027061480873857365161840694669349682606979508864284907963218279167492912136532355169038750755366697635248172563767400913004524129492634*x^30 + 12884930689653699715007335833728546133804057935912118161987593217135266334746797191222448472270525136831751177613468320919520952039642965115126777724172083189753891221511933551084241054507647660793547237975734809803943577711416209742424637450832861930418546899407906625454650747706723218613959722506613352316415046924099*x^28 + 114747716685057011644194746582094071628373840716791692038938790398682834536148029640133165159562140230614705807042819347283798874788494362481464121962900991725975215987857814510030277168363263530835906752508684596683682253167031228553578176603655263970896543952781046522807088750124454270337818316643400118866710704191*x^26 - 950901174371917080091540986608284027542301053438005311814247817357559371004364700789474328734136851662533269407414815791806286744388972352441307594368395459214612201779776657107236761182892779978521894968262558152488790380836347738278458870367568450953743523034670791185120022200354725487799404940292161007802051204*x^24 - 57013842218538009522313262741122438306867740213235129220269880833373446433138780864797600891646299851294310576247264086237319586859259133020275131718186060995109233789888466722726690238669350893306016580740771215421828191354282528794693491599050147351019011479706241461965068683712798431047771363445108675576375*x^22 + 22423103407650612189038122794594360608398763169113811652310059896767982275335999138152090997469657600918528874281019451311817815942955743879657703114610467880255962686886647301881889809779205523128179808216667907365962701788854873621708407788008383741466457564021284338797743097164807085156384452878888557516622*x^20 - 101474531253295677783897336357151244613036117461293327914589667728467373998845629842039722237701129844806477640338082422270340663239109268242785564189894410675035485456016642393477803760528874908457609811968692893802117705612400314593879246031697585747145662722164094911689042772081227132783809723438997693789*x^18 + 226050264179523591063729351285769573712495511271820168722317899136386026857167417931964366172372417250030847456376662601469320397010003707559825763029432050570085832474462734326655946956242988963033129228628050003703213237903814138732234894507620476016389195295526203470940580714868008329374453458882979774*x^16 - 298667886590757199542679630165275771748636980846727563161816168037107813011811330426873650329665160114057655412670932641872949185774353175390809736789876926564298982215431894582546622866851460972903621197014339780060732243868484248831812547292313370618438612494517396293334836793614937179424288170145353*x^14 + 247134621824803476280528631915121654142449858099844099987533127511319945537751785512807780260576007347022787288942502071911764586370398039328971932028436294840964073581116642372595690774752248622280080544523550203314825915062642986438054382714968398054002650884345055973873370992981952346809077345831*x^12 - 128894011418933382741195741886733817352580020116405299963586777031600776197254737666757711109243888160564412297721744009772336738982451458299647654916131545923059063525764954108806484547304074730214293073665350344306640098717574335380418206076712797853206151020544919597811539877980362967983021432*x^10 + 41022141185817588007915635501732354746223238413645351498999010820123853202483489921755842811800381560103806277517434276964279567698348957320767740160379069442248296187268152139507128237378917218354204315827518949551588856052481935691256577302392554973436023333520036778938202628773402333077472*x^8 - 7256259467117405283417011705973519847836534560923149961944666100567564890993022895881197737510602635432391577191190037174863149909390526192534261173559678792948408414651718801582316576933669138426072442042688945524517529810310062717147644281838046009576354108975737170065507956204327746304*x^6 + 545665194240789748594834996267001642244904676570607052512915526905090059748233834626672503878623684555893914648022990294634099149307896486007610824310724824324424988274660763863689101555063728721516013462174360737276799530329611288225964695304157893070324549893273455319848579717231104*x^4 - 2944919921960014034500953550738390912387768482454152793355070292202322001412778251828550441095132449931253840914135263708249456743125586515113911557858612059575384853726006664919296198274038110739430282197695013860469628073876473805514602349210436070273368035886169623303567360*x^2 + 459636858901543158860708370712118367920752460664467932720609168788587357715666436605972760702339062895269466552896238460776992097969107237252459359840537824512392068312832721977094419248183102312383192178278108821838358446154384764627826797642213422281229894259019776, - -1368192012344681727956616390340957823931846743107613968547047038247652009864975311483829249542034828304106208468177186109897213301041365960681148287255726572280062671123455824694388079483333283217240781970331426931716543118051293991498277553572332365411820058387490863713026806679839812369381791869736815833258051753079818657689188473663735699896793926825586726076994203946003790107304951806641194581090402396487134875531081498273995715986028169156333078352782190633703892700599463666606348023749773307946959921402566397859894767121288556775964925003879539648210002806249836465349252076043086720684596321974852410750553123172136472747057211856907173052944174716041758633767658222201300129004726222343872497638358078006675373294875034880386510701698872415863067469172994685406286032450056285939390183363394396051144225698201068651075526052664612170498048000*x^211 + 20179380142058508207916676906504558798143137134737375383785775280984768957208053471532768862237394630651847100572145659197442068471994105818971953412359553848047639258980711237466127568136491950657667423064913892842509690301919818696920670025070952564708223774178129499149278154432195976091432031412813159091961852467961843055813500728034432029476489683648421062036042239824120325174625410675345948653918225847005348795421961265667452471316456471485600096018962769440789188379652275394790256255475204915671865590680811547632170483878886572397449831265119313007318519552300470951426861482606989674908683994641274427306221406443238710944557095693142842073423208523723185642504384396938089647389854462953877894563956967097056216471624008594727178292891644526937795488049194012031702101543134920519559046496025779124479640348143471514640040575715655497757491200*x^209 - 140846812204452151016691118025848692169927898973143181969051710658692136932221259668905618546441757239242151077999428212483831182609823008216088165029658047299798367463373201487920470393911768114839159533053205881035460751927902626133755372345640651966430432539046240996852741300610768753781840322779407741705522532350779329418971007246078682308061681822656654909604658525806393182497824578609254302772299729689843955508739207919166899148149645823289207060495287794763248511615148259077346815932850849376295820946126850072400065715244885630085632833676075511648910846385256133485689935691317197146204240714003181684233827290675236316967376698166478206364719180894152325308444314750939144742436368818054294512700083671739054776874114553439014951187621485806623166350004806074114447270594134744315098225235018196804207279903606725177586713468659430341035950080*x^207 + 617850548425398421318490550994412217939460540687984723468014289576242682070449060819068043285475304405438913749558197717498483201417907105491686732451934915905855911450937337571031144746933783404716230218772673613244281538309678120301763376986728284030583109758161010138517896729658080267047501698234343535686387123447512060958238110850388624915201609612973600176506868374627300878286526254964950314518317793603404257630053364727696580242403252695916288093696625777167698656787467358895333116634693796398506230149054146339617098017787609275109503209616015552677386534892952097436303185510006635913167939236208266055043864322861391495033160535097978225781273881504127849425822388845706106799016439313129298646900002277785354058549932696473245566217286663191468081358586195043333302368282282369033371814491348647434642777524727346508832155743779344146499633152*x^205 - 1906904277268660277588907367475306380508917709853203330438086307195894274881939047320044190970385803689170451728248777818477176051490164384912746178498090051622387399886336627161777075070491725914893721469424127812646320503354148061244383623066356455529505809009353206943124981561360345461401407610683422039108977873390201099742921646857649882366444402035503349675090408155736825237905125719544080234354477325695007207846905557676154651022883622808739112882459284945410317399178113832847385568591410161628041444151313414817506804504021504710954301094406298651727565995165856403977331140863303751449678309128834153324913897854096493254068817409069736930100229042349482394748680429353652625810496247092823033240986060278878306618467029954924136446913155958896671905833818406879392929986635890201616295100999581329895600023937957315742277995990280583100955099136*x^203 + 4388895263021271238869700364157499030091249698709308768420159315746514157264637580056081357752889656183796191232783909814484187649385277451523840436207304954910094289060483322022814980319947629225689105538681208925689844091901240986892086346305890318009829742079914236584107746614624047736413776635001808933587162183417059565126361433070104304769065242559577010656137763408749253817542033968457178385485891323678386871061455032274862627407085695452666046706097650132207817824870679882170547225051325392104499529647309793853314243762607193324973110863130391221818206003588265818761717800327582179926611362579445237682480071680631238730658337970564375332426030496309155901721259023727344660545018148114981468385194360514089033404696705750203330765486182806577639938868750565427831125054846688526723433224519089542557258797344410713851356231208025361475872751616*x^201 - 7779990408709871826411328035393242878979344266216902241620796964195385461167214233475198032015567019040176777675921747465996511606507122671463452586146357126130597773590077126046864414741457647481550831996679517822466517571402026178151119257392945472467054870640403969742484829454775950591826347292664870324107892723448369148535386760768984001409065665063225958365306722030989208822842480356486101626284888102072860370236555948694117800582522128211809183089332310019361836213363314328893027345102297467098755433544941969489509001049557119089628993162647227189102037782135878857579741777238371480546231032649190900060696213706627303894449612931146740035984298436058278068882640619854451697231290795691290266900486035948149534338028483671980574543590670814241698663240153160983490669793741997677462612463497893902441342842682038248452635528238648104780652609536*x^199 + 10792645092954233344852809500452909002307646454397854710957062723360704446966135828890883779900731490163470787121113219739566152902509542212532857853236894788962363758182594481271389983716947212137435226372887667648099179329318043305592886109879396618125887350372349896037761729298250882419456223541333017362297490419208290025262377294450812609880041941722851414757903221487064115386676502095625710895658486806502722111384519677905985058822418516483267962980815345733578942316155411597805969407016324395750123302231471755321345317117035116055177137569548222218024851505307480617004697104581987668765828390249015778882902042077867550413254104358252782770368652434658620028921996159574679586537098779051505736959370877490624803564705738276500916586914227511646322745126546085778421148188439005706802655352150826393766912465479281218455538502083606619484288188416*x^197 - 11735531541605290203900824746319173020529364076031186084339735270566090450117601490547645862067041619941722508321381253091798886372483425608365451251886460888037478302184983164667106891584088109860067130469934965358999331429248216772331571882227527936789122153766251466319456773451983124848550841765424781648969744109945753292661595813892661171954508042739282589623873189890350820180333678160527821614152238768894502853489150931018892097261506111175776657879652899731275129780576006228908207174450535698605858444242942304993216683632190541333307223806565851051827917751227126285569392648930936343356385601451138936682607965273548313472433951330337515996772594101595084809717835399546899369399190889104722864203223267155564661108698004850973322103272439818018427865340194340188108904763303176614154966596818973980874688251271945164518842678811499845223551336448*x^195 + 9826088871789155132153027049515574899410687705267317420948478789065146905053980885204296929892594301550977604051938050024796589922529977076850662264706016958141012496544024462053182234251237696961269943766957567890921755866206643460032436290707844316008854753429436232912253376049932927700771374419187731347613892399734997390049641031391833106274923426438999754707408181091404965999420770660367846503324686974940661570151720508808780262565362955231781109576537273538014853175457641353797008278489044798004710570614628035502784056502255758893243558999789053130323161125627602122912480465932487667209606126822240820818516770888384671302090566122915365062826654924249722868621163946461419118690936015623276796734896046157232199875951119657621335155753270021608440025534041422127917649311645657733412961446817058530943616938936386846080356702239104101204096974848*x^193 - 5963045374386506218578821314737405135457730415211690292207804277869705694415727588334953385007786502842978329378875228309417168140716062921338662842464235766266039166391263221823301277782710685216032267136941681186704208704722991892218241844467425752234301813256513884248781703880990055655212347824592567779843746443501838310794773221402500767168134377442720900231501043864806001286402574666661120477141033697084455196325658060838759132730570686871777108146455398864741523002878879748869625220827864027561448979659156745436929450516413646529193616546741361416453938676662308051400088724349003685583570668905637438390934054365837614467070339517822309646279417917784670137039441889965426665332222767746402517629002667421154162578503899393434006404928194426391327163659337478362641570507993716681790081088026720807921783145245106157899389923201614593955700146176*x^191 + 2072302934866834318566600447118116070544006348431904807334308176663317289715950361170779446367591870239560127520901818576850420339003217259802501810477408205896236070526731690267017866790422663188316901313682604433385822841732293618849366603484731110898636717548029245255277653294199682429078034880532699355172376300603258345953936707452326060900695517149736388307227240426333923976104292760533644163594979346547156764491820463033441377273383629295937979192110463227890573824037587331932506353686422040472058065744173422154026698284127360254548991387271062266440436202814880933225268146357007185370524038290004992251255369654997148562642181753772065319430349041662103562793298266864400308209021862002302307718870819880548337975910352105696527840126519428949287861979493545184902345210439977577555228947985506653629848873089932123604225656264096326144707526656*x^189 + 344732936251195462398655212297515119566524517029167049776953614722870980908674934543025934921050724502914643747700763730173241502880473507223284907120674152735132327431512692560093146676426380711850213090722095278334000372705441754847241158358825498679703196476293707200305209862447949046552280939016320735010183156220850249119039545289597758330857147710010800201858392163192576442538559270250348632579910645197094611962184879536730826309974228348455207314397915532073482687347394315703282978817989388546487057169521932892694585578876001928343939639410770780577385745094917566681033012734447777308218398644670535191439537029202719560427335151186615320528370769498350326210896135778155931831587223246790074991005033096238721591980424874034448345910854656782945120654824810589637971535634414084417284969138241023769756787202242448943911046985530408482621095936*x^187 - 1056253194628677361018549111671950618344113269316057249967447893505172984917384616787304999571489520684705318265979644571867532386076265892665119664516501164975070659383063934281484420099950801589656571963772998440856593656837112635950684097793576169282626966817825460666192131054640911561995770356904227964346291794192638532651770512655561890119178749321117463772224309694590727979825648976017232453407862829600595313964593267883688957757533950533970379486603387354790388602778367585355179661779377753935339209426138154367826460528135690625619899833887039213851424972525030011136648864905070485646806937472145248819401958894268384700495422647865314439091372344754069380437419740283724551120479400429149916430099522691121935201923502133114297706367616912160361452937608514213986057747986327004409711766610535612408923499432933058983401988544630199900939747328*x^185 + 772012019154773487736142357298655904585409308251812275472321818259413483978238669833987815198243545293814314828936680573653438037820167548967674694589160429586817234138273169000384787103358372095840425819759996048423003512574002256131235031530295141407725136622376126628631701908108352778710181548799949120010731907316068561471750076966536653917332001775802113428571401805717347214465934901440367433530475067047670721889831475327408928991134012903581418985094756765024232641612950890198639355968147581015050037166608660502479831333222837558036636123442398701495837914239361794835156420487411660840582270684038201028590754010404303641708721157254788854673271704082132541303746147482181886503459894071728219330767976144694954630445410218496358638366843480307295832341845559602905572953775114950337780468472433698852321578640989118893625340979920466004718649344*x^183 - 295435062968717170298458704692183084214648385916914440156304678266045594297583219216175292456112625855596700871657769950733538251570023114616117143510690302312731554269829427436858534303052400054138744988415846893047192298395220773232586849603743180579882470652383194636555173935352980921480396929302731590723603938339301735571737407494539317027157129238647325508334282082143535834135352968621472438461664612591483296312683570483716348070054085679932433088601984618169757729851244429364584406582337626907872874386532883394052198922283386095785404023540847332834102435298174718520262316208852027801421772195716595534358171054883959001227876445114821034276093039245314457739850038894344476671428865198538617955335404028537861437083661719912549398867744734811513923982037214872655978773153542506487405487043093749641623734791169594458494733772826549716619624448*x^181 + 15906523347465503204137213317470526160536921667828981907968142883944559723182228741590748370178220096554701979949900496335123132667811483331924706837383050115481415808865496340762761960386282599458769947736412728170329525654536650996717355008213967599993202656077108835532734177082465545418415836283013148164830481772377402266044728038798415671496698831204569448359185621252515867482809805399106988741709543483715919401372308443123849237882280326424213657061095145472503726275895639907459783400784665317178925702218638272365082800241058607864117343327006154327525502919635073138805144191541763877151522105905957280568188969939070155176194034864728158794931633963841636047167862632971836193541803696486357546878043581999312144181537393051001520848340572907577855488334189254188420039491276834823131068973134526481217036779675057465154806615060705838456897536*x^179 + 56327823220956601855358303520043229084000485398795183959911825563711816414734562623958164924910360006421156282997684992003908239248417118680859661273230489349979336449228426589070229453554534425545328808670587144288051647738891510035006584861330722059422970475222211125623049787408923749458636671764847833650049211795213852588239642813621546316333841434000937969148472094737455960983153045991009314579943527313998555652730734376225431621849966627751484070831241286753664428113144094605165613928889411362183763677834265922441124850416535306367359572499951464653060617534597795270197133220294272199631736291914012798477587123903370867123832515370157551079936189482409997179008037895590890692305229058569412604844313025311638586947360309648345349369945398123556293910997339180652607449693611406446338223510214369435918287430813923551499079879558180364879921152*x^177 - 38593099610628495982938455394624560010775064004003616133940644148366120526183056331265962589478564308820817090941059168031523701333176636460917615275804336681009107743613747388773036595675539666184191406968163084009113420864552374811276433871296584678679273083221585550798256220300661870118763582006685988469873501280331865699581307434010244456797040858833874722126398526146583728868727898044082517681656822412773616076874233562839469779252138700905233028993650729995582352667094411091967510051637789549279501468624558066659311297511361844587172180647932684852816293181674825481606295856502737948024179198091015528274794193458690381211345871498960974639107357181844233686784040562111959211604605130439567243431279508331687574625442898548590609851177120675886686312595067125770027294889115258846293642477534234289065477502302585167701920579667322395607171072*x^175 + 12635696227001665799977677618388882373222278911399881866422106828928004387470204961020574172973845244111313825676671228286884889386931168269943481560508757588206627141194375389330609098942012025547349504658756284639456869374485904641913148366585087394012805437735755906487870143358826394273158580423373934454158094646110443581287155711279731326589630051816064249741389951069917826298701512822117986233771517818329671725603380268170064453828825695334664157345223307534914086778678515779775739202466463750341819350044200880005042109623009360731454409588568090665135769286980965919117735927242927374337449106940441652451307676910549754552357997181936832696984124512970546109900779854585469174618241295577265711479546325003795216642343173509615112416409357927108801425403301704441156338657266352621453756298732715986283452049356671764746707598779054221655277568*x^173 - 838219741592425647028046567336567224559312183240217598984403966278375605367588645676237446026596065831730477882113943700382328387053627075763061289471686845005100825132711368961708182690633578075148017997860102181208672123909056277980316685329702683187208040149217591390054802805916796025234765316740811717818270406866860396928245808007279026673748050487635876746765451042653838198409576958044584330807041452336040954386525266003180204541699425706493266219549181658691939699485729527872557533545569856685540917695654306663745561090685092902747578984527102026725736544518812985526368346584458759115260812490360423623868911024784723528453222215810553142244367983070780886733236296209477944436889201565660263067171501202395055259962391589842296179968149003009763592031996658178271961538411132131298224016439693268286677221643731001672845687454404428959842304*x^171 - 1369361621882343886926750589011399090426774103070122294879530615115329098087702014295622831319028697052434936060146891682743792320732923974043986574621148138810322285036947469503642142123844615355733307623066765460292945740849261164418940176920220060361079553642158256974288835822223157553427597283548657648355933857266121228533656801409924861487868007017061697241880468384896199138362756102672165478911069264457294097035184723608866019803691774911690095517338574949613482376426286945102691331374875883663067605081624947980071269745829497532464632704387872961441540664251353595299408077635141875682365611342144987645972352263298146829914526325150985420957752868495550758178154283374982649138209512181548724860657017174084764828671599424981260364531953733670462501036130082121767288199231480581718875849294353362237499735144760925368247432866082852526096384*x^169 + 796419637454318128619099497966357472555004023294593535738422243196390226919266888957290446610133624591853946011812812766651805140836806050705683024051308101547786000753468996389587236236603097827943247979417153490004297800150190499872585269834233121351603599540418370240012567816518100556882134373369086927683176761956816637396808012189831506594517905661309801217309218792200431542680389347136502234276293197174911984408866306925655757795058947102523956107558030275105341325809561440668033733429550038515391599504932088845500158407372529725357901493223560397928994502367293483028972173017807890828193848555855070753359183883072069376923357732690217962279087776391338524587689290309970836406070761569085403109902731646980722368016285333305892858190970164559640057906524858327279105250325091709595251851339339262659203154349080654011121130912053116522201088*x^167 - 227602389956085074132176805775119463486425506469504747675231806420927732208456983494276625078992509332424201946880580932275532510561873401547905072056971767524416755101356194912317432106172455740703691149160006659513354423796653359858150689153338968937011332691216131852443702570451454080856589142128320234662930710819911992971541518080913039392996518255446257206017055745517952159932577711859831630727888478536960864793620824312075761946512243429885007129230785655722697178898785025478385982757339998111485047490316777848151146062264324508542053480865518521868644240701846778543664648879835063010351128931987903887764215155960152508631952292884554280790597366825513872888963973960851378849862500490776400217486612920389276134626733300824291163402298717878079237962977864812639259643752991224114523367185788037502152335509523313428656752880404344627789824*x^165 + 24817456537324538865399899231871887270038553674969271724040418931580711217020668147301502235861687448747291972771043446430596426984637583394775408770542131716816903398074437081592305974845507931476398683829231982725265304931817783813877306145162669679525055109915453070721459634508737839500661624804277895570727785899159142934786670168610384892704037630432438334876958440244459813685466106973656016722320386533116607611483921887066506262855425203231951050808589394325183402614034180797143151478938786965017240012530023247814523435838505620731053364649636434005692168876039079100445760133626319218798413507403050162383298854357203273306951454522768802591451229626011209604088794047855506299148858831936083966022294606033063878863506720427657973982359821229385070744515404440214355917458294882600920484145614402594500899747693680919661244604715496021950464*x^163 + 9249043781320867038458057054864158958997438718830542901578078177410737176316957071448160889082203558682261404850603039964623543878203528391079808781928690048830130677998023346685622355227132376152655844483793731062708312697471729448789157483258794454599213339890812283519831433710290379465852883579003400857268574980876921449315729425989424150688321196063448875086273889298693721575971209210407778646448080466948000098444118386708823045782259277429824680589141793456206923415012674004394024740501879745438948460529083556857548989567725811358170399507171443002128950266792476534356415162624743854695076951240844920865707277810011138570245674723091732864167453074188454195751697450253352171542089754460557831374507183246017654551003039878391537362841579185253147086529288017578785600333492987325805530257712355118866653820802733519482627407415880445853696*x^161 - 5934917183597523715884162180841948374522040043684897855040652262322664086191567223656924569698500889982837093640097890532077858360945452898853507238770470436555392517873294243505781840041926580480890572389324314265947375062353614095308717547986536071242344534380311210362755441910533192082522038123675912035857857078279882330487760216521740180351956779176913732488805252239005873214391818617354403981691015739344694470980428286253550384218273755912675592196273172870642479854530954248441541526702825327541883998401494605039757294482096972471976539510196644107452417358849155548768364070718695259696523124725584765060791172722804412967397037506937908388625199119168866652760183500958135262331769125961858626306637748765997326122843150895164217113034858535124038877489897622546200844705532323397729834677531439193595512936632237076710753530423636182171648*x^159 + 1849874298698992989561364207938527686068473466573039211412233320056121976152705191145689736633366622696047416563334522468809508002389822221462932037577504807422422267335036220351184204656786339724579203526880157383920365762155782446947326530695614995742394969382859184862077353078214768247449553167149375495505892923708903945216861905296203906699722276158718890940663973846795337509217897947297288230096400233436297857611920630305396767791062761456456738987529665542040217029070136396285642469087377816353882225309808104470236965487816432540824139174806306891436732145870235804506290993895620568239373524869853798401383262983336514024454017724260138274077791671349840907411598195509374043431217275038384663624209013184044997010962482823743064655039705002139694378972493809180869857854491581113027285206972817160516596483175573185762299189444644247175168*x^157 - 401361677187473764317267203760444329016842358019162991408770672047557447626385438637127733409050673459053486089217490067555718112825383844280207104680626609790663929900104048622931376249540183072811857395602319716894454167849537693296917429106580961251476968219334150060748412682931551238584719392319757339024712134483281048362678270456398132667885139773457776411843590508056066028863034393888548292941591070372923383299841584170127662308094246559854394452851831643000884270485971895084468797570717581274825286187232141356181471689544902288758928113549597564447538659928874632105354373689851857515203453158336903729707624645007438596537245662785023075205254278383544253589468059014447404287531833737892289929908278397252578961978617260983240695317015377123097556084702156516563114991659620429581832281822140758958081174572361528600268088063085017825280*x^155 + 65486352502763038297813044282814262324601170901387619274837238725370179877827571845765650492656795125388499955414453341346552593276485019189748707942148212642028539522632548267996721059953589944323004964144201053200084516643855054848203655918970393825220045736816828041046249472396823282377252639226868977839161589760600648595832904922871584188765283591126863672794285620609411613887055871592299529194801279109538850365297655361839714678571700417016603810025832388151740178253969515348627388685266453666208742258823080987347046512833713541104353908868284959478498776634340777073981451188380908828373530078326108967914839613766201288093116399899189540315011072358263847368070580841785965633669996819445561008363330837242860113444333949103124137587347324464807987014248596194539611968686768201060720221331340074426906859665843401792400167436561116299264*x^153 - 8203375713558902769546705476445248123212012042059217036611042565393929130605082680198940127414402377243622530802571885602639870927666379185912723066685579344731612106975961325304883904573378387780546813586992564834530862341678505317873990026569427903281000635595855153274763378047234406166131815826184287882028302008407051496355120818213505222141859991386936116733008369666433694484800569394772647251476735798093840170524650060025224468726772308305118383593860875129118353246225465850675778183200164627536016399321789332671692681644320706287761660477438349072073196334658884781069524117788477007146212429909680283145127016688675920334851199457091537871552429226140251094524110364967652369837828371190163851016844011493500566027913045061841989950859635941859927501117652998863383195971367260335435112721347002805266945974105883956597156886257413914624*x^151 + 785128929103508946218944309423226491589569094771289526924184676944164421882727671021342603562401673653974415038676584902338964613263206505494380423565150352973629924172974182048357172995194230502676207208097353120260944309722675399847688753157360913194641329538520020574087569570928325668403875868843400209024097025200159778898653174525360559500132564301669324392777917979570116166251724053526497271692396221695206893210465440700176780413130136364616886876850917879585615219802418817161532318872756974554184431701818844999769391151915541255738638640809488799747997863686816076471901802986802728871940989986294254037739692867239476896193363825820292260964104032644978469534921433488322801530462354533077750665201859097311349830525332976112057128486812744681524851166357502791507954073921441416126239624607703330665583400273606201602738821631689359360*x^149 - 55708668050598916735323811288232505280588567617272539813853559662376029002113350881389739488226793618282943443386414454225975038756149587986153718841852820672047962332665456070653388232271296140304147433246700474790766977766356152621844722313348928494191896989415758631635199318170874181218087703735854456168893739848435827948512731722403461372840717235713288851325018074394788915824596608574277415314194311703385646164915628325737882955610953815093465975187662986575215081830349495479879037244485129407912656854289020526469652900922483289043097298497747577377363405084554344062981713754476165912056321532317036280600018700013472084073117612260704122742543978649879665516970140527870895518207355362428768734102475147309410902132095073074764157901154503940685577778394297524528587373384802575436388484246539008170528381624263038351326401946500202496*x^147 + 2692168042469448675314615340879243662217462642003705535610621636494598318525582059840419508505493113147477792967689821127819789529890244459842312527979037319372040761573958146258022220220002941902237471594227646230060770708491591437156711951774694473876094271788007496192989905847176432765989250792090519999209973031662696812839490551240872432312675153291533734474177495097707791439957073877043940988693578929740830470909832174758364419429456428287686610261706804063049727350720705521812168088063901559892682087163627558379881993265018669613732661218458133825240857318946092483548280114607310201711410224711140767391179867832192717800077349311307760950100244712045120435813116632887685103138192050906323422281128799382146262843026205875137452815713372566164229470242533631199695942231800419296839113361744715979754912199475365666624638697689055232*x^145 - 62404874854976164140019941071731026655945848337008480421287262173563320713148396888513514614841162167635183843038749203628509749100853206029025989704324674088790456192849481378319963495599481150016324390747515289629514427660638192715185735165023821011493889564789957386803273926218303771042077769686074389840180888011906716638114896730651239622575665317774507024264412852292203183128528523487643469487524324201996365428184821312552054843280629769388578287641318526732327267894949456765163128147103079907228178495967782307972617090014793071674937365561776224324134538667406879973539404095233746108271488997406280805249976723254525168021399468210162106341277270739297216509787303853941985346893931859970461409417653140184340723246557508858356926368856496911229949160328794386339763650340802979684217626882353079698008714849230623905832713043574784*x^143 - 2025790800242208237673365931156323830247792820306554370714486354182959168319812967848680462766299592725252023229550050358816976912107109580945973193589843671758188185938352460147249035769234056347291274053417131994298478528802237106787349667611295388161583534766597320124874629505920460650765448461306592963789138765139847350996091276973817735195138092321510118182322946980831567478933313571315589241834745593381677151045439028856526188695358991347754989829720185060036994059214139083674139029409272187532320066733246909032657036514413373546196153092728809367252234464130064410473207553872907043724923037947963623300028599294830624427497784068678311134078886393205346619831358653043300388336847472462692870618754155351301191211766155034189024806925971140644305646346508975786794346463916465846680717758444532539251298294413553549333513558294528*x^141 + 242715022634058785681614706616095977689236275532407301507661701192466222307551514965225206768294742360438725806202944017151402397064349916078456650221312261516836182008818653151518028319647306209721605748536504027323675605608838788791234218649089596819418800758375719107277827936344479703994230294808753590045461140090347535353119917747255651240052613243004232188953917973971348333693371692066691316193745055067665044935649493340243891095103888866660804674288608179845842362300193466814041770757317446769485775498908659414265377302566918683155749958117856191637917499813573166484315616251442934612307674051260253232585083914909974718425062873569725454337707139175369000293643061603198068365840699305357898462805844785903351381911854469268595818305709006312416826671071726011387317431376543618551278990821953855951057448668191300104629468004352*x^139 - 8468164061998106195943865366170164678787461450577831016509273482301280345593862251157809984538756925245635546984961545398160167837142835619962098557755063100654415596527480056289591722770237518548038895701862038910139364389518310398569097074503528093354965105835044335276556598149978751093157705044489844642679381199617342844652444987665069035568902408572049651131448680798626912342828681979658384961906890150073711666754142737111077482084717987858617640140817138651778614720904831756616482232328979621079911277875572073737070039735716815799415166079765221082984335665472816157581229332781860212198562358220927231022954714061099035815206450995082508913322276095489022095076154591268391129588211856996419153120677032220193567677468467384052823910800890038314378918448192218885785465837695166102222661273272020739434295910512224259412108247040*x^137 - 24849683858530273396960533495528101987714788096763461245148419447346125790077535816016637637261653731279945166280526696573790878777100213491614413424583600571457764455847757565375395310139846924160821537306134437192129915668297396970108933109380573231077727506309742598602626520110141510383304527794241519688827626705984426410737646147494759992036817359319544169487870870869370800964783244647326762547143276912235085621900059227164949693537697529586744181765383916280280337012266514118479669211736228173580589254015190342980625746513990489797052191606917937547340628561019351268793117524236786018724384366541528402173042123616930340467697621845349490553651358264650371933917299941597794185529697741305201524738829319942918181656527718327237384923001699410430150336602589379761219165003347776390802538644503948145691927598775273971788021760*x^135 + 13568819282670846924287282195789698277750783824546275135463978506071443839350880870085162444583434112564292189019432570821452253015246371975452202458015679596288102931758880907792823693685062706490631588024738606966703692578664311402161068192830050994844499872588192650910587478718942252615745964394105205017462588445761958162821816311512564419088585570936936200055129315071516491968606922457970041859377304886991054229495463100446784366743741056754819687383665768651081448622037599512059723185709220317393894888595517019187161417855944085308679902867887112417886048022799839609235286639861846531643610337981389214302528192819756256342045031615126198580495965177918913360376364935637656307915694612660477903107070501585795140656504592256528174371957652260751335791186759921000341097038844711400039775346511220395844135718090546957330153472*x^133 - 451128681604164133912697160722400945374247430150365595710627228166178172041809973036199097545169400985366885011556044441709394287242863513665364397383224487810083077887270091609719290498316335465170865838079923460605898667281819950531415039914916743628410260664178217126764333206933026224921340865150610080904718453541478515885581820556566349735377234572931339476620118263290944612813045496590437135270298172500507204518267416169678601542974024307687201162953810568829727777948574033527583819909549949498244144156503338220131631412061705736456459167771255495114731376209718804363873684352797063611321250682346529873802075018657867060930342575078648930641971720056041919573217073591565113394477208462909988714587707513693617866711060266540523658626791475581243008560582941784903291422982392184770548198093420049594585238990406494827053056*x^131 - 981248855800524886022994407935260792287722258789499185751450646542651912933321300803619585344202794846378487821811312184322704439654215532873357821837624472550464539516271415729884215108903151738300098821812548281811987811020823471666878437584181327415503063564306906612832515827039825461904178597104970855201679954809876696439656084594519585312776264293841105210209554857868628924549124648261950447350418550535332949669717959875419299752070667452557625028982741522075985772568811123473713750901362974813437666480561799400915396064942776920135298589373878171185038787177996800504629887140252565574543445725489539080586738366525510437356073649356292828472427194245344023022662199267392164861660754301853544610893746783101259626399786830920170266330343522982211463171372607917513777236469489299590501708326940269541383193064851097255936*x^129 + 448422421984697566168164758983240954087543444039384022878234513049201346579280664520371687783636046381666894146755337344387122058932971236191171189252635500729221842800125923024959047643984537007940631521528179753323700517854261928814076039491938815507412831197957633015094415247608361578113469566717539354962973208378875835158112033152865356358343320630706486151299493826389437107098434399351652379548441767350080056882536714655147084311773592287855309401364172857465238766430681767474114603382278683497761983225062042115097871232743482538591388934664256601657580005770571505157356458969938307271426540433012935107525920691699178744211431468477920041029762129773029322979895767841414898085697961324236734159549721019480951399979898934782835458459623547064767198166280087493173288106380175474859576965391577827498983757488012065243136*x^127 - 9185710630151657704756851053136252056760599918977520043618582671645352041090129362759651298399578060444177248292884610799889060494757411339361360284161271715695391341886955496756707902453036088686143743606242618514530858225520889814041535224703811496421262263973044571669536118427730182656397057579352077352857394205742033986470971882260796972300732418389199254176414496122396977852247416582228743560767222231142146721381473012122067716622547859216120988809837900121856663148197424144590220786939242805111949724379049660354903258190517320016097993632185376015745575068572575083756213952688054438924654754795521597325951722651742360880975952650468297313694146051022325934758537624826369626668449117536417198172498028767344555924268771882752521265142959523218797391414063822950031792466700755069911437223188934733214982049701543542784*x^125 - 141541574258836090142450727327112149136933609931863757138352614638266909452914728708849536777085097499427768244293221494788881939369598790837370189017850466854839415723642827955785848649892079824949442760679050396561010648291429321313231426873368052321416898106781658148907375082785713859508044840092449373792774858432027305071725529034377241457562729442103044335773066873608690741971866030065838934756330906634030025572227395066471135211582687249181604104772027018348675739027470982801037797586493647469289736323720584291612673914526565647073042705584204338670542665323833390611154530036483724930810560544409715630059705781305773255797284268129539269597179348810363803784029075124373000287287780683317700452544170880310989196186752410990865224384307125946074858318055133239232821991440197804302369217564809468394176582435987259392*x^123 + 7931028916030767253906307018835679037393490909218462636356610854240974792318016909137861176939046743130330140735514694052242110025736977632388441764881098161051412256369697405416941974913009111872574467653371977456803050475468594824619108210323826279812370939913819201662631344738147022135648929874955401910020201512072758673017160941060963633676671484709381376543641073494944085047512289347840883654180936830067531967346493946470269741938904496375362444860369504639545553936121250114611991646383586948392369090730733227668425110647021671241681966021204549448707259051182559640389059448072575353609004470680209149207197796338855876483637548346260505132765966124735153942841071707284314381843144735857477693955516985390302896137089201335184594038068686845981880478262737706564989924954909440417207358957637602911881853050747355136*x^121 - 33633749081088714991039092228874393568344047616457160306603771247588784425633068884920159851962086054057640778633988082714974454299005706692100730869806238135610489346964954451266172152585847305477812488619808775764022264234757146100634599487120283973115152658192432764858333127060805339842238060673931488039211620689956573641088819027314051446199378637822886900003087982559308621378775368505362138543935504985131200977508506100865419515381823706479754210123911763856447937149067600744495798976986051088546500727499496151699695593880768556160788660953558843610119137840866643791899256571419588611759794764412361441359925706251090175907298533246292989744323676723509658272490465519420126201529490047611736905528892892239911456258091124865271784392661809633790181962051987196694119976178535885797390254327110814059203159578902528*x^119 - 3335676037190809053302978177011982961794993194516424808919030365855968746878638300132173776173680476176435633171140344691882772815079109892897770740174277379568113215319510056094473564480396735753114181860492300786335011083465593621806126746942885324521187629229850619280598288420949170507488310372102888702543649088233919722914079024848552177654736124832347178643292376637438141414970308616148118218374045353838556586438567983192639146334841578205681674379376847628538881597321605624894620666815553943741299197845753383544320384503968559827907080940486669980605489851820095749168091002181610533047326980952300642543789769108741911992218543639684966685758200969331747758490850921427758225838510117752902053746032376759176738518137549150705336868117630752579745245390077864572248357556036584401891054445026048321394771232817152*x^117 + 47583812168759076181282098182764110055388748427709195849588739557773812224221361579534348511136221671290599774527650535603329544506611055389219733737543011058830809296018690820056201164172720406250348608180469191308935365476222974075004482082492544047296704484048409562962310668405231242415938155520984658820066818575825013063943925985997060191036403570284206481141487666465696422954905043656869320796621586347699177076073539269229831959730106808575682165289686342520882640980072052144178546438553085943677092852920226278605183195922928011800715039301218461319606217227336095419973660064897984798033084828784345835317488894157845237160062121310498804016293110381792345499221743030229405156015807087294417028226600053726059103444266447425036665519875883273032479737008729237041039303041138851101374195452472069960415095816192*x^115 + 804688148208109086249757712920651362326599079401659946623511106365542517478205285016446508858899730683157362115540028035836541454142369200830896901784146016775873029008032416772463886001747441229724607057730554358790164518413616080157748386755513174367011529927437372961361058856023291844310368416201575521865675437008641359694359493551176739897576034262850343673836959973029182816493352475332348694628854445182627340392570813062445494018495363352898904293877076124143596977290167633258905740315046592531243636310357902749829375182481565462369462305801563761276218503471300120833261682293536990841427913133461794992146073941230770431987825172147615244416924401214009229276401957066375855145145064259182240059281138099341388174822788453283748851850797683453249213933271520435252289550854966912077929108395601256989069410304*x^113 - 21229555947201823636108789947888148950761705935015734527168752471516836137343601927912263459900627729969187069682777165093612098022265178076349021500177370419473337737033670215410005987659903156468832516941156722485282405904958445954306292390497589968610729382149151117758591172661015143055503090082446616946208176993611962457131993528500964447118030027441901746724150272687614382262918578362389100054538701536292055857925031085878605426305437194030327114470470014322572860062590407338517977660172076764697944623009112381820029023829201565595266583905261621204606571370655239808347107539490224700041341379475386048026218776425925645674654992988355650914448130664943538771130106571108664300692891794996153935740214377051664979504697114549284875202299611370397854213455803659097216669372415634457115010858026996945953751040*x^111 - 94565803943517616512034172576021737218329874781312627634199763017344701249753425468715046443354653280595467269407159929547139913966646838269438918005126952727108560797237060791576577036617574758779251427705958636379446025462781447023059877059314084675447358359135395404795333214180863897285144873938256988879240175375688479306422792035932168061961471103692453639092178481743800182832808171253459377180290175808963210771800766976647058001885442143263274977592391254816242354611146729343718502928138816696814487104105000131376057048194220064781729729075463844549552104753314655060796847314641803949856631111109469615896209497147812688987367691031786646213237471194146662936084971770258498813863358013791531024071797927943791454781146414908319137966512822274653225703255151476069003212008438641126860047516826526141120512*x^109 + 5830644758232271766383521019356572180443523432416483641439986216912151255109112381586142706969435308204427192516515855888213118618774565512320687455383759317389481175007255370318710816124218621606702850444142035545643782214854692975230186726370239648064342766055939898589118596242607895469628714707148697710127321867779693965618639072848244455837923770193518289927025811373800426621956236393580260422821018518853835346636002829426961860436895197163046642184648630601185810824717383055935021514725327828468942992790312204687130518789671184238513451500263651418712244038772786982648208685715401131501724444304423197471088724503504980421094613842296917321454798794870991546091274200064661934788673059857135850118548820888868542756833296366371463933284485964306704974258187115055216619468554031870425856411767044271243264*x^107 - 5782493237874892721990720300323148765927053691103607444895943324389315569183541860949455041895126285981260930354250247640803962467985029254526273496010560530193365456031041323545757116963131829604702786688233811248827169320984649630861296295571605363069179630438393286444779886467383383308672909696220001103684448041202829255690721278317458422185497128297600078555638389688444151958725673200974420551803786791929175216326777078175373366051685502802313276690348046714068908657433480729156231481729561319768355701240804093723987952054220720754526836229717824321558769414119757482233971382523337048375666619482179958538144807152594346679568319348568949436757298196006424281004181138319548170868833052801431420324527487297429732797416833784724016902537741830506717834820206498920498002307818804834936982326206787485696*x^105 - 1117236106888986118873071476554856980862503528335368913318208292339356711864920580033860704725511596904193289649752813868418371695186997735592848578762590492422858948943048163747141551635172494589619670759463649508675458320122337872613353600546035956331392760546509044916266199520359680004852802356033755401174705862811203228440699918292401177989186504762528638952431067597384291037597352768609885018356332843835303680801854501219801811151284814477095821478389190134718643238259123943008498610998897088029455343990253278286450619910829942859806788899703287751906300407835699114905682965580079414917791216989722571209597575568039589083468885772465130352654992980101285168583966200344731895049666745011844224538810832996919030842133553353120538128094745470992670515224335221947685948607546328080281408428801966211072*x^103 + 4711183027120902050454978576015452409297783992847578403281926258963286933598819661596825356276864380763965709843597863610432910680236068989025120578715755137797152861966419583669944773706414982199234745133568059078488384109108492843409808851098981849173953146804284929983738296969984274161381755242692558066680362317944527138970228685586421440615534498169128652092720805843299097097732584460763488601957561779983280562071717748034107651157107211658214019522574775064442456732876743286884645677779234835247552152952781331873354011251360503009170079806668079665140025467124175051439653815706384830509331520855016675624295206745326207492018289312062746743530268337248521139851401391216386556701774367881347488760639621251579910560760032995646448169627831853137847245756291997266909754712838928873330376024287870976*x^101 + 156095396601333685178520765440823876214562535840642833294875574265857588295147874693209517245154459906159398358128328887007654176046076224870677513908311316174288013966155516938046398725347782888080783301222217636566835201328023142752172819526496404332821140105847608290408312238017882710001580472699377386178279223332565521723995535279862844754397418671188913480478051999697916184312870028840668819348820634079733099434747336306584614290478175491671264884443330744108768300649994073767997276996485886512909679523749229570392791010765460945324408475594161500163227805004155468498320296263565354326843040321686250775563150126904912813443988061662311273002696058827934026470207496206562264615964917633717150640341281017938543665873178926968465000168944428779777237659264045679769093622346913448056570635846942720*x^99 - 1008689134825232935219054172428044772788090387072696508586819923619780131846457072216549108793578919762953064702217588266360065408674562283685195181582669222380916881369158172810089886977491340264080040832682084599836401289182382395156387040837521867518548223996224000234573169249632752324737284478899383541709560026501066512204544954123999413573733712140001100341278287802490929486385382978503448080032728261234021234728286633726893333524225262818408837862986989977561265896945577524346611664479982198505905918296600111614843102028124518759550007197338933453421828551495267096974895539571419116178020219579458359610570283559990353892557449737688458457111279644203741759321540773839178480458724636627205778521957655636033454855273285537673223565371546535109668297815144355179036212058092519139526127336292352*x^97 - 16058974498985129899022231356882028481109290228777149537431468044243876836508802489075572444360505186046809560377256070971599399108215029469310841501567348448268694325798686632346457751620367727385517314435697986435725677623813999689487900393447807290026640717203848724074107030603929528903948924803924667772568885837477222493316090861754791815977044499925436886826344198900261195645087884027496555669645229342443509750184019709889952843768577570166285556544646091759064415054546725352876929782342515614351264531099241555163335707308902509618120341150240035348685584751013591799196086696091443372619505016816802506889370693878373158316297875790208022226472141078705679917856057755587768687811529263093242121786378734667722919158840091049084257494509162668349233338135536962523697098013280807067392948568064*x^95 + 133259585145177833915501733978770835559820168808433165299528956897511468685624584581307639922229382841625068074568503606991743101283364057236658035596410636940561371222075105899367276975048358780000531442081373362320885054733614902379698174346588440313890665920041925096017110310797755445207567438695593150032731608927997604491294134254143769896706540250161644112619610931977361478242894664518813705590411313287892338287070690141887925644883080904787487376243360784292636869199275110463735426376758705759342457831490083524805916842106017525529826614082945417614187528363099994189526721904271011340314545834639794971771111079375268327100601831180914618032712963035900237567242359478642844085335865022856954478185631797260336830942126630263251694100586774122975925854295744681889886882523794025167800238080*x^93 + 1190695433901858291333719939863039995424845166230233156088969157883561235114692548745282652470136609936038639643461410589721730224473155428189088155815752882282395201265094905144273763341488612750418582813397520310116297250370139889169841470353265497173730413607526331464741442282842963618802706268144450690079181322567709937798213757007273180344843040888550291989117448620297444077343858135494414715363645395317886196910719718346605773284348216599624719484565329654692694273217040968567944797552216014203660609983741935947558577101110443140057572617649552953764200740972758927059036576864537308772587394073571977176185422943040769139439767480978292908497524132884216730487070965458536699387819608948971604267086327683037810460844678535127362687061684750396413661721261419882009939984583623324471394304*x^91 - 12308381394670802710108833620036904621370729578656441980574899961463772425254962848323659321827517460639524359676245385416824927967786218507535884084740912019136311398427467085771773556610307777503265380538266369437319048289323853101678637033726896110537056445448908855733159519337301394186980111750156688772028486634090920937572114358899444784951008842545188747895965710092532083611445224115632644619607657917752430388944629086200354711190478501384981644101644913084797039594056567767068753295852927293846106626140834684636970347284717207755457159975947756823899432130712491670061742979380206419630302042373716868314001147160369107920873289092606036959541131385397982259098551130375158901990202100299371597485919615751816297281314320720229006991128451284501102404552306609769856528536941355130159104*x^89 - 58871242547405958595907990712437882528029775109863148923236264235123724827638944151694063412627000711900712776601528925141455290171469350819125841813444798339924181014210416137655585996849511864115349217831546036658629004805967578971545453332134136773973880712766405400139157305377251014142259759533677890292816309212978134382213199564103171192801674467748104953988143794929915383579284052815979175152424585017985410355575345404364346793167553640745234992620899399978578448139317793006298022706629633788466846175257227981378336670581901695870743040904612062595158249970114830571065251633836336865070237788886032112224722481023829563869312998617840743759002734767090040628665452735113580827337186173173649711110202885073591076826496458628607908159863373826989443068402437492094938157349713066590208*x^87 + 831089454151111580076582477265513349803406743624205441603510577713522398081530587740950373207315994560828395520250074163549203109375530975333349021770317494390671572783344417329474566517858995893566422904960485325368778703386427170020305551500027797197066661226284011028888574880495269903412193359814926497285711786008226731836281374249845911893613238493556899522831912603570005644761800912751214694108721925780045413641030170159694297088407586809022625536360101356218657188669067101170922994576407434575403340202551175550597352951180073800891585634274378303561341655808666432502623027928494446981103917192695142001187598117838204325884996543351571763569629185074366645174140611664165813787918923284238829879464053937758624859621392518790766208245877009302717210087730173343677434774273461846016*x^85 + 1443820933084241732930529800884085723833071211023742810104270290603094711298820151812181431598402306706044116038698835557579523035265140092855111040444123362287946837044357976670738506987960423315997821974274113592834133073746141131157158852831726835508554076138085775769476113028143834723409500108350435957910534752828075871624157393880896035795854975022258706191182736872968777785635488090812155705749751716354463491990594330475651502307037636430304564019744305856380410352542718869964441876889959003644619063285230079711025549634275238240959603046719562598993407586527886042088497519599158206492181364310448051626245341441336371998176354679012994929311604402167868229426597082794062653718583093053306671974136398708015897913253995679149532866295091520580196594480373637654339060593978245120*x^83 - 41564299638240288216080784445707232365643103551002973217364481910337140708792492253736534889484521969340971981100208601419095541455665327873874031307798748527214605187107740513016901919152818696073936772283332432013147015808087001874031944782670647492899213512953623472545588154846397511938672910193769515867069363127008654397487950990665468133622230143831736014524483271602753316763189890764842092637673509451375229636877414352558665957134813205559176460309307244852338012430330085584822688090927118927158702221305244674317601022525455289363310359936168964248556823905918003077301837069997711781873670105909891633470028920870869084193264288298889043128446561210744381172310225535926647226535983083128950534025949424711325913533114272639921743907966463027530764454639628681581755511875829760*x^81 + 29789653204482093556827067903321946950807440771300433089988385021117275053564974080111790822886155293995742275320535194578906083708915306706859678540249197093896990212873134387858943624767764987572440671953207436884398489541251211957394864322665385045153069493558790483323194297707118501374288532923519172275410761595562262416399630110542805603363608371505998959604653284493867370314289664848949132327464251849522431738382424897172374928284147003319776550515942798064460460858621325553966877018632470963294614789490262887076609375502093655437890163829357058924291641257737854867584026233791826581987885666052536351695466053944597264328936844968566461110636642244053265226955402933083925206168643394609104147698603950508460951266126592521015887700350492302917858255605187999954893237387264*x^79 + 1496060848595248327309839000265812269219608309462702588744674012875667377738085319938487797956962657888405762754282130126316254159956918597794294821311708335836379797318486266959568744103160532921408373189120691696336841637959981416042902435703195420145551572910420193211096475638663466992426434122853137836724813272483914230414588708716736148752633886256688863824279554770951859499623976769577271073909433119913790109534477990391418440856075022302116629950121944522358330695344968650753421715555605885704413819297998339415320393261582207451109463122292667246418562660294988726885759486592418269316623305753357801100159544802243817968568923533255315663728008152002530432487646355805930542346003115275144197861163771919919363244036756599151209298665847444485685758108898002041991361200128*x^77 - 4395796158192996899138512871641816407992326699091403169457282636990452668610899533928328947044491333150037396916166625236954432229830284275893600960394139082174829721697791755285621890508407317262301280080118492898288805799753151635312594020868255798133763038605457050421018887911191305127701486950310492184797558096981160443090666826859578202855854223467732356380402206093757607968280795400222648342541337758752550568126997990355809437448460793803124942433249325859381533348451600114743715296785086357998336152908105618899691483791633923951387806588659857739517899820746786157889814913038629277696245686125913993985034874546847023342930294056568785392500767959611858000470237698402381196398661069680494254390631056362332904755486663892528664211558663645164303829166269234114195357696*x^75 - 35881767414234337358553204681719409249400313994798372365635147902134373059111734194202668874376343517109768462922772400166813547277081888608547737026635756441564543482281775236053204035940773841713900521631462957784748284036890195691495233988252739901605417998325807496590562370092365940065788319039692887291374276676949844520512981816374455998034457377199121728203462230755722210467583188858108831321352492407248510815914847627712635559581606503331277609045264678547699678125930685541015902145908110113467294260250794972752165457935315586680873609725803584127709484212755063529686675714624548669934993532576344385828448713950593423213230119537269920820392623587022284580310823080572533921268501348511077460457207622204893690171055777996675715019762624070002599699763613605803589632*x^73 + 203092535737121948493028822171442678903093186641401483023432704042683284160989236649463349791737417410329282441503907781117286134433930382714451738206717953275752787794879218681941737392528685698654519452362128057949456850337312921898291285270634194678661480760528561177527490349627246897756326307801680405492782476754405366806988722888491664228580867766259945790620647177744258867267446328224499660447637506316443132934802488190350635820558624768911282775065227879344335879845029375108917815115911747627634611356766600114529307697742067840324380896248115297212493693987102456130064312223195061953996999239297857375761512066469232310240046573417479046258263346349986752183764139003373661487019862258085666101262391851915026730064083291153560715731411898364098406223200292733714432*x^71 + 440718464893359607354213647624471709282680434331859169298394473943131136412751481830336389154202954414959282356160348922577098699743995081174507283784188772632610246142991729721961191590073177013393065830920911325580239090246938776828508942517585470430307353610205293748929230627967658554609494886013006468981871066764540095089995673130898837002807476254572973257831604119204274867596762896113633505573370296457017627347815045144874056073239088852470863779265420798291008464826089112378042665548594463424751454922495625714904708392025142022392400570350554322346663827696521351571662672302410728797831142438546650841625944653823349879269791073325667159033039990640722041500765387991096409410792096789822322374927860837382373246156893279523622247141967746969199284844767041552384*x^69 - 5536822049008674334029219031739563974822166091639052850720349992908874373833757826916113798782687814815314808727701143675133191607785309943175005053104856241655100373172467563025567507435735518993639080382889676910895934561482951049764208152661392905272048991389421501181931149300082411323961283970904393323382765377780048663841846394711080184524000834045586740743439945560967666388946184943124686203767351127121350401908778642296955929707546707734260343023977400070421657683155642037725035948490003240978027343231579929138484938932431951388455466020108872288085307013878201518519715184922304048155631096720858337200372795204364410229196750945432183041664233763991503989987872420361674087156404009894134376235623141251734841177520213827960675293149280480907240132412409118720*x^67 + 3228381450043117809725560938548278948817493922131397896996653556021902861475792847042371876567955592212834126425302088686264189181206023900105324053157134703675969622091873596450211666376674644407139689821581780667172783121624534458138274417900659477739589653094146281490401014036972707388728075530570632434200802778216024545344336423584371460705347686664697867159424364631751516658272055985952325544458692142214313857282029570331280570996658618970898018691293879765716721887943341372588641598714488644598272864489767374956870205882039508324535731262310199541956459508044275332796284492508360394448795422682503996054709419739928746623646997237915563689469674098083899554418148163944253598467760801068534079794110800350928934092457429550895492296997330830283033590454288384*x^65 + 92437576656685587719766237707106023625313888963755302348671223140610332983340142155262901133030424292366833170088628163218811448307609874603383720292374823916842142907053385555035574467674261809173065678940962928052794916168399298074182723995541321951574979032776421324129633212620672507299139768884000682352457215744456091948957311029214119191741422216051465497116565657077410712387310228774552414207384569042392855430425942964556703366865331888180577371913814449136901607011991622200606414774761869320563016326069085705828192241728658405552672638717275265610756657791239018473378563021959129907632550426261205635443854997290689309230995817540804011295836258106765032360134004269938317921451848017499458164373859315606575520163662429173440702889147124650931721963831296*x^63 - 254702370702416629475527616863377238712031334543637015807390314955442028196144793580417761277571430744316453949001131787828455483060574758563509843614318220936588254285452952496525623538593053911879550047044947932747609605065055059706329492957533584556096742480889481530981927818097851976461059818555470881288478911287136911185248675821528547374730408994811724192445848665248669086101651352726833641162146171946950815913829730834728817122679947476470269407007172077320835815140491108201938040050909207541109285733308160862233324941570941857657176108006678949932784505383922034735290448343485450096048915733288147350301208711378076413619171424262549624228050707413729015073042236634384483419846492250534583944929511477371093057651012540506654636247207053276297673310208*x^61 - 733063391206169307856777940584012932018072485445288541813462440791057969312182555166481386822284700562942152383070802548474516315510197887463583606253918284155871554673726350316256296615575544521621012778255783662442039190775462562822778175356936190765910160907285847693394824829377518407726111040558977808092653180873279001375882226909650655486644472634164719841099335044790278530155435454500216537497934902546770678877624857608886409332597613276296312110777109186816950638733706586544550486271478095039357165982131877967957391016947729026810460584392933808706339084548837041308791550725330405856576004946479477310487975852155131092763480743116476135629127806318751683619209251904619362904547059926934292569106043787635342211646790552904854825931235311274357161984*x^59 + 4890315530662093868083127686367993245256346340598070811017732938623512896168643359580387644839913797361247199872276868651888238429939863438003477707910006550429860644974557583664922330013860881857280496676409811989915711059801337965118275627487113302845208865007864230924736349643888264729605679970236322295643092726968684075934544006404978172436310550163255233117846621644686611984317320362121837798354934028092884728845285913780681171715468027085386920316757819426358901320803656353697067833045585968787221295729292315048148422894216790877991487631529633972252847551676233168803369928779200528416580150458058970488278344628887188068815073813445068264655815244743779480222564394204242637230160686387639829376540273554785841086167341024892551443430505098525016064*x^57 - 4191312565738717262749215665903101381309420588394457750677582107011693518076501184399079086953085744381219272993563442730453263604863854399324107772919158974884940945956806297166832288765819755182352456291976904428553132220983485563587392440659721706978267215304215571364616669275029487337822655708590466984834259793602294356336222193698409745348171968621871567171686872884644459713072647905592315445858195697440158141024580178426379969465980757175249686721700645231295242532453367079104576874009384911652845351520447060967447365830403175462181522261706085387371959798366271412137222489711384744888768040339994053658356442506901502814627186017570254042726723828792174316502565460596869141766471354054433855309715765785120705742507742649973595424116219846852608*x^55 - 33917209576118815665985503786842539037435302425304928743487490379022920015430946901764816586067401695043283934979315287867388770478737106200704338666761517070345887151475794170228433200274611443036264286858566166502474329331290523077804096041972179939823124587743134645332763736211005431611687840829720569889922815963675781944156659518888621912724044882732839994526348202512068702431843473826032701950509786823326076726853413733838993883161825431499500510762509673319998365168941315488039158087858320064179347423875219032284537472394301267288097628546856445732156308057097093563843668478094299419565709688145791106721401450682452693942448872763417059021120445260216790344239231230504056779173783950552251579723475367595208107710328229498321650583067099660288*x^53 + 125246948824586453107389687453857657097707988074887164217177926744413716395153857641781466203244660648525915547530352763124072509448966730555454623629790621352780570122160926001914525345248427721907685751003030587733828540527737750089417354842846773503017618534734942104453406677657340665392348634981991536118471326944281533637411587779857714350845214363478462624232450952142557205327595014225334115663161575721433627427225114307182820258484109304489629096447277409646786898682889773048825715702764556445080854390302424901709559674429648677019498023473426528275115503067844433261398079215364473967051985894432039930039934929518972372383811568566433566505160403764771326008060564136823284995950687786437979884026167704621263478856745549938177404807248084992*x^51 - 163807799710001331753961935531468989009182717273529674163308459206984705924414405130977992904781613181040574704275327014866271149887420322340837824090884967871360899521152510662639534587741703870635404878093476303702894962584628589053765585609197578597899614856621370629582672512091671753397876544931057204884764395414798668873317998062436433403846145811626279707588725213801300752084663898831419395779703251592106147348961917902908141284089662484623080299029192859040513264170920893468144781987663893224732669951199981198703952998713581024891582498414706663254095493662806937953056070933215126352854901326718080378229066196050666888704178622487150155020240387843304247046643210482733730270112247472768159436722704673063752740442296856379374969246711808*x^49 - 27508370668228403691356619146402835354148198441811309230144398495629926708818813104332050959826748567624383362119456913155213162263548373878249303820514095855277012927443338522504744036699039522922223081448934277610143318595791496231978012811759406211910408206025121939945437268049063958632420838854329002688935699063553943088231853130846293794770597764788381169342846728807875174606671553092509738831711097635132533878410031636289185609993910038298055754732633720768425893520838009635760023820236877465648011269666278661585762398430372044498221502327980291017511346481089060126278594271315518239578614478092158754424222002217252826583375878933903536652855953932777591947994338909781004312180724222931895789688595864299929466982582216533901871939584*x^47 + 551271521331577459479711340268614192256783533369263563187565150477052828115982772018321774792403092530106912404714973479533511924880534594682829835043914653118212769870386280174185457175249273467466703095183908855405095757384985788563267807678124017094843692984078941955291161181097394008088968295101595974529868793405100180234479908999230977002764420918818562484542881171300273727466679027986743271323532084369926000209706885267674370112763638059496823978204252094076324562174989133900417878595311060903119466774221263543791001983804358349424098939085024704104323760568751764758237599176432888581874936071087358486028180407764601239866038380985105325853357366412759141824208261347913812823510949308340731255824968290515714090257752807704692260864*x^45 - 2194216270946462185065997956063274551912556461482244369043750931362050829685224299959869557595716691184012186201992935860502691916674455409364458714628580262097177738824818264249825215385851720789167612556654958450690302157512561324573743675373131085222299904123807534093683942961639838679410736562374211762983603518712397416001371017255076646115862435413284026995601449277898109857813535609247037455145026537768247652198105853350800902883777990577638176016277114850570603601011444078328103831329992770850542018858326490367309619694651712314440243022452092202780641702092810839145955908644909213719231931029277631481102847161985714113550511475206339007033375851736482055957737694376989387353098905344092076722993192056775595174944546118130728960*x^43 + 7617368092719772343348730471115197802853880760425792475157599817651638341910167697204327272212374367261958680919912275024017448310439738767707098583057767081850882343050228681905299625660264325564667543643103338338802540967029617352038222041732750844457470275308748295519254846402409475645529827331080516303649846260874471522353117748959907612958104476645805775158169275371560641417768189541907629661023069192570975506975561324940081032787443502484591182221905998414858629557790474047369851351500136515099633685841129648290228293788189320172253484415333117376410049309508798077181500232897390980238255651700692029614020641785840845121843005561790234292396069623799740025841513295597437941270245359445627513415552789650037600196251163354464256*x^41 - 18676392876498041819326345762094106647924969705628487296523329135607689163809344404474685369079854721158740838144109901052994445105560883207149085570632740529491201882119285525162516783297472878597882196114370576498047368229430199231976520646705634884334380963860509068808032661140770707629842742798561502834472935238289859941655237680119769701542436327753626183879762096222862054701693288407366552524187718433308886222873585802003406296068885859287791940910802170172883625933611233160924735436259361286178412084905453545635774327619781969560846152812928341967419723317367778214620417798656056558108068154136551095717694656430853611865641494497473917486567349010459370983790033705506228478426318739365061698178652245767630248601836473810944*x^39 + 30185130275170612466674403537581336050995341688915767696823762839434343364573983479183355217335369161493126310010110595636594742502318167315267750753527906081093887291828165662749594382566171591243280457286156718186736530340969114979728278232056803170057337611740749888349038670735875623871699981179245015404106511521042837991595048240166412048188755069380213846090668823060929136896360591530953294999362542914697700289650559199533638954878352209795018341217152662983487253281095635374891491417352207934506582441703411633275142977722852596130622438776723481261754288402080737664041104606199663397071553975433999369257009895016031135858951247650563194384369579625329761941577063925739074181887457471089502350266449112401789110722605613056*x^37 - 31726133781499745610953921076005678019912131877846769440232083313473188422476479749270007105939379231363864713548924264696497631335395688350037222810711267764815744387613120461414756903651019255379040492363701442798135254171937251917903051332948851300483909299144089370427142905502609379637511455812694868916828036280689469767550702441198155456311021414465007753748006693166154382020000436763223243678822050685773111874678628660717314697255824469549636297509522121530190085092081532890440258377684767494099468862366178944138335873190348422295892099203422426179836603909517152232597459832815785921512294428645353202793233725438856540376489079426251444975672906424732110209961806594121940871612651322216289808794349892366839411925581824*x^35 + 20366659302291602780149596818637044260207760915744990203352099433416616307258318687884250977881196631988614203589958313164044881469237191492919231657776361399408358573119954367435191771851804627478086890215336785409882717259151170949452882515971162674609206653780345959423558522311991211836271399414095276191715013825091042949975529671669507946731465310743019578348436598142930327496383226178262076258578757500215530166049283678972575394899027985553340796606510729338433727502545953585911657298962972573224390163630695227353276666525864921988023121936872186648046105441260086458168938478420132392664813597497373488223321732684743148031183006322060828717336611638461985371496295969699506051683654996019340926037999089980979466469376*x^33 - 5519334834316373357147219710130941809962689244882701286766033727741028153577638504167525355255562889011476656945083200594885943417049113889927393838719326142861640179056656615428182051115271992708826999020443703322613797069464829443048148187966035338972352752170474704834680137760791381980713971377569517822576694647787661447313025754459370257593679559324240060040017665552232670028998718040449998734189682872062230258593570938736550374573527161926559851550683778983224117816917978333054853947191001954188175342642459846796394144203842474969593681643283341002074539327090401904413250586411027357937999408118010039217767772517332398979418531593778780076837425825278365186289514965486373133557399492966226246552487835470376468480*x^31 - 2739563747567654321392801680284439987016083622789572856303330458352357135956190606556880130962165970153295117994184271422149748993042284734214090807763753926576424448044232461056560797815884354046976579586757188065616305459804304931079297736406828092913631108006263191992178299884273592410149689569430593323510960587141699004454324656671768219510397701174570489198360003045095320143385932867572605412097997155781575846097532373652983895358994806425285224079877744332465611506819616130879776620908539271633234306673408386316225979477085460047381585672402280750838328466590544300964713990025961732759286322867480777976186718031828070170026262873436316509226160083034622182742146887703232804887627248449983776773407722656759808*x^29 + 3603082456975717991454888910435302188702367216357240341197599914899481842005464697489709938604921318262584818457320778601130434234363814178020000601752977529980093144560721060697078386070913143380803254685038305394332952385929086258569659656601438412241772395828602719170397370879560308166839604805824833036366364473262160577681784277033617213327516269586097412816760253555252354447429067231996309262125866725378125635085509444618423943327071580838682287618312532055487308394637770547109039481573572987585988737013651140384902486366409242178122087401424753283914306301116147971185975034805727096210432225859714872344005790156974079963145156787954273079248048754960343652003620102831768323397881018519875779507674341703680*x^27 - 1805490584006994047972792634159343336567444630083447364897204300559048587277934995050074122981040335677066805227782768831294483677823286369718140064303341790585892568833918882697887404148104737931217691163863257604843031548830592572431978397060970943260172509929671616117598441468843808027709525442504247191085194599002245959011671865370068253477233209814738256593812849217191911990494945052600212420550370901769016906852332455320912990931973879346566748480783213266474411868406047726528072785671387951931255548049156708042340977294090761920449455662321649845967384606802952337443212613690515683444033951723094550620960174325893869439095557140445323471885564709568512651734439602291759785039207656504901383700625752064*x^25 + 514737769176085585790544860043910235152974093491230804813001884327975161713777154897324026802224572620548575731118282292055933041899367388324815662311128542511945039503853737602076525777338733739049760633716618617404149085328792506342269633603847986294527999029767520553744674797653099282373752207507013959988054248415762145720004022855081464658907702572787518157541988266847387670995284671710884801662392034039878839126706985411195102668632027337505763379906154743502837177734122626830449738456973065193971866665262676922666083750458448605406412363332341594625702713701840668103963899271539858279710595201497813062799576747370931865052345387482156587525930552465506370723329347796713027390692911231862458919419904*x^23 - 82784487157148769335818339657901978086104288338366021257456218811033709210160140867784010687764555603933652823250808715304683589901303425348408732051380042055669562488834216021224810742056176413592133556411015934311922014814895230186634147063287401055968706452257693395699586373187273192321044400414667304668954079535520363162585497019608748695066923622672951967777028428359584002861911128276544610934347792129205447891532731685034614104301948712121412564976217663950775775243856235835984540916629555179749253601249458732089811819499511615143073238718795544344263333392774172764636979641011360856930370634354966773920434706687641244390678071100896092738136047099894591072166334943279269499773477317195453169664*x^21 + 5750744141629020129751879040621654672840567209086403140962059372686132344042443306474750231561569698230060631461299695683226511089240150965367579778914446753303959420208492763544453760906494407651152148832106537103582533251185064383604088207957994533222447029706603330506164902403882385211345347994564508263169028299647030768016013100592570358384940042028782562011902308082523656400300392829099879923656281875454332736732940602165727568087084486138502502675335744946319324357848689478567763798996721796412272274039389580723687778667503758443615873212586861931041272113587501992945664622511360707885679621238613160986284951911229090375889477277839120124973502164349612851730199396605647916332138820211310592*x^19 + 120668316206450028065811804996248679626886712340546887088394214626503392517875305182677260994684349447241216892214411963815457191670156149938118670897010714116647879093494819228199697652876972050338767061431414870711674232591364811487193189256526382577369184911091976444784177334405538637507785486036574209105444926484136431409181700363289814180875449814648835864553189315706323817379364486148264292941780875859667936365152312952139034200619434229782131126423274679390908449231601310211387338646677256050034807082022049119588339044039895156075994997923597263994725827614080627635177186259893346917771452024482280520005590809692674501783101241859999848851400293482446562049330167375034997227468317786112*x^17 - 18100127464426770010678755397639257669443839334417954804161089905773240529256097892047553360432933818719982115128265592783698727768877059952808032627921659207512157040352056867473015739026590383006136807711680745412071014111209306771049945388501591146115814158232366070896023225773458983495741814353471442975400067781456625691440018769684513009660592331791643198160488956751552072168039382151301903331030666469503399549168854546487751502378149430228112383267770805501907913242179165673891549853185300686588758525473247125996182858941855487658749601768016747723848535472286624440529456934868456264119469699685867584802737493027036079394033494488793016151100821930809246137913733312013588961733640192*x^15 - 1702820755049894003504395119469980551789773613134844514532831770895101782203311363219191175802574056341222846625007589379380294363005806533924995712493145006818197679585876200903742425887491882711511430826261061722347871483342909087617258208708793644207244585680764520569296242727466828179307834063758957566717724219136290584113277612007378822339016631524004217964900205845389035204561853967112219183756078964243800523408597598900721112374328106318079459484695429545773471074453557862241246061054631176482810299828232994595497757088587175964107622835103567389193800882430697694470158357906656128222077581814515454700302452201454495749279654936203225646124752589084882754535583815075387228028928*x^13 - 36969417868876903693152336425244608214697498348530841073673844229711073301198446030432891656282218857385836099859011209011791731412296961418746607209398447503774492379727397701465150709210679580217245463653696888393992209798900633666615422541612541818192789263292227778760065469369872873994741239736163312627568676599338790565341628226931837825461059841503760058108318212741674442902599544557005309741123788452258103069402961211505698247746334124739084276592252924097221853892804226600818050109389752246475623684352707666452932447328920094385409034503345186046661000307281163402630147180545227705417482681308726831427230877856701386304842114696052291309711165459261108778149116321036500992*x^11 - 369606664437377015059446889991516264172195354791399496866374007343680486455339143783842541859053977504234921141885734877437120829588155455539607745853468834722757512174145691842876547073787176377425803338340894618853092804149648940610191782849238594238207838527389778944572572813635873835111666506769268993962455418368120066121775087153197898699007123595684011431372351808129565339804796019433711916006880604202438237817513631784982159200471328104142376260551999693049719033445899455640191395610599038455550308827693169940397066740711593608469227917264777079251256214270510816727920662591075900204479028536221897144025908924913852177034129886217181121598997857761450769139796879081472*x^9 - 1196888837091593486307161798900225007196202502386770337828906780892113848055176982668948634436185814709140117205856683040970944173235689185319032155162788788903681174857187410691492934659178211991317984451821737930928329652593884201209293069349019369335762060702336794286615991550766190226554890999527479867129367420441560934115845791841985170964629349630681530927253021934902938699084933957757290622643481428786347378279395815962873455940913446073735985265523623374125582788748009413710761437105704525193721344022934655159281386810719997455086264223643686180427313707382764643245092054133592968004301689324265783264996428233528073925611860557214397487378594663699199701765062656*x^7 + 495179099054521727351677934311649649864054639890731570456933582802981511119182158186391881584205537860003745667382436531715162217715345377625498563837380247868907502008084067772982188861043492169357692489947527153168805889905340329908170836501669509009348439954734800567468915586307327407321945703319951848824746172052695741714750385361205278907006785773787817725560124400172908008108605893692657307276015106757865189507813632751317590344876018673399475229314326375324036028461404249067589852488107757575417294129874762151206992904121733257801377658846969422165012823391351998489559573591935286472767182773693583116213762737542338939544628273066572495456834994309689245696*x^5 - 4380072305405811578474232905855047062842035667371024774940443379770304927234780911773879689032032669004174825306407121471533923907728285327671865809678719010865042774825581163593495204224365112237495296021105151380802181051473471292037607997034587625811807536661030893817538777236090483182933861642592041671978029404942950421194826791987695063955401297977869067989952474974754479733448743493706475520957895906975399324963397739384326775098229042819933091670468058160387862450300957592444408159931456103592064614912250536523921935338139350744117647016125153319254905032687171263454500276317278364355923938603663118942810686327978548725433218312751902912359656587264*x^3 + 11333327745666646965977471496221539400191106727123341444717710793660877435302609863398164936126801269742240595499603018904196338179409338763229734443690686975030656440724811316059750054427514782391321353414520636052122566431576026177962158522540919168209142775643386138274784990616734066192006260680972809763333184082728218969109291128929309820643783078573025875199652935400951175576125240571491420549354327140847265223428279716982984564074707883024571673367817153761359490972702166771925448566580550376434237560665486750112910853503781533275188834596284704920878355601033334177765852307682645006702951463682585354803296360590672008974599394299785206824960*x, - 26712540491471473435475889155168302779591461781695119133580085856003550402938735324247351392128153946340290060536705501438347893009091829714657197369769302463639027893891664295298535627713646681542992036278312154406792622563293668902339303853513472687667817770507894475140107342695269096390388938817342295970686278617403662591441219459373048278662309226737398432405782151249236492165204771223200352801455292581251412617322209932520567852588446912504275251129336354549768568451672342461302819578894527514460035869536678858815266932434409042707259268305735427800227408062858003971854602594075764522640010307716612580852824265076969638352441114642408068704028356565057410104785476880297437431517096174359731040921227292108534253605561721543632299315077554463205118377422214443788696898681447398876631741985148730910148933909964175830285309029088544436518912000*x^210 - 368574534654969076062874939287690432843387446434917401597438878487511033091380789982293308581676343285989039550681951047547158539562914721887189361913249708121769476706236773633405015868601164731121824062225979689600713859590102105833259535022092982154557102512815464520131038639441551277522608323256619601078614073713504996445887308920757997452405679206485324886515725363520529842117430658999573484547659255273524100379527592608460197216314566000451824135523382881208829555449617296659795265052094112237788551694034195693299354044193754015641060103574739240699629865909234274709797836903803991623513289937652821469590748731907442962835718837953704091223658797910837837598149532535819527524205268112881680257914480413955237844185394545889033706106322604406787333471119154163699797849590904113884557376056538969129789284858555069459927142209059551145938124800*x^208 + 2399446749061276474156371934244276118853767288995152891419401901926977424984572651191188109515926235865487288472651336119400687028078052596758202529179216014726456535461767257611917935171793645476384991016107057832816742809529156661646607999259529589858626373417291342140155556300025125581217622977496399008705769292256808324790408595934260352738425892819156884069253164946014259941013353694899298155873981492642963959978003149361617134033468485359797536970036145030684287036516687046343530407811074920977966303532517725639926165113428488416320172517763791956935250315591324549677441660715107605325029502223433270035868460664432616704027648261914187978616588143797083205845457121259749214751154577322279082602653818808908689301060417632250949572096215902029426954198009759298323167043961817662138462547537872607526210837410725702345491118758063188056221941760*x^206 - 9782259970430959435701129173627402941790580589199913168193483379076940697080404904046097039093125353264154230643527400283087501913345909765765055710702141520033369674096376717194114307680991203139904050087643479268939982869222869308331697990428012305932884722526248699627027280514696597503106311785361009100778686948075543144812543292264915262159720640479533499764314613777578804277252603135292578239463931275868478373273403174744742084582462789477530799274294638248368879233883140480149398525378984809581681930118161707129256621704147618474311473288975854276851351340104414420172771042789034698312948576358227881016722564528874696060103180076099158385890500028851114007001301719155303719666566540202179874364377307355065314966534759628317066214056857932342407336322686024728110802923367035365025810004905473304076988413809309482720689418546658058491620491264*x^204 + 27935539757550201616645005545527648673129824361325596689525924786257749800289206405539987355224367608283443208408968199722517764999629149038794217604606468267626725971160688282029863540457507280034681758679265407978019395644549447281950494299587476730366252259873144603484417734297330049449127073796822143352383427665849232266195764398991475860237015147742731256760256443099574352159536768474294798169718159143619715586652555542004737929278238511290320853824086014520163783564218218296218587098106222999654159911724132862797092912541074458515136124886630581407165976402546045348635158534889288648275794697768711908497132189462956723409043895212543937007319761320592359071556127386402164493129792061578654665728693033794253858380011469242007554173182683469373001479609930873327628395352105419035512320804420857142096866896073306528151140659132329845210698743808*x^202 - 59153812908224344873319566223872504150305873408307090672459930352963687852561175322074734873317571064805414928978367594790136461474976392339562665625608796520392939665341759710633745891733142033672553130055888277041518128461212911595893057649089891025870521307959361703097047635532456179898652698774550968432121039879974282787434945617344714328697517354705800611738318478207245369284049163994271086621869199251845127971998086044966889301977122888495024404345505908305036620390843967098874014529865100504748906930030362302530172355637492595354377057249446637119382848002691505397076854158365530718356395891864415675792225206648874933171009527197508473428425498615141266124291363884202513279604612769369808645985031823513941594899872128213514905521655443551614328800699317567652836732334422578318914097822281338960178137647019411105858599848515654740677138317312*x^200 + 95726513378533678994492573808148269833740546975304803329264420057797876830380558340686481343321227845679236494498820386121161538520114148599022950323719020568067603611884554203292087562775839108184287158664179780932645679465076670363886795159173642229028523910177078396345931955580889602264293746870834389579800388482789570314239182668514556613303114304295674341057677653506176237393523821200314298335994865456838647078148641968308127986704964836088843033836052983156562202062670704869328742011643486235134748721200565568869247592737193220823458016939731196507146764660812192231306109218745485213483499398979998549112396391335190426687876339021431362393479127558416452842570270529894489311182811825238881097459602777857416609639808064445037842932218561402320791725114897696644010520438561827058527916686163249782927636099403532852030794985883736032610743222272*x^198 - 119846739724645397034281345624135763880222039440963971078088129626498995642134932631357806574167283529118199535211377630216730745754049298153841979454268851108105661189589759313732013602063174471329593104826407817560295923373328278412786825564792809365245430411883889086256991300458500362490379695103599663174850583951405528702017241010350385540903003111852667359296055364499231923280744397484463861936863083074147266535991661807457094831999652513857299241097879160333099696603181190749334012218645754842497646631140751722046471794466204069149730885691457186763178805369634380352708628113995822275353570140177913284650364164299549476078342302090813975461819995897082782849238313961246718005592005750948055487943247304120255607639585612871587514058380950175749623073500567587143209434246723816682890082696931858514121388557220113356056802376600344352888033640448*x^196 + 115396292829385795315907972788859025745949111135867452745777426952169403884356370100514432062972000197444752017431115877793974090754868685525566277751083719856150105890948072250056199245716142401471857629982700869258655228971733865435844322109906326390669705002276423119211311075709954181767533830033101016712020163977722857727780414681090450339618657436459344804415518824705464028650040811210948045809856984979196366231408329121970915936539024751794604194214635803814052568950039476807239973576293092272234344487863798031296740143946650412810889395754137359503963192972249084991364821210148725184336397224520736840146525891916405514316920274762091839777537342928993208018348442463128474171514581314147232856057863432916906966197310489163005518407688120680447908294725686207448972880355787467498689448593115184657923254998882690128583604915529468135733676998656*x^194 - 82377112588858672819195492866416382434310516397267806547130650286513969223232951456901967752408890048789943678994599055065032207194574252541440488920421375359296662610329775116888902711350900050773344367348365449282986042838666533145046578427452668605886439048169964017282429281501681397807934425693376747573948737367163332850428527208135421195061764087259834627596214130864951502504524489708686832148703955867991669722674274262898007565292393625980878520462201273639357499329589873591047090623729531397047720452144507042094865976428562613996152662363158026589090545641308019618859887549105902671866226779770802088141966763266170030903297464560583244259115927812465675637966678249888031139824937578561434666814500294011862548218038294773364998385490359892839335770133125411087465358493186166753481726837928794952847854216289895619496088964608540078017901232128*x^192 + 38309139046509956106726382553111790821951556792743701011520891458570738204875258290050787581754463720257394213677353194534906466871176199086650399378351938314478607319025177489944528511748735997159653574994918875841190718251851479118700038883307201534361833712823333992312525003033618556471913994249825501065684926395025438128816733407774665456351279534623945704816750644510541866926989763167218129245771715631262008022776028839843823197838071487559082428916950384935818759036768567141619037368358995160877230720126695995336986838260363495812847158026397876360607201889897922456143269193090485619748951841962089614659894586339215242093803403250351533151162927811150032883942385873534266458957814763868252757256713251174698096155096650587114690656053875914506491043625233113239638729594845108279727678239961504147878464218751610002620800402354977402243399024640*x^190 - 4156230432833441821183582817900992285247003665529467308875613381692160175750247421242136441890043603259618825941330741836240489230982012864208935613170537375993508447617212970878196066745812280827696993064539786768837424741080769861710848019064676742995604252707077854686119061126184318813533119925006162977620808272909287628094864147679717731482643884299839903578879396203350195912679431643352232798733779337621634075682908058078223090301298187460158208667219373463773620063799576726654797760105097003638429823903293726571039454907804956385594629575915442201896336200548581605100452103502573042687450216402364709752279319235909632717091379101541587416226397274813567192750574545054162814134623150824179715386686415936742413357759952486712961568943313373885757240772427228481206576653440200743956221989668555691036483923339942543131929929746269621775811739648*x^188 - 10650764130754046875123842100312944793998288519908290687134773901537451038692614061891541363188204434341395795326444020052003152389030301539205192672583094918303611095622062655714011399085635510227196484626920866431673124182311393478387776145410071142453479369814832600234757496717698416902801851315721963288387057249287348410941366792325043369696264618101685365997448878594595271659425289914324635213928420033670659699983824527023480848601378288905692104159237499886307085684726232344308346229345163212129503231483345770715376330000862818763785412472700624719276904142639952818553849667295806796692419133721959638792883892727958812500734980444887365070709924710053352574796190393497288162543421050827043442479324084365555920825647656297969788311753205586788474705896231496108387299990375162665225955884887183232273851854951532292963527651852454927564344918016*x^186 + 10514940749235247717077901698833925928420084571692929296902681207302128765611777659549561683519811363078613313232086291551528476567138487397212799593956209411882653283481368799026783016296942712338254413078126826970171195920570815385054765593167471932507939973731195191272615772801006368906520402368850233693605325123449335251798745004776758915950763287074217336397098566352376886401860209859655430274722910602584575610185271669828810641495718997733701822804090625013311981386222055920827495792290176785249739365942099486957551163606882282384665684514170415305775487289217751672015430371324759268344426369955568159199363615244422131435736687161250511388738689093974225915125241538490819600251949489896190552632983698965737890614882415709003162768957766523777231671562884262466845914760010600880057771219514432690230542076059418642143456699291934799000521146368*x^184 - 5104023443828823815490063697876522033197376826195028193329555981383126260221233962276569826807370214404730009670477769138367758479797924365564826277035562413902641513658958610757981276935575374266754649865063136061541656323424129389906310641135853415879234310663726668841928862594724907084799058237864599148382997458783758640698390369078703961647457409711482840325514048671512858716676133565615533833424258380514681889085724647314591862436514397540743545673908527586636296355018395667629697041538315684825008920323478868567584257430179483349259054840473886530521073247416249893065715604783993682017631614078498419297017334868291744515589252358870906719781362006107383812566181038676964175765360145716810613817788254787288461027873428627542407302385727770325996600747862990733548601386266992853594173777312168340696447505687438578505091559746514197997416349696*x^182 + 932466130842855754605872444099963981213629180964011658158089321381044604396809459675131229897461045269700718604555026821878619548517328267303428809513230535067256373098794172833102431555386954937814566156144668422414875169543228720703320008929501614970953790872223849173015174827906929156891793332191697646299167347767006855171042641251185381733360095852313610107975229151923289437371340754805771491957428127396339238910687195947781714263801259601812114971136031627781286582081084823569237614210940855530896625099284900979724195429744349614161331884762148615025070759396627507235527741900332983752278464643261986208380024775233500461764935014803057739299935067053430541777502119274056490312597737428524417201934869021113391197264821900957325550702446646797379849087806662294608251554676093532534343254079453792466173704002224469966082262536271654548699873280*x^180 + 571319806929444560519416043292928498841036751951030291344390350940464416443077020486942899438327050286182784219286870662206109004551712442739035023904066725058010271760042159372819997753360109593421457767267947300410981562168373105574711458800744617769192182840465270912000902939779143555393680746946547246542420871920376691462766072066052897302237224079603652455829514595276734772697542228553220771057651342602004643231897969458385975816456088561091189340768456540702856643447444017250005683219784947176867158958891644522508020875520080387916833810241382328275362586561861171780860366585391218264546361876319237705795016783438242162834476503397059100295079354157383596419604303160860518936934185095750361451641692599587770155461175319308296722206798338331402232941893168028799699765690024660626338676957481409831595130560035734656827382632039480702825136128*x^178 - 557708952190612005696804690930936186179957566947062523558036353026503432180860217967919835719354627656456007673139198379365799946687265788389748457726166355137130022261630812914558142529706036846257884374106065653279502626243611391025272964866776474979437126895152326629269672467192555584461039232130419690605978781864646860362599794907311219217311975033984725912528741519911929759270233902437579140164596830756106346353569653131401760614333928864917756585095030720095268874610186532623103454559495638379347142208928648810018862793808556329544456841438901341063110133893256000018453310306949784166451919027781732132692757511518603784599114839928402558486120911079603224034573212512471687073035915727818852434713374561013529233240013873145590694680205399776749940617125426104864185992652985131432128344211161824640084987694514508715882455215079116270022426624*x^176 + 225092504220207626429808237543412307196914538905262615440427193302313404346874331885111053593220723617933487233324712247172680927340300875968105958775038923174969925103730338475282503445933386129326806627307713118918849864946263989126383359344748742817751135059653517116820621933695143617575978476312251198607406491599365645960232393591212296884770512456324186961532276048062458792461213122064947165483541875399261925330654643543615247932329592542618280566411408464645032223304987626626228992614082051518432224081410970507396425476244257520519763754515112490718154245589560533953444774374369391767604468198722671707227243592862279884652269997885561268495461721513202164342549660180509763035080648552227791945241661495333869354773024564806240282976317833771447918158402576920982186741008069003121142396081620701002671398309401739462099813513015652204538757120*x^174 - 33588153427154157635195938262294474041542306051473022119628014190109413387619055535682366550102795027184228660477629034275557882280499475263801956983265663316160038183550968214666575747761696517760580240100042593282521314995922551818689991149041191982972277495018391290456969499422998546363871947466663879008533604383770906588678714250035209467914957988476913975165476505442172775805331264854176943524693624734351073746311945031077281398516610344716448871276903097799270270466207804837386616081226921225995215627595437125519367543794990010430678119100175537317528507626303769848146229790365196044580973756573690728085183260398428205090882140182404782871312344872006210957140149281125841155284521566820886615099418568757373469080827418034273652191587414339350974081542690085418786686561854035148052207336500004485577498396310540263825164558187421984689750016*x^172 - 15398412519970619346963795231241423918388574031106607417997308135597092386131648433251271391622340447501377371753440853240454470171713840551365356489323515035937822090530288090886998823038800154515574452548031680750209472745597217506400373701301793063607887013997016438743005955831261937379298305687448389037036580970379027721947287650030454387018297045764123542988551056773474142644804903838481997920825810882520599900304848978232850456296545688314641433606287746345133871972517584585494789428118764112957261634630487093376243748729645508792058028307266446073453273016159992372214191745988686366018953481313426053526144343152115305840966663915253601870473094627766834736702639503241295032060722081353139327638748154676117108230988493246946458058049099856003075522776513365463087134538794072037783108879885664348764536454269337159341533016143600828054241280*x^170 + 12155200538472287586934021766710373076334885974638260518494384645302877430288264525475640991252533457023584651099906589331141978394176937568433261307663731239403598251400542525835124382348856267649138687951230104409538141695895388981732854325972067689550615335705321959804579466653143590434231474630983115041451863135579453445680277244382914816393164601864563105432426623268335328326092247066717231902742537239702008874212422556650785491197405103009707889475698135339285705317156145713652267351821941619432118259015232691971166506305909204358583839954023021874377268079933484103994344351629080049070338179117272615535340581791207975521093865143506779349618897564647072046246972441692974440362056316216007494358844313010321391325343345804711510405093752810641030548072690813574740907697762262398460743814138814757573517038279542522967136342349691265352728576*x^168 - 4049243161201360669576345339216633645980600435235198516562797105500955203773578130734280069409691707897816321304763361779427701770766068694744462174315737518680282885050266701963146269617190175561223969416467674434868854880154556591923510112440173840298375023701337703535975777220736210786162105905460295960591261665861351545379532449190862531991453870485648944100427787708186684821740108762478912984050296482722352306162710074578734137699562772159543025048721168705712298063758643281006866340741697381761240204282262033160070263470652736510228455407816679249225783696483513496184926925327093870049923271052219577793674228132006413431019376338784711466234501316527646047843548771106794943611273455013531847462473196911802081635340398554207270308610128385752973076864723783680807098027939077434397052655915301140455941982455777705365901895057015542867034112*x^166 + 612798031001801027934250494227420307272270200402194445778202436008080514689553761902110523733919767096325755866816607365865840393691796550661424919166454581694875309967366503549128939470460895272846293701998585777750671081460451758380020214626139659830073290779525495152515066282093159698249356674647757251883404578661358329210489239734252044887974657216289807346882625016016867039844317543577739047069632877136784674926160412870162288203689388993192589912422211560774172394702374379928224996345231368545410932111400153557221770277798175686721121179991250974637631683726492834733175731219046858911926499825995877489738989973162782396378137720667585818907481344662324166491498659179111147820779889763294686756660267901424072157920443371141303696874155866578163727201871228145308544783516850696167016375892652504160516255033114697228358466176985373471670272*x^164 + 96409425005175698674751542824994589351476199481484554505571556497257418202268340338836955198717298656027055392285294338011490058033235762345202720207347415462622204222458702339155374320142784677909243095212478664185437724229467629688603517033873522575869785389955575811312395313033343577778790303326718303815960794392986232540157192343167387313494481767587345267103800846177501904096013984994220876948523536697938402977322542780768776511554561233022794731498386097632415172494504377455738167667641369650070160256413334104087564054359006809936163162970938591986872591020458786879477800852308967332464503506231229062108444898298739178769768721754581203293754033651388183093122861986736116109528251461821611761936570576895877968138816134501429022983197636211200619251594958177001620781481959308250386667328472931794076118840223776964708311553113536356941824*x^162 - 90205056108645177509985745960428708803914791187338346015685070814365665655517811979129974858840951032940621040142637977792310703048750217536599009845371401480304084461819407071956354078297397310341629624158659999761675020140474200922574216094557508276563855817366284809571169968139318268017799371587160605289459839759598413655964856088618441086586591940706831535979139689788557696729112075120905361792996535332515002520671261954909868104354221657019489946014457464186275873729688006478098695947154254581094725710448451671500046199303332304905200253207441958262897799782368218858264041564981446745900778393982621163251423614957706997690660675671065257388226869460838592828221512387478210509718895199326491544192641973437283911781626416107088279142679213119533781766984461036451972147236820675574068580479224491270903138347333300928888050357281228194840576*x^160 + 30762696866270744744838283351646926788696369378849004264796515419025063096485108332934953298193893445396737188855467420909280065555571377424349025045503001395109299028648475349497880428101804420000964752498771728345884239215599043717065120314818575832945385788137286756139072691923492168999189486207888683442869954327287866709734943356753799146096872763349322458480619461861935376015431502917555830602118804789280795868503713998488591032216415348863840464566294442111468685135571676099430941134361164583572253197328667076706606831700558687030910710476005288763685922351091822272670623242458837255395891728934765446904806230924747453064337479781507190242466612844994243499052339613196532487109398011470800466536723747107714579477495875923433593956138284877367115879744288209412384208242748541205985198907907914030324535132713508608167059444990245131517952*x^158 - 7005161342887676353483578407929437738687565604823482579348192530325437833161974290652182697643313056865580541208236254473197688127034930105083599303172821623869330233729089896967208572320983496999972190752365113565907154919110604968373680617462674981908703531427269102046722266408612029283327900673457503378178578055938255602021473841112349580581868208216006452250100939668304862452395997481570922191619829088228051556708474002991255946629027142899396379937885426616538811086376344430775095651444509068290552512472744601798923837742146426186740978869866337308254622470675325198918296664309855358662585968522248940908628538962805904506278676952180909257891403197020647098057353095911182196741171105589673001400414102237144217122864794583495995180708546203709595724965447294677104170575328903350395482805512074485950058070898358740850558729974882003582976*x^156 + 1179757982974397996994343536802654735136654029120489328097581370862700720346720956591523488100751991120694945829000133648225454633985709281877727167736541137340547511897954914225403216477903348785362660739680230425008587292064061028338350390044013045011404917582919509959568605105326592990287989135624931583960349083761056907641239350381408944214683234924754871715433896231851168651439955998796116787757208098760002334737214773928747638820659756317441909853358278540523782077552169491827091065781437796006484422836443197343036326500531319219202905179381366165532428330904491559334562595797392048929064323285613793456135135451134042647749854960975119918091845276873322042395793303099659781452966372544950911207644122488182831477951730628656394097576411547581349190439880179606375578612374799653272037031515875458609906194526630672683517028587959153065984*x^154 - 151215960080558483925872654668201470413337524136026514775487205477500653565656519217671095802552729578439387208852871231703868669645131404696074550562013472109389826528489354859152285720352419885597901558936722148684354375408402955530483349558446819814760218276274501122583032679308893679452150110087068693338130578155901081410204518486995722435917001436846686780213051339788332700943328633447388959026495779961563531077964486590875709727157008715507834502408362118510875252554736388643132430480684411700327279914335309964992448352702505475636552346880421820476694145633524700495772132267508174510378250592990490702382222563402750959622975657465046945812857967522117975760475718029123742926813934450073557272081384524389473926652567946459335406634138919887095562972865169162520678598737303302619203181369423512291223070053142062073355326206895586279424*x^152 + 14784810226012425687670256248763791865757164394610056008928822056865953768801803904873803172451132068201554386002331262842731452469110497846314398318238392980370950940033477329464943523205988319153454203650374392464761796570519347394642258498640560165218438532923738958326703050094612018510704165042191868950987995703141838533646745953162452170209158201826873950633914483177132003969655882222832745436129845595120358245617862879588179337347027215948915829830373306313331295792787249954901975360116926606268948002703393638427586727742242205075446308893570282636733920731501487607000131341963325680331127161446843667869694791138071793688071063921715074098575716870258484908075965379014915137888386886861200585213038774481989854877116024309719486595076252853781101020853125834266975486221546362477503586580576197079625307928169661404806311494529455226880*x^150 - 1086711929116707875446409901341663666447191810013943343150870793519838650553627740559201891460575008873024336837664619599112129357173385825245857762248786337032765035165075830130072979388889492767078572127769106891840798447968479363318006939244302612681928205508910428557370604784496925748374154412330540128771773572706388998786655769764659627109067692914508575806766320814755418769408513120715291758737416695704149594600811700252304484076447102291750448952970363097603288396916351527330777483433050891510945604049449081287385489732234038759633906944552951984435531928698158519584266499925775012349892176891374527569379531222082438766593501588586450826253184927744465435048262967781242510686732824238257798731143623275620019810770061791877592924278798992072094891707875152321990728778043626964509024646246069157100210122396969832483160449205818884096*x^148 + 57852861104510661560652959003088614471610995146494780679107140938947844769797308668489788548073532048797173930663824484216371608821964350603688551340026495147661436917312048274101360989764681808964723124672011916193819948487801560017423886388928721184859799055428763624374935448415448694952195130184410831867008098652963408346682408026892170713239865940867544722000285919331925017723239248012077098183040973695626466015590872766661168124121882089023397050697263075724313007070574943147744187938350290033014292992124215528427638580432417907153960241367076364855686950754019596616547045751722006008025643719887429147697055549692069592876706417091847031386289338519092839172339052715235243423129165365262436206485732093117980380737304908471900734721894885112546761824291642277261188484091549568646731276456755788173492954441134662341000661613540278272*x^146 - 2005734015880393393832105354651690331994056506545602119875665105588430080235325972041268880842269246692335043145527125405402640817451487782544513276533704155683301496215378388693280322371937111908465845031853597141244396454911481591955425058572726641353008592227647865686791706506785628876272550923955023422516934042074145088887195630728117472677779034823097415897323787847510182416023890533105110407965836728701816980245307565878382542743613047531479329633538773350093440329623242083389898344461028656553318649635274654167712560877887424263638788224181302337995124002105468768469805811153763139615730580023274040298610059640852255626584629884685544808993026048977862686420682554906258339824239874179076672813599015264942002787575472754318075803092549175762279142937885194264385688229856856908909681083834159607473422807060841315590846934648094720*x^144 + 23327880512428266900747361135081587651850876351295066315422494499821507498769485838348864065874625903646581425920625955366172718682929322749776541102020942276533766600367148735899303379037107923290478145172256445412093358900492233195594677026746482431626545717139607536651663715152307013627084781923974555126038105410792552852507495548306030706529663833137979372229450005649964744279560513631457091692576961775807706310579944636073331339234938963358689523846796221524696464450838310622792740307987955475700793974743410009289614434246343193576225679767545051192334505810122342633636393919825124904537883752183085732565298801477125967461684234352608182560805640149708178304624448818940049684724888757936885237424452683918471234477301327678308258558868527042915533897962578774722323553909190199078435132523624707882001736432707802306302012966305792*x^142 + 2059096054909215651983633313587085190945919891193033035763481431525580735434185865451578062985778859868585158287314777237723371294824268165145230199913685627977344629563382667588447630583600593692512368302171569769253650065999659615017131800583126161612663341014128988213156370983779444993785377855578065347981628604877989079440708489639233643985642791596324153111012893314610369784242495369888441036265295121765216105406585531495751628576986238436721309386996139031062662941113147249185942485481853937805026009534844549708277312259292364970602214912353862196429074492071704613809339551019724984373359987492477318617304537763553162564985676255178235323365030251821258571707645776614822318506735598473171236885970506004535081638940098879305001941100844511798114792877525176266528693477012909769561983584213661004605653617060963116284534778232832*x^140 - 146270836934227219130085059664459472518534289073799308024799293143319955131522973100836706804169191879478151841689280671321932449762531459629247543369844925300503537907936993458046807942308867105543193218767666603256426050507270052007826366953889157900150483602322779570110883804817548022828880590946116110362344889657553456645408769154736407641476736774206343139381352393838321897610015671384896066862717951320043806587677434108744559146247918615239938027852561447381225010522505502027238637342759700624063503515778028631285022491919684995416096660353246658208039589405579883296961809476605639640426153037877286167463393121060477472897244791053755740725622239346609737430400652931481914972941282248166465756289443352980660998708598963010078816032488087889010404108732481522709698225918063900802014791588851643983795173090943732197941986721792*x^138 + 3472036592910942334194599616609737132717524438846784157059231337554285931573443175654130655156683184830611553526083921904552857090010622970959855779933802363756836835489449338210178515382937044737987337210512205877890250446980046600841387754182408989963696546703603655986224863103114406472117449244393910599011425533319746496482997037379626208027333292879046440937538392721818066636995679200168034803575608794549927721689272404010722324860473225390094710151894408505458092949616980872897287587436751966501699140617799077915028843497665526856465449588795033703938323274868736668178247299098437935121866999681246748860338427538485027966762388259371929110711157924158367361025413779997936209995216239241695256749415496009528309733019453836049106014114711992375786878078108924291697534648703698195779643699849983350256476524790247733837749551104*x^136 + 91857870974867517604929848970020556987825029537474891069527685465936545894871304594353952640039430992656882164115694928534368693942768421721657235506719689661191146781496186326786174296322282693641895594677976737487833945379016637656557006198382210232347181148085682890192416570803773477553831551325992517254929667004799510083669078598315990698966607520859086534861207155895933014575775770930647737346704505680162886995632571356638643333401272737945632737350916849714014370211383830652828098513856330657268235303246314448128283035455011521115706115301633130736064380320301370536079549975483925155335135617645114405068198862623145970016669878765956697785606359318419692315540325271738601414715776486275815578992123735350797562942951516851674443548846958976077845309474334071129503439166374463834649553334677234602749537906025019075662446592*x^134 - 8639370790269848271672035605211697432776539626363822518199678300767126721846645652761337468650531886933490183933727977562306141938194559584652433785193369932763547758600753908645587660724835641486050536334234048013788391680885706873220036264511155738228892524332373460633010240107768328742605034223366884790207809774584452328244193151569380610663614955825114124353878691410117808593002158416854244594231032278137269527318463290622202408701585090259937835966761167440268556694445703415118952274994246888214835050575887867289266630423360571031605299062509498051418952103495156562463090690777171551501163366918806604889867146698797575897311803105520323700580149476833759404692189990511966076912488226552482911247948856496976703438022358984037627238630944757705001438574599368773147047314704407805184669669577027356658877567431491464437170176*x^132 + 157261030200837019547341480493446786293125905206628537429021751219170316461986319893778764571087479720833770737502609732316319049090520073801070339585471303610629221589080261449885584038423064984885497613798399116400783997211477083323215785081391465643808883420345443278756421388525619755713869419000880994569563216311891872012371155369959692270717705119954635078342403729957639448501911669059542664643007929665572185630200575769363069657148472533772840427848925294336033132369383839299821411855288608430889362426200479144279546582473521267661959054123107789900096103045448130442041657913492936149237978335418018520340923964595090426564622649776121629020738187048094579159336556420790221954244898883154053656818551464928722399298721182392347608936424337900273805780722139026031299686380557782655035840986559446849820816723663748996268032*x^130 + 5235556579438286166546021289972348428726171323603879801559649745898093144495679182644688037616766463896899800286048279184170820689821383564690380304828448099076118808517619441503345604880715710055570794083090925635924952365400256274184826657967265886711074093959194404008197030060272100427765027283551133859266850476470106299514458044422250363057610589621464744152465556374780715110079052633645398145618289856949867901876886580929915436245934285867704264750539948184189667465293355136334334287588542475802072080512088177550528739974252619860691679944844950050607068291463364445400098683891533536411258203197115911424222822025440630524980325887973658289708633812837984349822357637204253268351830454306301999706783930973564457264095562737274699323029537311941077872145916512831528391999682197436543007927743622109699672883735712411680768*x^128 - 260223483643754246681409304240681042938612629410831644461563020734908105369391244223551750950646278617659859675489541772625162131258875057235774957706177194540551895483399116349080141392803299713850278998355121044358887310101841419431571645009075903896092024938875985764287006168682347589766522238585147128360129262207420902195534530598209387179119279511710384434397843072965834347168781116396731709720498176440907940286237455455066456136975599846040623873872819601327715443338158736190577806526288381161610958940465816291116310682555418149438069403496147422714326420977372756100418377435559668611660588096757909596383541106927352226086850691719560080662397526114032970691308978077494244154072368406111385957691147730411337422171777596692989165467396843012202373955167992948696198841369591663535516798225572124845297668369429009793024*x^126 + 634051677415458393028968618255468308274810331648848609935336586436637229572895849208169144342153805198048529089490494104468588593600415767357587109166774650576568251582097588410658623870616130586713631314810886005941627099341413069247240723951065438557586552081182218240401848864441919389491239294604811359494498901786113058754447116465390461356442449162717660840482400524352205467248472589396598726829355171474123641856616189645208454615811837694830746304530364525794696625581625052910705808773864323325210089379369209818607051575671091747083530705468422089358201202059327629025881718049505069115501659084510589323468164775499563622155982202095925320342179790105057084406810698567640127335292076218361105318190823371055986177109118302137084200671127802880263167500370211587023501246800915031607323038599132187678931045331037585408*x^124 + 166629466298070943123032522860762043356132184581469804757082751400767607300249286782638004740785975007012958102104240835449863726572673659361430387360978356813556352199008230879104376893977547763998923458710820603167804690191569165140197655254325325513694073827130102169936119973522320825441097469384023060843982935862606776931534621920629095199516197851725487968767161120255437818646126241233528744611610615423449399007770607017069134406595590696021519539319190203425591314649842605482857906908205241900861981231422239482817236475370401528104845967130367774030507471309931877303496390614608932736366509389680705093464933917766602142098393275165343382671495103537648428475080513675541787400657056858720708450120830254318369791815004517757045792850638153382655198808399751257883735441877873401650903685909182980823939462940548136960*x^122 - 2526643365058483591129050529449655374020225367808006236295860458686898209112414414660185888732065470227195862322943287299382007452602374019020983167026331998949798593330378973851850139908694806908176756720392840580190009470216138023721581925382926637326306797587781002144290882633215700741249162331215589684851927073496980102743424931322961854485343307728196627645504051292651116254563081233805358473583006239106053579937618930387752487610409213667856221739028934937291751163954853663398695036418418498519194213096158713197734314121980074533952450769285449916790254860169475010501879966329247725272092278117563643250863440067002125181811785855652381923965405594001256960102801170688643254197216868211145172671203633904035211740932839955745630032338617588040302207262443913696653818286850724802264144749705160634187161726059806720*x^120 - 57105711780154182724712755528799761802823995037631940001198528876480029716776882423186118899135005492523656010796676565910507245437651190166623268535158418050343393043895322056234777590773729746481731243228340881216457738191817774724768895836555497028463070026903458928271661957073014986103791178456742805800559876129571595342547586634504598773433970595119988656497480921174515108611462796539668472868126693396033479037130211510749401664470847521908781843150120462686930857725972157830772252741118314716034982074738085628567504041041009185132729135237427709186835107549957089668856383416139215198088872255281171419322478166111835333133230983563307161192044118838517692897354434004027350075132173085060951845351497872908963285977368343767694199570318925430543614426383076590258497148875321162630255123933109365963514931021086720*x^118 + 1650191022971424922989969999710335801575017962108301409292262145842305154633970171140173363505094909555719990034599579973257549900908620119741087519676136608996366240476619560930931278271721753887553812539221214378440305837907516511130943063067452874391604447576029984084770699252287812735577684863114906232318585089341265777539479228095738877256552178820255636216662460557735502411813198029848570741603491855669541781679861565371148942131944472479661843808646188218844757738931339875965775438532936621091118533821034596586007563700364652896596480729082426476563433554547742850457399686045524643132170831780798296866905196634267138338658743683334582482191656537359221369535463004464233191466896950670734241829042971287587197323342397131284768099325916337004853359413759036680135284744324218665580940338763254453115665057316864*x^116 + 9212043679937777205353454354328043498470628566590690076424205252637569019352972192245126427806011066066911559356746325292960866819919902479647905961321164118061835197603906938699352800942689087303810929479275707059774798214161473035783253698836489143515965253155550776585421009989564884231762102324832448077767349876862753391991791954837140906843313116728499837640856288846971844390837863307663698458313088418111160978026727449359217647311767939327784198927165792404247952682504343917942517636119695703230384613653041438797713016181785906823191227695685504600296980044843031873642513950551069203420715416946200194100783630258155584403433428384428711332344421816314011497586004395462105608378448001461893689989771216419071572097874761246218473994371331107095378765005385855777695093426225799423888099842387679474116810768384*x^114 - 624850511566110691010259235069638457913788196209821182993532748123122315734674310831266729364948051588262737730771967916807503890406925092552373552230709708554898224868833784221510227681009107744740179546418804901856936794991052518961754955554808235286551199863221424366828371758360513441085467211743713673877460457994103043225769984184393862332519658140170012847238582218190568833541983899356682126664645377831742925991337779917491597828253224760749359824840509948544556862029536481846046380925720023168610776244387633842270528924958910242218487539511014525492670335602387109938321153463485125850598485342846230243261455363167533624467654963891793500432789937580962586182026291513098124822563202576966884246377831658089621826839207641141799473925493422724378297338399095625621258782822389501615537082726382087268533796864*x^112 + 776333580054094921198317978646608986060191292629176527457967710223722001693120679188854185880755469895220170430858564401429532129535331717285031834359579760840200395614285556039226479355966238085818671953684607395608156453825685851248050370527766082315473828797661886978719097984878680132353578076267640164539101641628873612928187734942769791580689832094428088572951829765556803142213307678375634299555110898189619258891923132917499843837090374810670278585588213952969421504208299721994174971420757919533937430402344489199960550266128282540336017654370522812907696516817807136353400123052647908708309851828761036074553476654048173288015965460594052895809764340101748020965165073714668800075011170349915069226211214630119758357300057063438035045674835790591012941941750819988148344004604474800412973904505661219227566080*x^110 + 161863592232433082149148215568969752486562113867542661351543268729631392216305343943762870817267439364547073117303632734160248082156744988440928629674412320908309791044809773641663869626038949466736142982817540114707078682854524048849548081953725787326433961235522464495538966367396240026273752487483649741492959668652854059156750312602371984774942360594017910347457001398628069498386948086592424118089123702913822892135979089583452803335260598207704976055673155262476114557042349551910231749627428214198685004173653869717535398723544630789357144831399221979791547281433443733287723043209758339322826887187570012740550632785279298370192899494566150589244142001137850527902547325020190420254052975985216608854472279752812125148217408799666398394129279748997932150229950187808088055201096588578005214456307176691415908352*x^108 - 843032859653073398092886963296029805596829694361934933971622564665440904485612581335569048493649806468843810479307059781406058481544419177842977677739960113140847883186482108732139965787626678642849344318051385928618365579515432575470615662127526416244953402187671204194463339019694353792161402800191402548200585559085491567101073202791598037216731163439981167355278473980511463769268122997984826320218442215396177480778833578787432586812182000895733029638655337975677985703417257412573231102509100423355164853142956205261981071128288954059378659350626174152790109627684640875796248132775698164863359729260424728649160912537434626434200118547230309503099071717721254152920928143441288714351710572169389179390106171344369720530391317727274774112894765091651232487838254206509652353474739718706640274684582425794707456*x^106 - 30504058278548743352725283606222594947143101461133036193446979152035423707250401790401586386504561972741968899733237723282189440942916456423305667725677928357430503455417309179175954600846027343602872223231659677184962704543827262571009710160253835114392962565962039503541514846524280206922546045754576309203837323129406153487811716024599117756240583465263727247431772171403805610618639905414055279848919489410415077537588761742239626050406330040796112776084989710918088041929124815521373157490757602041087372751451846548889664582300686463088786357348574254384142817187440529500163445260040307698337969336553437749527196620493736262893836186767985847224098686008295894022821086387832962387035825632131562158542435424558612779532011484800041234305112176566593939497706298768058817173005320822594581342888870117638144*x^104 + 243544472735071678876457556552554522894356326998381791053211651478396834634981555236949522601984249626435190342600898457842392356689457507466619349946623332782941468606774052293167334207989998742199150671824093812719862942669434664200360133681530761517278283133386755313755461616826924442332622020778644374063019246179711210084570236309128226274187869852064068855843363999342932144672660051052609234363480599662284356987435374538865847686453674546446306134538066256763306977323432894962089056567851208771816785397767842948163268359619785111525070826765569514752705657365168333724648286293427853272099570745623091039050183827920481054106892986363537016553936552141689308783027592241558754082173505407330711441430841648820833240197572518464549350106904487529314580834942134188960801647993787512790492013606069075968*x^102 + 4291759673642806422738111282617617877738362775583990799399582330391329341486781269067192928789813329106121472669397832628987684997307991817575299024436183555401323016337311392764966699760976699545493740457166960222828904753057432359269287470422132079990215506787478431695733426052282218953165144400125213428317658702268111782995112008762362225780798438138761554505543859283589442054602908613452096439920722305460039125232599705833480057246818380786935591427612830295436703094077025990267502318048154250190757159059286952033738561241290704252115165938196894995168167427171192875853524717636243222388026592755650644838871274916227282526791685469522907209147150090345280885278516980909700841015782777171539681167264398557194127507402673146116742038523480751093012615177502146692445274630575218070955404576908378112*x^100 - 43787987230771901498654672270583875965348573599043782204613600804302648477442596408492377935348147883336933429254884356486890908380793925848052473452931872853817594775670285623817106448781191475767469795211542711758297515270195345273168766229316879695687419418279764674575390566189591659832456255036094318733462138332644210383675237058802046230019835636042576038799281907279670416854056205545833613916593336518324766527809654721708120656069547652040239160492812619427260407438006417542422242949373788564807460869153521297844014458718142397179683301979592655056808706082843916402348858109007302787652031410932361434503628341328360754573860251031317647229505155117280188185236018655023830958269322099449111873714346811210066944296295390860368751356687655506477073345659989296400786416980580707220813882977157120*x^98 - 451987148725845757295010438539849102143542188865170109946211085238204722564298538236199015776476394122157795182330930275432255152529440889415334768796932976419037346488075499373772539705498819384176664380233345038997326003660835708434263224412725697286722369282803834140918464241743228288861069684394170736287226640400943622027151241560639900955435608420160591710386267718433042520410072551294621112182019986132483952083205178701940305428345549025474333852867610190719958724485268036812540769397352129729360676004631711699131733035037475620412715409302279517151929384898525569798688418061023311690826507926996108130055208665245715263394378380811344999392950141550625976695355979135596988911880139825489432044990981513571544998596277652306676044391493336912920744507538964859924966924473504501354094703673344*x^96 + 5562137313691520137138279261672486561423125708276400961243445952130447511465914532213458739991100929464874221882879201386702572169499200419304339383397733685536659918207355105795370568005294696622301249819063532243109294405181496825474635285158308206208537261850073047937440692991078194120074134976912332593242734012633269659252208424434344192492856753151813754803752260176918262521586649999849251121531251243484938983700342213587917490753619429947102371518986523039870801332765369426849154131357002524993000369240989260803819988100648770339394404284199480377127619283497643155813554808851446716649473608670367909014937181313410976018228226104908849663713309755203119794381692646778828507098649730223344572025603912318719393264807174252357228596813854926550173418787364596588731892220995579957433906233344*x^94 + 34735974357194117945113953428419175268859673530443632793675234204527341850760851459232133158521819191072556056276907959613540433051986310093102282888470112771437505152967990911622358320021568635651767895266610109230402073638293847411925618199724541553789209693204834199445219641070470024916809101371261961696913699282988055238779430837902160690475702605856548155095859077148665891163883580233580757921977682947687661070442323915360627856321505810147892375334352673929406871858577104336900468553055722924341934240165942440442151415148744284264279566910292817809904083666431046580569540105690181928851941762861491356212184304199826856874005394811799331195336855742807123296931933203876269832418287399240007108345123008289777790084062813713540285366963373260918380698432238482503385519130584545715508215808*x^92 - 522118159450649305774179890357795358113156330131598051451409581890556493033677675790081325477341050517594791155826733905950434785912777034284191120095860368876102713339080622725418627071182952732262928456804369276223594746984249757924843965011305458989302781457282171367099795818033213167708311661562802857698235592653752211001501425075456963257651316525216627470828420920559068817822252025997728684193822601841384773004456878895417000241855141467256887528236089244674857249922638228642531688933793004119988047001398100159213100156300217206189800386808845531197977829041192785860953925086357263979126059477020624285431164928310692023169425624608027009557513679050581559610931653048607925617722273580119582379924515826943213699121309145823205351209634962478993732615919002175460152011512510962305335296*x^90 - 1793166329411765455674977803709063303649935220078163619294728028689186758969151403352373673059146634061630155837153344964476993186672271781428345445243298992629724831240955184767202524807262480957194186142938885472291860247569318686834112359792849391576534437140458322140972277721502558376849377632455697461746470992187227722124098328851789019428954093950687620873087089503859277043514789257512925893753412758297900455004075473785402458178247127422705329898854344238305700729280962976767017643619788590707119434858968097815532118998615967822101251367515592553272017776554116270055337627991393210074405496523709541687039352161537307221853511065594528239090436660893232869406849134431897033266395574153427513857441785732862968891935746064119790742500391293956263606865321646305562729975478276954521600*x^88 + 37004611185046792398106193589816787882144106298799739511293929160027305934315805623905387547761402224813008734065950258235851297993926882979088041706502657227702438518213388777949624705833689431475176765733628470837096443036344018122229359665272098299053395739120236244799666474503719972916603994084619772644635156838971757247732942306350849840991893399708269331772584794174813393530726638859174716375012163437989341626678232849444959091239929046249401015842116960030977093761231927384613003923553172321020946092111361960592068192685267038807889212681109455629834355290482495789979281582225609830980343126044796520740980318440849495254459342132243666413487755467284803396433468569264406130030292446076515294795306672977298748458427186281279798835628902060716324514315308315634605228966867277709312*x^86 + 44742743085213893472917949775585763467736988183175664646401525489137220630318276975999208051017139493888969515676901001176952543499384510010525247117352670719351186281334505603654234779620147509244574459043050154689485211913967017191950244530121317399287084062302658599106726893057845722733866085320952121398691305532892759680455337186166913077261658244027115238497299451772446300512234683144618596206511353360404650684590690453545421155583871732393060848560931156955075226158399382829985867687659296285891637305947419815429611929731236408384406408943973819161879087724428659359258330562499241714697985396060512991313666385790230911084495616928210507156782679374265973526666128099054764773001558983260359082005842653326857484451292356474228347764969094678181569534475082703035597774537072050176*x^84 - 1992147380522492310361205835905373111824258921064660006333303849048140951731347805532304672367100981014692551380660499526180641117645562096186399209385556561987969650310600688295220980133458299131018412199309999770869930384307855665548686622191135872419089090837792432184680717722421995281141504249092506814279669766739081051566500998981690684741594769164070031234233395835474240865212979369048844746472639781427062269548286715064782681950946303384434120429891527166916504407286407063455278436270668356298495217874856975039838491752312115399145170891284067381557846402133270080417223569515566950412998065528965876418669192693834237482252439306867556012250434204756819789708809956530033033767991191915440948747844405766014365839145011627272296181659511052928082857810890716433924358855018414080*x^82 + 1321689317928792178316460486018363481506419539609576136428669992718726855448528283782244779489121491311610971824680966365155785507062475961783019777123386737072019180966400337673739819172294965973001187293269934738206857336374882952134553271926613094212780787593840954190787675654514687872383261717800698697861856111906833804892221244088275588522705209566445928225344384387663478147341910678950771959014409044696991724452014969206627743237928496485278594814778422311925363763216159938904385234144915280792645085601251954815995829018958740602867325756619742964140035227350336268176193508187580113541893139680149233639113994298100891425074260132421297990469262333988926332606698237778319410815720467754770326840905405006801122419096949802506087521810714807381055484320363568705743512636751872*x^80 + 79941603963366015845204858568231466761010528960451059834228408979263397347271204215327675089593287334558043820084362582292675644446098628624140911048735630404701744303248539792863906755985401120735085687241049730003356870165539523795202496959488073410527565326731623513356954120615063206786412056548867209692409750233185082721906379909923935205060568654592971114111238791476705328853594198225298873817312308149757968947871674488164655139198851026115814301534160522704778603827473201027190937556268457835749315065638259069463171932957633956700758518841833896796867238797024412878077399295952411206915841095778910665349137124656974649724899239715047649279128112057044953659772518462974061812831989378290587738419533022796759458968890600504814474559861393376871997597823540957080687363489792*x^78 - 189027212412238940602620048878921243562658434299272287906307083208866834409025195705504714591798483386682161753164150541086824824640009777253975622086677886994727039236676557930370605436941776556886099951221406081549125193619050761829740416574923296001977969393721146320597817728185213975329328703514819049520248586278983423208734764808913728749349042281024786459000787430217693989210886981415747196158938285029792995767129362047312709564329022984009425758860058297687183753639220414130097775275180232994065649768291925164456525471661326341063400288776720201638147694108650975358744409778659384137057584123563992389080069721861379706229728179159513482135948861800864234919313769173085850646663765107314456786138807142656780396064800549706068751371518758068202334660772318953261370441728*x^76 - 2291353328941140144483313525580964622177601638589253404690827639449935445136187836838099963499043391080026765685922283667458452830891827938618426826171072193926009174930653658296176301656507912611535963837341985870476982134990468091938689421183756099861330273949890163271270996535205092184602021232643926243988673502330379711652162528063449603390789444276233161084804556795548466621740072316424325654439674802744680089842473871329613449485927956567647828703671591121467075425182459125957445155730718039622302229820069704342926468736771966839852184914414027410933708605652329078050752966851505096633406645371879551410538347870305645925245590827331114375174091273646943512762599065377819342700668612423266152662194552753707975611746270112971626854203092088731327698130072304996501684224*x^74 + 9638175036698793379085434442428170026599051788610434430943765960313743176418623748848264448560584156534029510949829452136433713572672317828693463290087722707865081491455246093544873149145381541505263972551848917517899049613700799763759507842551655250054417089294331177594944028258708268294484324654710386915534195410154011428832835649621517703333585543746276637179829961546044848863256947647863526885104008235644042247070062702743693042362387364111116853429556120923166459266233987357470146258952268293039472643037470826898290249690615268467472784793642697511603184064268834441731506762534718663364688020195594565313031597247678641707177262569008087513377637696280785892966715641302956753769773894098660335493769854312617880296291299680538661536424208257635758035654374446950514688*x^72 + 42443235720799742667168833553624160290736945718843441425027104647284965657432100286885097690543040320095279674046837645332209986776793117046472299103456456836121825828800066265421549775637505352232017983014617898675624712965645499769864168541614075989974421297257985218758527070184982102829042896104262311285660984816794824097015922188313100423231151895613609574882811926885008152581457033414206920158094841363286955358728747187368661516620610124413568664365055401778125466921127318642041741023158394042919726103174223402835512979810722561086664961921538309715233506774979047874758142119146270458783627435378886976019354432716282248754994867231410080293133956683505213769219589372732008646638651522562015358597450604423497512068101289326166616387576495031212575011882858417487872*x^70 - 300789164135736171254635593476918238279246981148088485083190397534191839658896992404634730758248579480256301278321915264250390810907343337909349487996629272243938131010635412029246424881654572192935827725008455183412259702730261992374819944212843655558107321524702815670155012015349153153473010927369318536263620770194787272495968062159745317391406902861542207922586429136995259981899639200667474327544350191767820260730654056223692860977347083361288044252885782226723884488702863302490164294230865265368903418921460794102223251161262204734735398824794183730141849032397507025222782121285130182195221717251737852879832746294387124375061066552308961606351127359329577649879655870707667368343213036321789808214156442697444270142267693774122330624283032608452642023536322076999680*x^68 - 324993190060740353078547738887173663261713619204476730412711131645822386231630098802088916827022475592434969840707901712074744239629536628643420673850453023332236187131601096922239176494239308100765982848713709936190981659414620930978379004658034371574746626969122653296373248192330265161039807582836891278862023363282879817982639835002954239311129523808145113492660394129339571723822919714314563796115014880260507383902646985572087680983143865694114626387885540147906194495198517364615130692160204409230335945823828329123104109074399300130836103800415822468388880325391060855692765343688378025007994573455018601279111944548616529034998590374302660281869726668789963114567921584870282737178434791587803457765190881463609889363555759627813412956799859498044939517919108268032*x^66 + 6113234809483638827108473207649444167114954050617173399510308198698265838434183487972921822310421815220312390402199640957519901867615216091893202024672663053075154433314421229481776512057060020756948234905155890145541948867752340316758639855651200352369529130076384727188900977538452526465947800118791768665541093323112954303266983594734062648762900404895259432026433342717613761500481726713699993425950181067227771608083242008907862496069754224924002923213484448372274134872142381420434983015466842147359663949466749168325928104402408888815027296138986402977273251339659848757456940308357272902332391768795697306711354611059939973374508030702521812248608086445631282430460643394240008042903046603174695049365075537607796759307566849008359212753801805434358860301624934400*x^64 - 6427122191180117245614989059097417759588072267539573538380340620102153617542984784938815725877795266954642846057058538282691019303167441462536352720775498236783536614183435070917592015960123792888873060508870876435704452047013883048798099851371076105529775462755094307790278908374720991646088693997000090013576977273810669198223688918055234376535089133472296113457227866381445750845505191346282866634482969433861882178718113933217325821933659328625902635326988442293569787797873733649743341645326605444709394288384663036351970771181426920545540647313103769314862194524742572752222195531898798272426117245785168398590545206871069980244897940173887940931477915293826247333034946007186691345728202114206450383039210053898745873466949113384884370381425532237526417293705216*x^62 - 74868594713171082642662242387119732376649123469892588972180524446772472581005580703506658613976983362155085784267431884139614784093630782352510563622874978794701012283551234535436038275761593957133438406029980675522056586378131408490892820365253172476796523403296302872199613154202837999465732837916524000369198724206335135523868111515530741359394139589147216850458831804140594042079680497366692882509013885948408754736537953936173118139472355438873100441767975594840624789028976376257169462252168444621821748854951222619274132322600347312387704315381837906650085792947266026473942535802299342624327650360569083619365733038268410051120332152500357735034370189155933516274907506169237398070640558821716755497057109143565170435381730715019143510399728538405387485839360*x^60 + 237885378133751810041362227019587686735295374276247894598414606042595864215147761592738451344141626519511067316797902956796836748811479690459634491605046288627998796303588561079707678970917687894437797825034866878705286860246844749647111381151719240541849816280975716932680168377940395848171678081616901489476205122468991536929212118977012816041467727341405161260411976667011328811131380295621716386207137230342755406408497226653749783178190775407411652741403882232236779475929770148105148558579345478204903908809438333950951452263264112012256754825947218870442756125325515267728190991012259274884029889750328530383167395406640959158492157746339642867209646574985025363314355572674214073741140553740848625457126270840401258721591365468548867038887939465684809940992*x^58 + 293151729650265149195092950172656002405255907513372546593240682863059769161260240263152408713897135700013229713245138779201289591158969993543262982333501146208876622914329516482956476529532491396715527141563919939374057921437149674622584468278667201011773012976878889811693358433771550131189263382387048433967348764990547784947035666776063356086956903441843329441316288260922673426026333847498846042515399664430269818616940110664522295850333995497407132561688684420270151698675168463036047376459219850333488962463576366360944934152550180729686213292844737102689518505620205586092662900426837736356325021180109995862714377720608224858557880212716274845389398076014401314858889323261348834370805460621394514395867373813087654787098925956390096009557388180076888064*x^56 - 2923412946315474133683449793302713342058245356163352791522723842114916386662279933437747684540683006564066168595215288913997265591158341346385867828271261688854901344818165863067303820763345330358306881985650441411019781339087639755807253376964266847102251332257394904454556754722856379561120562776925382705502487640560946511455293054876059388259770158779336017969187365231063130872950669065668175645475126083398772895410671222662418877647660664279951511888152410070888507619016566767944639656389262272947832205501761881006408772937131990049957902248900420601668174167752514381534934227776240853957447178291311039803190666112248092221310012908959294775506596820190515379573166696451535594179005454092101558840020723707455743523018502564896675140583515108671488*x^54 + 5022501654918287776586405362058332892199091198574341676347559269596212788751813453684402804683881713672021061685902275291520813888669785026132778909444627526837757908458065234971734502835510338564307308318091840060305097309354158334791125913038400522487011580399177092241936127562122061427426666080115669343772372768046496903012679670476254634951946102827233467579816860079963996420507914032177025394446076845371107530944014427162589947825737503665489733915659612400110449331100934007771442392734849355367329288134326572235456155760512251113263175954967913961411926147558746541782513598925213764533834554205946608298777666456526514625327290079951077236772124145402574310219116907219073346831795246365079043020644861015907473466094338281735587947156070203392*x^52 + 4729685669383807552035245507644265303343258803414629182614993525110197126970364169016562175265714028021472998573397868251306874228166364802472590866026940036010573112366094438440571783374626559465533626758129470517402274408055133617207381791149153059838777462750242158106649837060089977237536836637334544180314597722096032861201001020076920711948906072071558514804038608162188532490428720831310873479903131053769184790904941488714909701365345685539446626864514143437000875124808903888814488306812423806667296998182339094422028809477158609619228276355921986093416825439167214114478174143465395857318490155620876149644369727702966419474004953911636696480374789613489547065445185251923239579327922323710415116488751662932695284861089764648425214138862534656*x^50 - 34732331583512840903466623164959982988163519954670449213842382859971576034045640967115292471051749157368543263112285755598236262331843160876156118378173073826286705921194091587463672105205464058780562073045041937143868128761218954391260197788875654155400646239890087459882643414227827822076741661067453810152493952833168969117537618744141985576327859746046910276049448365857519434399086249547971721483651244276883599918696363386977606120970632717134030970966898433158355791235494929421588056664940808117069581652857460731875557841627730488972494986574294370335660477404745523185839751784249396812695129954432738443617111035371585233591068822715610229449275218125069214933724324523287584861606998656849004460525112956576754531884353247565194863434530816*x^48 + 83698513810083786566634324815250607134720668933605157412696924478395729976426713548444047214932940219998547906369351985531588713769641285920468216245733809981647415402593342990605741059465367910412826586766280133376576682471429042655050823148273930686050340889997962827360735505995762683259149094837993558885875927370054898826758002299161947952187232233704046490455249783266109190991034552730347613483885309417479556957157920752933941102960950110077702957896324233773616761607902006338206688807726940062292649323914091017781278591415027245821165479754562301245793654089835096844030023872273371868590821682576218100067187767939677573800638695995528991935802978762487678875201423839898167843433100143605523105755844146803821907147231974449107561349120*x^46 - 200755970154600709941851526602414394784526251384478777481073070282251340567390477533433086260811247706150723795296288120118441915405714003565841180820076598089462539479523136804439154172653943629651776948656055961327675872467758498071430602016065648341183689114985893677315740486960830206839961333043673306030897594772314049950060264406286413174387049772789726582883792476525049060327783975794530254795563400781081003628215482935421551130414336242231930340016438496846989751488016675874718095581591934628997148211948923836817624527354013620489925261958474835306015097443753826084391215699223566445518968099263115034461622587829624276612869424371509132596523109978604697032908917119571256478058924537633169069145207523570607203698918004239697444864*x^44 + 497069053476869431882976959198449957949812747525334656870244415797611874996420900242287736364128890966786500677663544913108532290323268115085033116782756799517800041529168981046748506591567746468141511849719933407978753095591191837783977173050000942392225359072716051812902672742945118526282944772286314970704605625064997495132658133970786424669602376520046975412200619931253878826306403757809953601798591516238603507035249157629793082685449877658497650118265750896945091258832656496111135170161875133152706338724783956680324315786261513680966149934798876141501063829743045305628871837882358149150135277469689532038124984755283639358201927023314359630109649135004209979987236865940563158240279142223836798152009392843534437227163278729734520832*x^42 - 844324353626885317556903169757515822432384102926313839064851256190681115469310854259618759723123133313872119334592157018096217054868485833907314709428706873039526822650251087509043713257062924527250539017383903423553039927782119425842127021274006151744333181130285675377407154447929943976235149219854749369443885071249341754113093491903426930323030236922855835817883630259469107355519907058921336245646000454534090441271267329330697649311448577942509085374360776665012019383310663505891081417534510542091818688976172460890016537140571117105572662915610641460968702557551286990023573815037896660514454833362051661020632433826791587170235473131738764728441194494924569135742168106000394676074224789794149091270424460121359844865942101952561152*x^40 + 630858936804266201309295441422218841843201140929587582223437048778720701706429176602557673567163826765764791424131568669533863856443079229982481094981356142886518039211221817182485002061177742790320012283517893567574830554190588966867432413874800975504891006261859975712269412312319047366653784209235376250899128419883204039605127245981028526771400229006022842735780607428240771185462174062802904614990564077753687983215022148003582342220653382301272172472250160449960124594425704936772729645971576163500775215403774883671876648851868708044896125715781838594111406130572127509548195322401670754680308874063760356390840511701542295385148414672618319205968739929566131976483933979274776749432831036697301402155493403803261609425163375345664*x^38 + 569205082655124422799483911739865753150094153118446397263319109284533955842522462279961903243728198707718866849304052632120291987316650574512086726622811199992966117284109569397231716117489385900605284655933631454559575436495621842265911458473301413018014329978112601529212875521301250112820679076648467751606995097808033807833604612216768996450364599460295437248454061801696970687047984245995744068996364774062415050139297345380715682181352192330246260929681261207667311498495018203611546175973246630521632310350924068400511316080886838185175016337932929930544491179043803995223667977260878078959032265702294462553450111837916904609086614198084515117524304184711000459178587102692457760101233008295314036038850598318587130344521072640*x^36 - 2071621689095317183792333706661863347694857149402824768997670079446049411732357416980472530235167454949536619282912840105194409773493629252718032662331803440753679457089251813490032167579697609229782606431622138708258193725255723399414203371944283804894162942278192793722999834510252509449652571417544931684305055613909190004363497351566309476307013959215025478164487548805259853085770162016082851675122763733963898055415472109943414658787779380820711489602010551916019483841774123522011975228888267713663148816163706787163521560372970114307823146442644701677568537179909013354082779591681648391691427685922032636707363406643338116107201874802505688751774063742198612902687151559052810275406407266021441276079708267935561162579509248*x^34 + 2655091007651855570102745815752523805771488285971897824678028101656239486474552736223781368309511545492808914713745598562735511477316576632986361643404064992337939026571590292861385411183661831411325218699965507816945752520841105615819353121805301710538609529256274311242565591419905200129661810178932504276579953430733790068423120450935371122989779981297148622597545191931027669376313876164685294892721667044905677998336276539936153249128803574506767693133830787071512651607015822565183865886290670864708847450990481454853729242233246234924455784921925500098292296437780958252848355735873612737469441043745780972353222628783116091609975762921841643184890510582386364574039059407398286922028830580885419970604575069086948817633280*x^32 - 2040243937716729479453939866775597438075811380398334664849490407039618202055026723006643446240624734585598322782946277866515789874208930259913187064608106043116895130095742765109006846069270867250934696014745557137276508841683755760843774234848419844833337631666027543778205184942023635847873024594557367861155105666028096485778463882203229742928927845585087179294986666104150486853176208995978802597849680405686005657719510771337091475678548839216658487334363641758145451267554688040339868586919417069886745907807899751137589719754204124319148469764444000764928902301192855799392995178535310902235528933222541994154929955307371191124519500832624118581018420575317069471838678878323201611919342506575913398368517656158085840896*x^30 + 1020052754080082969632235458861835945103912999029648567701086062131260842740453440334448442430954444653515825322520266995342601611701335196845487302398457023506474945712185678238127805872204385492788403041209949075836520678500149449846607448066502931018836819298155545065055007922301306146220364736952607559992037553933134015960143420388858999690150096121977834811470127562825614854452540344028684073358517006666234852356361143887419281671379568245770878383948492455946229419756027602688805609956313319015190630361958944003655193053803673520531745548829211437255649329025023533908576917022125689910605401217024029932588800640716846339652186992771671202170612342864433840034735604532620756896121932209694961152072876820529152*x^28 - 328542746994039528990683830538368748662822614424998874074480542339873661879752753767274804609732230837135071701389858106088787304640844540289249173244983027767402952843441813259510188608732052575493403174867799932354095522380896508909425920835484364022101340902163564348162403835548031631987407921247082402262239969681417023790485929579734361804006729180344780831371893836188883701250916777996743011627718434917800892329413735106793038201530013418232039440909130656728244988644719346177264130702958313297128898318084809758369503405059377062313572728941860493065614112585861258013731404233808000392144517324465782245598024216834205894390160959108994819542582314220468088480028960778173749733096605387973938171308004081664*x^26 + 61461325332565258941274939460796441514388230643882949141343422864599323133735085608853308558102105735597277975461583721448581105060010642245391889073832296819187207513866304330611872717887101099558687604009305780065196164873572653836350885305181041350153579697593899735993862233577362989148331609082396441480648309476757861766389129782395766147230027793561817798116072133893146454898934297001557991643202455274082855330573400684877225957381599670805368871754502112220158891338178950226119019155641191334973648165798390035879916194648308898650296712996311946709619162574858373126996241724581793174174450354005060569126710487808116392676743188986857526416263837045810748005915626469637592251073820868944927641456082944*x^24 - 3883324668856423612446092800667094150320259697151367320226422814495152338791133336877301068022001925013980560337485123317351271262815861959196520221284006653302789331259145290378430764735537849290861948858717815219822169071991253088266062471844292497150935376100568270612819903204041346582104295189187828002049752727073188767690513536835380714970240394050367058274878665426268406474621229783847244890466955475123457669618857838103478081719873257631606712223042304829240845135957063817601389057762099330915329545276327296389823137055060479088600984205450773261810290040287943375447007407561801850203550104551299284604828814780938712437668547090666687779610286822980928026444241790367419694027601081171160797806592*x^22 - 751535721689490635602726160758343740928826940673121338778302747609797410744715060289298071059289942912694073469602042157195159040645023416219148198990308955434330383762129537908570623448423649238094884469835715932763858841866906190150786482342054042342731140250272752591444502181163447348729408798021285148443833088516483233817616630213169669417701428496430042096983229714906048164441151780977111536642509516904668701606180313251232063095363820525086568769999715875585216849779150412006845439349103947854279557660478759928486358929520853026401648242002965746475781979082697376557938052223108305426560275321379681542136357969467395024769253074682371712000676608324171335903089428276627629775177410856049704960*x^20 + 135901623353313761757229850368703893196660572047067346516029092730489079060783421264594609820133572336072518801921313535152516537040517652303149156360902548376105565122098161025212249035632213470366306135040540427900037262154637463581460642807750908108717551472503069358218752817096744312686430601921320492637261543222562844289780854596340529155845588886212994871100235396349958542935568379229367083008774504804426543254888076302407193690076926665362835787349541609939803659127399095859507712450526415187870813189055235963671460519660610799239740025807008640197790341768222353705734429324430530837675812601867869272037336735309129419801429705939185609282276601371647865702193812112351258233643920944791552*x^18 - 50958306305261076752358194339545694928507225030977648408087258342013939142856432849435688263739731395545536680576652650614664539942150765613702037721485113551947052254944096341028078176408763257208616887571613527085791769294438990279685372266595708796958236334808107441480453944247454277990106070370209310487867543341839776224976660882151885115448375905140909308491612764101097483357455650795629993941539554136858936026910731687399963542017446590052917772745465122169873952141665708438415420812113553459654431408604060411703593440001667256744572894961800318472595793191253120569290991202076163616761133848506841893150781129033795641412956762867858036929543282950355101841180554507314361554629033984*x^16 - 650188828198774002608840858704113147631914846394013323855760348772792047346524954492186625027803588839315220838871634319050726521417767120188044210442093981652413029449454193656650975975894776142163898960873362301886103851593495066917817900263969777651081420250338544006366479876434720118406831137577459317141047860544522886036017588736646561174813636976484737265270943285246353700236811014018410144914516119477281253438253452458138457789066087735553584902114613337945164413501568205341912780924217797465395540143593317947955458044977117734754252914043829969697783422742369290142608093919671920290426399498353838549130305027219258730857042543675733877200926190057366962997563132098243424478560256*x^14 - 40861926570920959266184836493356487870101556498754365516581070114072518091189180068818820457863666698637605119857943187068983288250369863769940564758680953959887006279710923723611093816879531236700799224864997543482099048552660093498402873737977477878914142327203850612590518745668324625073167196655598853675048725291811822907221166746705050428592365581215053703960197023195029173397765610741357245733787930846305599947526603998608467466925663907160552791837303677050517769171384071139547902293479611126942596557163688337306547063596708855958776745722989329824824765024350932915546809460619689781927529121128775001574238746079556057069698886073721044771233933555075979271312038965197032914944*x^12 - 833124753794084640688037276215838669810167821426909298079819213895977644719819165599551266863818992602486166100521070732183379264504317517725873072933252108955469319806377299832404317039593724525658349695282228260134180345130070692615177601547359215253666584822098959395065183293676713007595596733366761959494919803119055875217130615334419699140906087798091373066854021813914501139753617893258163370781495356697852534020858303081733961286021174267574599891197148412999018401884051800916979269763700430554839848279393936903403968359843109042265627807071934454749450827071291058746685172656578386240531842073002002934511734839931947015408559751396076237632250338304856571567081700097785856*x^10 - 7658771618725884748391330938184669372433555954012241782723250710187787203760680649512963498992496408753376086439317515470971187550342509648135600256775055375747285598088997689403432718670035283922985695981614071033648198688170329541911963604718833139088728875684492770415778345349529336462034521272003610851542705422168047136991466169609285399351431104278602837041725333448163552986367470786589957095824606986581538902066418857879307622677635919790783044576891547878441671444126259908645368621950279065035661247809242239807623059271459188039846065519706144020111503573057674327408899865218627504506320806753588729362614715803746221825052026410921736413191705399088362911154772639744*x^8 - 16702567857203944352220222714963108829106565357395107454939865050669758612182200764101986747978197641921273414994875419667808215520877334939365038225290173446236643517881221669480017863871750927015963868760882719540147915762098906279786363273275742496569433501589826885468800735326031467965915990689273474830346752350933191146933485568965520419747935778054524883480013846734781978528383284809136014413009009144603902741385798034222138661411716892287230722920430565914506528132546014332668966111331666655206155742176355391236803719395898910941496600795040770285245449864139988840361464348390670081987574430726296881521856462573617660146588583291996940006882107441263477017018368*x^6 + 179782983655119035426809632822292010043322998080063145867493639194245739413644037741114955417763712148638757392745530307589858555969565820688419743815666086980304051170991581170290846672741818483159449120571441041279952770886645847890021249748579975059644805702156387722032257338446056276886076183359708839626702552458712083173844607335771164274124581313469178768494303465225020165590036620071686936758651254255162188831952375913152201628036706318886051165105008731971580811896481283049053883504571000628631550572045490366900528299775651342918932464482551071356622939013074872993124546958506098401663798133739760583386797810035714293101111354268849000352696905729310720*x^4 - 444197758052136116820947897695110521029794817251021934401181887740289358145846327491337544229683766554798883228243782871248641955973141102950804972276382531416874817011849504001105212340786679083467770811544278317948156695506340338722593025111105815768803766919105647251186565800487492140902716159763626654251136151953823895089730783501228795046526318604927487651461852337447878343654131635973382434640039782873335615115451925767611925478761250949473658982286038364626985823011552713897981212454750093123965724399560721568846778993595360108691913082816059008803044189452248953504408461730575921524060519694814257801237438618852560065556604495781368906796498944*x^2 - 76093196872372578373119402591542924336595309825576292045515391246379464763158228784639574310982195640136389028170516631428420420489719956379967145212728402543856172428301827720835720619511746291529555478771232044026977196487380606051408105650931853037339102824546133136096406879899656252503263781924026226251779704232683941753426157396355555386426406923634579674802667468556932278540083239541771095586953543174979462316844522007563225998088037858674707962626971083428228623682979720860644003550437215307280073434204980445128604856611045119274229393897316722277964178023092238372341675934924661369445149897548641019617913507175210877932947651340271616]] -=# \ No newline at end of file diff --git a/src/connectcurves/main.ipynb b/src/connectcurves/main.ipynb deleted file mode 100644 index 87ef610..0000000 --- a/src/connectcurves/main.ipynb +++ /dev/null @@ -1,13722 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 53, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loading libraries and data..\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m project at `~/Documents/gittravail/AlgCurves/AlgebraicSolving.jl-main`\n" - ] - } - ], - "source": [ - "println(\"Loading libraries and data..\")\n", - "using Pkg\n", - "using Revise\n", - "Pkg.activate(\"AlgebraicSolving.jl-main\")\n", - "#import Nemo:\n", - "# is_univariate,\n", - "# coefficients_of_univariate\n", - "using AlgebraicSolving\n", - "using Nemo\n", - "#using Oscar\n", - "#include(\"tools.jl\")\n", - "using BenchmarkTools\n", - "using IntervalArithmetic" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "subresultants (generic function with 2 methods)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "include(\"data.jl\")\n", - "include(\"src/usolve/usolve.jl\")\n", - "include(\"subresultants.jl\")\n", - "#using Arblib" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [], - "source": [ - "# Generic change of variables\n", - "changemat = [1 0; 0 1]\n", - "#changemat = rand(-100:100, 2, 2)\n", - "invchangemat = inv(changemat)\n", - "f = evaluate(f, collect(changemat*[x; y]));\n" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "metadata": {}, - "outputs": [], - "source": [ - "sr = subresultants(f, derivative(f,y),2, list=true);" - ] - }, - { - "cell_type": "code", - "execution_count": 111, - "metadata": {}, - "outputs": [ - { - "ename": "MethodError", - "evalue": "MethodError: no method matching *(::Vector{Int64}, ::QQMPolyRingElem)\n\nClosest candidates are:\n *(::Any, ::Any, !Matched::Any, !Matched::Any...)\n @ Base operators.jl:587\n *(!Matched::QQMPolyRingElem, ::QQMPolyRingElem)\n @ Nemo ~/.julia/packages/Nemo/VHAIi/src/flint/fmpq_mpoly.jl:335\n *(!Matched::ZZRingElem, ::QQMPolyRingElem)\n @ Nemo ~/.julia/packages/Nemo/VHAIi/src/flint/fmpq_mpoly.jl:381\n ...\n", - "output_type": "error", - "traceback": [ - "MethodError: no method matching *(::Vector{Int64}, ::QQMPolyRingElem)\n", - "\n", - "Closest candidates are:\n", - " *(::Any, ::Any, !Matched::Any, !Matched::Any...)\n", - " @ Base operators.jl:587\n", - " *(!Matched::QQMPolyRingElem, ::QQMPolyRingElem)\n", - " @ Nemo ~/.julia/packages/Nemo/VHAIi/src/flint/fmpq_mpoly.jl:335\n", - " *(!Matched::ZZRingElem, ::QQMPolyRingElem)\n", - " @ Nemo ~/.julia/packages/Nemo/VHAIi/src/flint/fmpq_mpoly.jl:381\n", - " ...\n", - "\n", - "\n", - "Stacktrace:\n", - " [1] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/main.ipynb:10" - ] - } - ], - "source": [ - "# Take sqfree factors of the resultant\n", - "sqr = collect(factor_squarefree(sr[1][1]))\n", - "# Keep only deg>0 factors \n", - "filter(t->t[2]>0, sqr)\n", - "# Order by multiplicity\n", - "sqr = sort(sqr, by=t->t[2])\n", - "# Group by multiplicity\n", - "group_sqr = [ [R(1),i] for i in 1:sqr[end][2] ]\n", - "for r in sqr\n", - " group_sqr[r[2]] *= r[1]\n", - "end\n", - "# Construct the parametrization of the critical points\n", - "params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in group_sqr ];" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "evaluate_Arb (generic function with 1 method)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "function order_permut2d(L)\n", - " # Create a list of tuples with elements and their corresponding indices\n", - " LL = [(L[i][j], (i, j)) for i in eachindex(L) for j in eachindex(L[i])]\n", - " # Sort the enumerated list based on the values\n", - " sorted_LL = sort(LL, by = x -> x[1])\n", - " # Extract the sorted values and their corresponding indices\n", - " sorted_L = [pair[1] for pair in sorted_LL]\n", - " sorted_ind = [pair[2] for pair in sorted_LL]\n", - " \n", - " return sorted_L, sorted_ind\n", - "end\n", - "\n", - "function isolate(f; prec = 32, software=\"usolve\")\n", - " @assert is_univariate(f) \"Not univariate polynomial\"\n", - "\tif software == \"usolve\"\n", - "\t\treturn usolve(f, precision = prec, uspath=\"src/usolve/usolve\")\n", - " end\n", - "end\n", - "\n", - "function isolate_eval(f, ivar, val; prec=64)\n", - " sols = inter_solutions(AlgebraicSolving.Ideal([f, gens(R)[ivar] - val]), precision=prec)\n", - " return [ s[ivar%2+1] for s in sols ]\n", - "end\n", - "\n", - "function Arb_to_rat(x)\n", - "\tr = Nemo.radius(x)\n", - "\treturn map(simplest_rational_inside, [x-2*r, x+2*r])\n", - "end\n", - "\n", - "function rat_to_Arb(x)\n", - " x1,x2 = x\n", - " xm, xd = RR((x1+x2)/2), RR(x2-x1)\n", - " return ball(xm,xd)\n", - "end\n", - "\n", - "function evaluate_Arb(f, x)\n", - "\tcf = coefficients_of_univariate(f)\n", - "\treturn evalpoly(RR(x), cf) \n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": {}, - "outputs": [], - "source": [ - "precx = 150;" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Isolating critical values..\n" - ] - } - ], - "source": [ - "println(\"Isolating critical values..\")\n", - "xcrit = [ isolate(first(p), prec=precx) for p in params ]\n", - "xcrit_usolve = getindex.(xcrit, 1)\n", - "xcrit = getindex.(xcrit, 2)\n", - "_, xcritpermut = order_permut2d(xcrit);" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Computing isolating critical boxes using Arb..\n" - ] - }, - { - "data": { - "text/plain": [ - "2-element Vector{Vector{Vector{Vector{QQFieldElem}}}}:\n", - " [[[-24442554936443688467075675834396964293039975518886202698945133//25711008708143844408671393477458601640355247900524685364822016, -6110638734110922116768918958599241073259993879721550674736283//6427752177035961102167848369364650410088811975131171341205504], [132039738571//22292803807006, 68720148908//11602301047957]], [[-3123450953697468208093194573564111269088132454710363815170495473//3291009114642412084309938365114701009965471731267159726697218048, -6246901907394936416186389147128222538176264909420727630340990945//6582018229284824168619876730229402019930943462534319453394436096], [-164031807635//44806749758833, -223860119481//61149386202505]], [[-41593668105787523288026752405246172055910171941818098449193849//51422017416287688817342786954917203280710495801049370729644032, -1330997379385200745216856076967877505789125502138179150374203167//1645504557321206042154969182557350504982735865633579863348609024], [521695564//60556836619, 420471888//48807099737]], [[-2537085945839503807459093710805708810276745672892079067716681//3213876088517980551083924184682325205044405987565585670602752, -317135743229937975932386713850713601284593209111509883464585//401734511064747568885490523085290650630550748445698208825344], [4613795//59225969, 3583912//46005655]], [[-627818908383277961152132286454151044054352982201971320187893//803469022129495137770981046170581301261101496891396417650688, -2511275633533111844608529145816604176217411928807885280751571//3213876088517980551083924184682325205044405987565585670602752], [-109724607//5178825245, -187102619//8830943151]], [[-619607986455922922605485124244468947359132869976042044173041//1606938044258990275541962092341162602522202993782792835301376, -2478431945823691690421940496977875789436531479904168176692163//6427752177035961102167848369364650410088811975131171341205504], [-59701726404807531//675208691542523125, -58970523455489715//666939004610636351]], [[-101061656517791862302257737364995930288889849032466609325610353//1645504557321206042154969182557350504982735865633579863348609024, -202123313035583724604515474729991860577779698064933218651220705//3291009114642412084309938365114701009965471731267159726697218048], [4411816179285829//5305172941690491, 8282579609305961//9959734369032650]], [[-141373672584650546148781166865758557918473381//2854495385411919762116571938898990272765493248, -35343418146162636537195291716439639479618345//713623846352979940529142984724747568191373312], [-78650276523348806//172203087440112053, -44435128373896391//97289757074294388]], [[35343418146162636537195291716439639479618345//713623846352979940529142984724747568191373312, 141373672584650546148781166865758557918473381//2854495385411919762116571938898990272765493248], [44435128373896391//97289757074294388, 78650276523348806//172203087440112053]], [[202123313035583724604515474729991860577779698064933218651220705//3291009114642412084309938365114701009965471731267159726697218048, 101061656517791862302257737364995930288889849032466609325610353//1645504557321206042154969182557350504982735865633579863348609024], [-8282579609305961//9959734369032650, -4411816179285829//5305172941690491]], [[2478431945823691690421940496977875789436531479904168176692163//6427752177035961102167848369364650410088811975131171341205504, 619607986455922922605485124244468947359132869976042044173041//1606938044258990275541962092341162602522202993782792835301376], [58970523455489715//666939004610636351, 59701726404807531//675208691542523125]], [[2511275633533111844608529145816604176217411928807885280751571//3213876088517980551083924184682325205044405987565585670602752, 627818908383277961152132286454151044054352982201971320187893//803469022129495137770981046170581301261101496891396417650688], [187102619//8830943151, 109724607//5178825245]], [[317135743229937975932386713850713601284593209111509883464585//401734511064747568885490523085290650630550748445698208825344, 2537085945839503807459093710805708810276745672892079067716681//3213876088517980551083924184682325205044405987565585670602752], [-3583912//46005655, -4613795//59225969]], [[1330997379385200745216856076967877505789125502138179150374203167//1645504557321206042154969182557350504982735865633579863348609024, 41593668105787523288026752405246172055910171941818098449193849//51422017416287688817342786954917203280710495801049370729644032], [-420471888//48807099737, -521695564//60556836619]], [[6246901907394936416186389147128222538176264909420727630340990945//6582018229284824168619876730229402019930943462534319453394436096, 3123450953697468208093194573564111269088132454710363815170495473//3291009114642412084309938365114701009965471731267159726697218048], [223860119481//61149386202505, 164031807635//44806749758833]], [[6110638734110922116768918958599241073259993879721550674736283//6427752177035961102167848369364650410088811975131171341205504, 24442554936443688467075675834396964293039975518886202698945133//25711008708143844408671393477458601640355247900524685364822016], [-68720148908//11602301047957, -132039738571//22292803807006]]]\n", - " [[[-687734782603838044350575617017662373629412942089459932428627//200867255532373784442745261542645325315275374222849104412672, -2750939130415352177402302468070649494517651768357839729714507//803469022129495137770981046170581301261101496891396417650688], [271472659542182754593//1684798801832617780500, 143627109198091154157//891370725492988587043]], [[-51685064096167714814191826295095766882620546921398978885964423//51422017416287688817342786954917203280710495801049370729644032, -103370128192335429628383652590191533765241093842797957771928845//102844034832575377634685573909834406561420991602098741459288064], [-797854753386//1886609016668249, -493223293083//1166276829225095]], [[-23495315700962498800583525705483390083140167078969708226352109//25711008708143844408671393477458601640355247900524685364822016, -187962525607699990404668205643867120665121336631757665810816871//205688069665150755269371147819668813122841983204197482918576128], [-363433491999//138770996117740, -459426765233//175424420858576]], [[-1151009509892216136370102602680295747758065009//1427247692705959881058285969449495136382746624, -71938094368263508523131412667518484234879063//89202980794122492566142873090593446023921664], [261491683//390809196888, 228872433//342058495721]], [[-1263493321129273331178454674076539313740520740409402766745049//1606938044258990275541962092341162602522202993782792835301376, -5053973284517093324713818696306157254962082961637611066980195//6427752177035961102167848369364650410088811975131171341205504], [355090567//12257904400, 227805871//7863972879]], [[-157167813748762026396570031354366626161215805778857541678833//200867255532373784442745261542645325315275374222849104412672, -314335627497524052793140062708733252322431611557715083357665//401734511064747568885490523085290650630550748445698208825344], [-183040197//9274798630, -258364859//13091561742]], [[-66600539376817804242858426738351289072343899286481//93536104789177786765035829293842113257979682750464, -4162533711051112765178651671146955567021493705405//5846006549323611672814739330865132078623730171904], [388942628069//10585206274805, 713082410219//19406780996410]], [[-4435411573029112378107310371119581100747942031067428588299235//6427752177035961102167848369364650410088811975131171341205504, -2217705786514556189053655185559790550373971015533714294149617//3213876088517980551083924184682325205044405987565585670602752], [-458742158356//10971615805093, -331127221237//7919482846399]], [[-518314505561072996534519940214052474221411872945662135444695//803469022129495137770981046170581301261101496891396417650688, -1036629011122145993069039880428104948442823745891324270889389//1606938044258990275541962092341162602522202993782792835301376], [21437489701912//486683944994607, 18797493187695//426749506019854]], [[-13333194184884069811022013814387054489007420885263786349374201//51422017416287688817342786954917203280710495801049370729644032, -1666649273110508726377751726798381811125927610657973293671775//6427752177035961102167848369364650410088811975131171341205504], [-366460961630620763//6846018909116775696, -242745185367992617//4534829908571288226]] … [[1666649273110508726377751726798381811125927610657973293671775//6427752177035961102167848369364650410088811975131171341205504, 13333194184884069811022013814387054489007420885263786349374201//51422017416287688817342786954917203280710495801049370729644032], [242745185367992617//4534829908571288226, 366460961630620763//6846018909116775696]], [[1036629011122145993069039880428104948442823745891324270889389//1606938044258990275541962092341162602522202993782792835301376, 518314505561072996534519940214052474221411872945662135444695//803469022129495137770981046170581301261101496891396417650688], [-18797493187695//426749506019854, -21437489701912//486683944994607]], [[2217705786514556189053655185559790550373971015533714294149617//3213876088517980551083924184682325205044405987565585670602752, 4435411573029112378107310371119581100747942031067428588299235//6427752177035961102167848369364650410088811975131171341205504], [331127221237//7919482846399, 458742158356//10971615805093]], [[4162533711051112765178651671146955567021493705405//5846006549323611672814739330865132078623730171904, 66600539376817804242858426738351289072343899286481//93536104789177786765035829293842113257979682750464], [-713082410219//19406780996410, -388942628069//10585206274805]], [[314335627497524052793140062708733252322431611557715083357665//401734511064747568885490523085290650630550748445698208825344, 157167813748762026396570031354366626161215805778857541678833//200867255532373784442745261542645325315275374222849104412672], [258364859//13091561742, 183040197//9274798630]], [[5053973284517093324713818696306157254962082961637611066980195//6427752177035961102167848369364650410088811975131171341205504, 1263493321129273331178454674076539313740520740409402766745049//1606938044258990275541962092341162602522202993782792835301376], [-227805871//7863972879, -355090567//12257904400]], [[71938094368263508523131412667518484234879063//89202980794122492566142873090593446023921664, 1151009509892216136370102602680295747758065009//1427247692705959881058285969449495136382746624], [-220833677//330044271252, -245414171//366780747950]], [[187962525607699990404668205643867120665121336631757665810816871//205688069665150755269371147819668813122841983204197482918576128, 23495315700962498800583525705483390083140167078969708226352109//25711008708143844408671393477458601640355247900524685364822016], [459426765233//175424420858576, 363433491999//138770996117740]], [[103370128192335429628383652590191533765241093842797957771928845//102844034832575377634685573909834406561420991602098741459288064, 51685064096167714814191826295095766882620546921398978885964423//51422017416287688817342786954917203280710495801049370729644032], [493223293083//1166276829225095, 797854753386//1886609016668249]], [[2750939130415352177402302468070649494517651768357839729714507//803469022129495137770981046170581301261101496891396417650688, 687734782603838044350575617017662373629412942089459932428627//200867255532373784442745261542645325315275374222849104412672], [-143627109198091154157//891370725492988587043, -271472659542182754593//1684798801832617780500]]]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "println(\"Computing isolating critical boxes using Arb..\")\n", - "#RR(x) = Arb(x, prec=120)\n", - "RR = ArbField(max(precx,150))\n", - "Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1])/evaluate_Arb(params[i][3],xc[1])] for xc in xcrit[i]] for i in eachindex(xcrit) ]\n", - "LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ]\n", - "#Pcrit = [ [ [ rat_to_Arb(pc[1]), pc[2] ] for pc in pcrit] for pcrit in Pcrit ];" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intersect_box (generic function with 1 method)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "function in_inter(I, J)\n", - " return J[1] < I[1] && I[2] < J[2]\n", - "end\n", - "\n", - "function overlap_inter(I,J)\n", - " return max(I[1], J[1]) <= min(I[2], J[2])\n", - "end\n", - "\n", - "# To try/do : isolate with usolve, call msolve with only one variable\n", - "function intersect_box(f, B; prec=100)\n", - " L = Array{Any}(undef, 4)\n", - " for i in 1:2\n", - " # Lxi\n", - " L[i] = Array{Any}(undef,2)\n", - " while true\n", - " flag = false\n", - " L[i][1] = isolate_eval(f, 2, B[2][i], prec=prec)\n", - " L[i][2] = []\n", - " for (j, l) in pairs(L[i][1])\n", - " if in_inter(l, B[1])\n", - " push!(L[i][2], j)\n", - " elseif overlap_inter(l, B[1])\n", - " prec *= 2\n", - " #println(\"Increase precision to \", prec)\n", - " flag = true\n", - " break\n", - " end\n", - " end\n", - " flag || break\n", - " end\n", - " # Lyi\n", - " L[i+2] = Array{Any}(undef,2)\n", - " while true\n", - " flag = false\n", - " L[i+2][1] = isolate_eval(f, 1, B[1][i], prec=prec)\n", - " L[i+2][2] = []\n", - " for (j, l) in pairs(L[i+2][1])\n", - " if in_inter(l, B[2])\n", - " push!(L[i+2][2], j)\n", - " elseif overlap_inter(l, B[2])\n", - " prec *= 2\n", - " #println(\"Increase precision to \", prec)\n", - " flag = true\n", - " break\n", - " end\n", - " end\n", - " flag || break\n", - " end\n", - " end\n", - " return L\n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "refine_xboxes (generic function with 1 method)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "function refine_xboxes(f, LB, prec)\n", - " # Implementation of refine_xboxes function goes here\n", - " xnew = isolate(f, prec=prec)[2]\n", - " for i in eachindex(LB)\n", - "\t\t LB[i] = [ xnew[i], LB[i][2] ]\n", - " end\n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Compute intersections with critical boxes\n", - "mult=1 ; 16/16 pts\n", - "mult=2 ; 60/60 pts\n", - "Average time for one point: 0.17550745135859439s\n", - "Elapsed time to compute critical boxes: 13.488043069839478s\n" - ] - } - ], - "source": [ - "# Could be improved by handling nodes as extreme boxes:\n", - "# when npcside = [2,2,0,0] just take nearest below and above\n", - "# intersections b with the curves on the vertical sides\n", - "# and change into npcside = [0,0,2,2]\n", - "## TODO : Refine only the intervals that need to be refined\n", - "println(\"\\nCompute intersections with critical boxes\")\n", - "ts = time()\n", - "LPCside = Array{Any}(undef,length(LBcrit))\n", - "ndig = maximum([Int(floor(log10(length(LB)))) for LB in LBcrit])\n", - "Ltm = []\n", - "i = 1\n", - "while i <= length(LBcrit)\n", - " ndigi = Int(floor(log10(length(LBcrit[i]))))\n", - " LPCside[i] = Array{Any}(undef, length(LBcrit[i]))\n", - " while true\n", - " flag = false\n", - " for j in eachindex(LBcrit[i])\n", - " print(\"mult=$i ; $(j)/$(length(LBcrit[i]))$(repeat(\" \", ndig-ndigi+1))pts\",\"\\r\")\n", - " tm = time()\n", - " pcside = intersect_box(f, LBcrit[i][j], prec=precx)\n", - " npcside = [length(n) for (I, n) in pcside]\n", - " if i == 1 && sum(npcside) > 2\n", - " precx *= 2\n", - " println(\"\\nRefine extreme boxes along x-axis\")\n", - " refine_xboxes(params[1][1], LBcrit[1], precx)\n", - " flag = true\n", - " break\n", - " elseif i > 1 && sum(npcside[1:2]) != 0\n", - " precx *= 2\n", - " println(\"\\nRefine singular boxes along x-axis\")\n", - " refine_xboxes(params[2][1], LBcrit[2], precx)\n", - " flag = true\n", - " break\n", - " end\n", - " LPCside[i][j] = pcside\n", - " push!(Ltm, time() - tm)\n", - " end\n", - " flag || break\n", - " end\n", - " i += 1\n", - " println(\"\")\n", - "end\n", - "LnPCside = [ [[length(indI) for (L, indI) in PB] for PB in lpcside] for lpcside in LPCside ] \n", - "println(\"Average time for one point: $(sum(Ltm)/length(Ltm))s\")\n", - "println(\"Elapsed time to compute critical boxes: $(time()-ts)s\")\n" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": {}, - "outputs": [], - "source": [ - "# Update extreme boxes\n", - "for j in eachindex(LBcrit[1])\n", - " # If the curve does not intersect the box only on vertical sides\n", - " if !(LnPCside[1][j][1:2] == [0, 0])\n", - " PCside, nPCside = LPCside[1][j], LnPCside[1][j]\n", - " I = [ l[1] for l in PCside[3:end] ]\n", - " nI = [ l[2] for l in PCside[3:end] ]\n", - " # Locate the orientation of the extreme point\n", - " # s is the index on the side where there are more branches\n", - " # s=1: left; s=2: right\n", - " s = argmax([length(I[1]), length(I[2])])\n", - " # Ordinate range of the extreme point\n", - " ycrit = LBcrit[1][j][2]\n", - " # If it intersects on the bottom side\n", - " if nPCside[1] == 1\n", - " # yinf: the intersection with the vertical side just below the extreme point\n", - " yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[2]])\n", - " # We vertically enlarge the box until it intersects on the horizontal side\n", - " push!(LPCside[1][j][s + 2][2], yinf)\n", - " LPCside[1][j][1][2] = []\n", - " # We update the intersection numbers\n", - " LnPCside[1][j][s + 2] += 1\n", - " LnPCside[1][j][1] = 0\n", - " end\n", - " # If it intersects on the top side\n", - " if nPCside[2] == 1 \n", - " # ymax: the intersection with the vertical side just above the extreme point\n", - " ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[1]])\n", - " # We vertically enlarge the box until it intersects on the horizontal side\n", - " push!(LPCside[1][j][s + 2][2], ymax)\n", - " LPCside[1][j][2][2] = []\n", - " # We update the intersection numbers\n", - " LnPCside[1][j][s + 2] += 1\n", - " LnPCside[1][j][2] = 0\n", - " end\n", - " end\n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Graph computation" - ] - } - ], - "source": [ - "print(\"Graph computation\")\n", - "# Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot\n", - "# And even remove this fiber for the graph\n", - "Vert = []\n", - "Edg = []\n", - "Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ]\n", - "Viso = []\n", - "ite = 1\n", - "\n", - "for ind in 1:length(xcritpermut)\n", - " i, j = xcritpermut[ind]\n", - "\n", - " if ind > 1\n", - " i1, j1 = xcritpermut[ind - 1]\n", - " end\n", - " if ind < length(xcritpermut)\n", - " i2, j2 = xcritpermut[ind + 1]\n", - " I2L, nI2L = LPCside[i2][j2][3]\n", - " end\n", - "\n", - " PCside, nPCside = LPCside[i][j], LnPCside[i][j]\n", - " I = [ l[1] for l in PCside[3:end] ]\n", - " nI = [ l[2] for l in PCside[3:end] ]\n", - "\n", - " xcmid = sum(LBcrit[i][j][1])//2\n", - " ycmid = sum(LBcrit[i][j][2])//2\n", - "\n", - " ymincrit = minimum(vcat(nI[1], nI[2], [length(I[1])+1]))\n", - " # Construct vertices\n", - " ###########################\n", - " # On the vertical left side\n", - " if ind > 1\n", - " for k in 1:length(I[1])\n", - " push!(Corr[i][j][1], Corr[i1][j1][3][k])\n", - " end\n", - " else\n", - " for k in 1:length(I[1])\n", - " push!(Vert, [xcrit[i][j][1], sum(I[1][k])//2])\n", - " push!(Corr[i][j][1], ite)\n", - " ite += 1\n", - " end\n", - " end\n", - " ###########################\n", - " # On the vertical right side\n", - " if ind < length(xcritpermut)\n", - " for k in 1:length(I[2])\n", - " push!(Vert, [(xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4])\n", - " push!(Corr[i][j][3], ite)\n", - " ite += 1\n", - " end\n", - " else\n", - " for k in 1:length(I[2])\n", - " push!(Vert, [xcrit[i][j][2], sum(I[2][k])//2])\n", - " push!(Corr[i][j][3], ite)\n", - " ite += 1\n", - " end\n", - " end\n", - " ###########################\n", - " # Below the critical point\n", - " #println()\n", - " #println(map(length,I))\n", - " #println(vcat(nI[1], nI[2], [length(I[1])+1]))\n", - " for k in 1:ymincrit-1\n", - " push!(Vert, [xcmid, sum(I[1][k] + I[2][k])// 4])\n", - " push!(Corr[i][j][2][1], ite)\n", - " push!(Edg, [Corr[i][j][1][k], ite]) # left\n", - " push!(Edg, [ite, Corr[i][j][3][k]]) # right\n", - " ite += 1\n", - " end\n", - " ###########################\n", - " # The critical point\n", - " ##########################\n", - " # if it is an isolated point\n", - " if isempty(nI[1]) && isempty(nI[2])\n", - " #pass\n", - " # We can add the isolated vertex\n", - " # push!(Vert, Pcrit[i][j])\n", - " # push!(Corr[i][j][2][1], ite)\n", - " # We will subsequently add the vertex in the graph\n", - " # push!(Viso, ite)\n", - " # ite += 1\n", - " ############################################\n", - " ## TO BE REPLACED BY APPSING IDENTIFICATOR ##\n", - " ## works for space curves without nodes ##\n", - " ############################################\n", - " # If we are dealing with a node\n", - " elseif i == 2\n", - " # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2\n", - " push!(Edg, [Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]]])\n", - " push!(Edg, [Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]]])\n", - " else\n", - " # We can add the vertex\n", - " push!(Vert, [xcmid, ycmid])\n", - " push!(Corr[i][j][2][2], ite)\n", - " # We connect to the vertical left side of the critical box\n", - " for k in nI[1]\n", - " push!(Edg, [Corr[i][j][1][k], ite])\n", - " end\n", - " # We connect to the vertical right side of the critical box\n", - " for k in nI[2]\n", - " push!(Edg, [ite, Corr[i][j][3][k]])\n", - " end\n", - " ite += 1\n", - " end\n", - " ###########################\n", - " # Above the critical point\n", - " for k=(length(I[1]) - length(nI[1]) - ymincrit+1):-1:1\n", - " push!(Vert, [xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4])\n", - " push!(Corr[i][j][2][3], ite)\n", - " push!(Edg, [Corr[i][j][1][end - k + 1], ite]) # left\n", - " push!(Edg, [ite, Corr[i][j][3][end - k + 1]]) # right\n", - " ite += 1\n", - " end\n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": {}, - "outputs": [], - "source": [ - "using Plots,Colors" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "plot_graph (generic function with 1 method)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "\n", - "function plot_graph(V, E)\n", - " println(\"Plotting the graph\")\n", - " plot(legend=false)\n", - " for e in E\n", - " xe, ye = map(Float64,[e[1][1], e[2][1]]), map(Float64,[e[1][2], e[2][2]])\n", - " plot!(xe, ye, lc=\"red\", lw=3)\n", - " end\n", - " scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc=\"black\", m=:diamond)\n", - " #plt.show(block=true)\n", - " plot!()\n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Plotting the graph\n" - ] - }, - { - "data": { - "image/png": "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qqpCSUmJ4X0QERERpdNBBx1keN2YAeutt96y5GAGDRqEdevWYc+ePejQoQNEBM3NzaisrNRdv7y8HOedd54l+yYiIiLKhrQP09CnTx9UV1fjmWeeAaBa41dVVelWDxIREREVApukMAKf0+nEokWL8N1336G8vBzdunXDF198AQA49dRTcdttt+HII4/Ep59+iosvvhg//PADSktL8eSTT+LQQw+17JcgIiIiyiUpBSwiIiIiisaR3ImIiIgslnMBK92jw1P+M/rZV1VV4aCDDsKIESMwYsQIPPfccxk+UsoEo+cDrxntF68ZlEhasofkmMWLF0tzc7MMHjxYPv7445jrnXjiifL444+LiIjH45HRo0dn6Agp24x+9onOISoMRs8HXjPaL14zKJF0ZI+cC1gB8X7J77//Xnr06CG7d+8WEZHW1lbp27evfPXVVxk8QsoGM589L5aFz+j5wGtG+8VrBplhZfbIuSpCI+KNDk+Fzexnf95552HYsGG47LLLsHHjxkweKmWA0fOB14z2i9cMsorZcymjAWvMmDEoLy/XXZqbm01ty8zo8JQ/jJwjRj/7JUuW4KOPPkJDQwP22WcfXHTRRWk/fso8o+cDrxntF68ZZBUz15G0z0UYKlujw1P+SHSOdO7c2fBnH3isY8eOuOaaazB06NC0HDNlj9FrAa8Z7ZeZz57XDIrH7HUkL6sIOTp8+2X0s/f5fNiyZUvw52effRbV1dUZPFLKBKPnA68Z7RevGWQV09cRKxuHWeGqq66SgQMHSnFxsfTt21f233//4HOnnHKKfPDBByIisnr1ahk9erQccMABMnLkSFmxYkW2DpkyLN5nHzhH/ve//8mIESNk2LBhcthhh8kZZ5zBBs0Fysj5kGg9Kmy8ZlAi6cgeHMmdiIiIyGJ5WUVIRERElMsYsIiIiIgsxoBFREREZDEGLCIiIiKLMWARERERWez/A2yOdbCo2E1xAAAAAElFTkSuQmCC", - "image/svg+xml": [ - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " 2024-05-12T11:55:07.569278\n", - " image/svg+xml\n", - " \n", - " \n", - " Matplotlib v3.5.1, https://matplotlib.org/\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n" - ], - "text/html": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg]\n", - "plot_graph(Vert, EdgPlot)" - ] - }, - { - "cell_type": "code", - "execution_count": 102, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "connected_components (generic function with 2 methods)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "function connected_components(vert, edges)\n", - " adj_list = Dict{Int, Vector{Int}}()\n", - " visited = Set{Int}()\n", - " components = Vector{Vector{Int}}()\n", - "\n", - " # Build adjacency list\n", - " for (i, j) in edges\n", - " push!(get!(adj_list, i, []), j)\n", - " push!(get!(adj_list, j, []), i)\n", - " end\n", - "\n", - " # Depth-first search\n", - " function dfs(node, component)\n", - " push!(visited, node)\n", - " push!(component, node)\n", - " for neighbor in adj_list[node]\n", - " if !(neighbor in visited)\n", - " dfs(neighbor, component)\n", - " end\n", - " end\n", - " end\n", - "\n", - " # Find connected components\n", - " for node in keys(adj_list)\n", - " if !(node in visited)\n", - " component = Vector{Int}()\n", - " dfs(node, component)\n", - " push!(components, component)\n", - " end\n", - " end\n", - "\n", - " # Group edges by connected component\n", - " grouped_edges = [Tuple{Int, Int}[] for _ in components]\n", - " for (idx, component) in enumerate(components)\n", - " for node in component\n", - " for neighbor in adj_list[node]\n", - " if neighbor > node && neighbor in component\n", - " push!(grouped_edges[idx], (node, neighbor))\n", - " end\n", - " end\n", - " end\n", - " end\n", - "\n", - " grouped_vert = [ [ vert[cv] for cv in c ] for c in components ]\n", - " return grouped_vert, grouped_edges\n", - "end\n" - ] - }, - { - "cell_type": "code", - "execution_count": 108, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4\n" - ] - } - ], - "source": [ - "CVert, CEdg = connected_components(Vert, Edg); println(length(CVert))" - ] - }, - { - "cell_type": "code", - "execution_count": 98, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "plot_graph_comp (generic function with 1 method)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "function plot_graph_comp(V, CE)\n", - " println(\"Plotting the graph\")\n", - " plot(legend=false)\n", - " col = distinguishable_colors(length(CE)+2)\n", - " for j in eachindex(CE)\n", - " for e in CE[j]\n", - " v1, v2 = map(Float64, V[e[1]]), map(Float64, V[e[2]])\n", - " plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=3)\n", - " end\n", - " end\n", - " #plt.show(block=true)\n", - " plot!()\n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": 99, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "image/svg+xml": [ - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " 2024-05-12T12:21:21.415401\n", - " image/svg+xml\n", - " \n", - " \n", - " Matplotlib v3.5.1, https://matplotlib.org/\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n" - ], - "text/html": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Plotting the graph\n" - ] - } - ], - "source": [ - "pyplot()\n", - "display(plot_graph_comp(Vert,CEdg))" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Julia 1.10.1", - "language": "julia", - "name": "julia-1.10" - }, - "language_info": { - "file_extension": ".jl", - "mimetype": "application/julia", - "name": "julia", - "version": "1.10.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/src/connectcurves/subresultant.ipynb b/src/connectcurves/subresultant.ipynb deleted file mode 100644 index c84cd53..0000000 --- a/src/connectcurves/subresultant.ipynb +++ /dev/null @@ -1,689 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "using Nemo" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "subresultants (generic function with 2 methods)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "include(\"subresultants.jl\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "1608439665285565803232304//1251*x^15 - 1297795047031106493568149616*x^14*y + 27683015945643545295611431440*x^13*y^2 - 86407846455606538783280976*x^13 + 3101555954382566913195498945328*x^12*y^3 + 5289494387977664333589393240*x^12*y + 53935757035480634503561949673600*x^11*y^4 + 14888434180536539977309638984*x^11*y^2 + 132571431253302115292123136*x^11 + 462837358969719715384097135958576*x^10*y^5 - 3410224622843501740604550919792*x^10*y^3 - 7354641254159812151335674844*x^10*y + 3165018522476623179028918949394240*x^9*y^6 - 45031116292621363989328436013360*x^9*y^4 - 85006570775082108402131665056*x^9*y^2 - 115292786706841839957190896*x^9 + 12827607512699632445580187463080624*x^8*y^7 - 224453213706240040739048696954232*x^8*y^5 + 745913093745769432422404810712*x^8*y^3 + 4356812740379517473026114200*x^8*y + 4251804851914997769306214853580720*x^7*y^8 - 672203958822197172732610607116752*x^7*y^6 + 4898402715552927605475811484880*x^7*y^4 + 53733019798096385511398418792*x^7*y^2 + 60038503306269383516796672*x^7 + 692542935539707714310917883786640*x^6*y^9 - 206444368279389060165796677665952*x^6*y^7 - 12493004136726939382465032981432*x^6*y^5 + 74886885224275167882851626960*x^6*y^3 - 1053745108158309073402553076*x^6*y + 89881054980958692169121080402032*x^5*y^10 - 47181934726325595685416882978576*x^5*y^8 - 213774579972935761882648535808*x^5*y^6 + 700721112865314842206753316280*x^5*y^4 - 7881617940706326540612401856*x^5*y^2 - 16865677220581290594690288*x^5 + 5840981120256583709477828251920*x^4*y^11 - 4096999286052207826787591868600*x^4*y^9 + 203432830752048945097765874736*x^4*y^7 + 90907609663610057598116292024*x^4*y^5 + 5663823046464683743731566012*x^4*y^3 + 74305257547257503105707160*x^4*y - 156840079355291684019189360384*x^3*y^12 + 433126298187886110621906595272*x^3*y^10 - 360511798765092965245629535392*x^3*y^8 + 100722980442141532760717214216*x^3*y^6 - 6036244459328381350035128880*x^3*y^4 - 97363997306557694713420056*x^3*y^2 + 1850003538678786657657456*x^3 - 20554923500424430640961760336*x^2*y^13 + 52973743800686284846007615184*x^2*y^11 - 47419181322093137881626400300*x^2*y^9 + 17449407647144104782658688864*x^2*y^7 - 2466612466866597688408155996*x^2*y^5 + 125623297897583180840891248*x^2*y^3 - 1723513737447749211812012*x^2*y + 193384233601848353806297920*x*y^14 - 809466282114237935430328176*x*y^12 + 1320697319143637236969109712*x*y^10 - 1051412471113453651285125840*x*y^8 + 415366877662184932782898992*x*y^6 - 72497158541235345143975280*x*y^4 + 3984871237924403688874992*x*y^2 - 32144769403583975845728*x + 24821495574115978422083344*y^15 - 107319055768171943813388712*y^13 + 185446357383222499539056664*y^11 - 162625711514366988638249600*y^9 + 75774213346177911027001176*y^7 - 17895854908220937120504384*y^5 + 1866612999054155602814920*y^3 - 67150823250460422656216*y" - ], - "text/latex": [ - "\\frac{1608439665285565803232304}{1251} x^{15} - 1297795047031106493568149616 x^{14} y + 27683015945643545295611431440 x^{13} y^{2} - 86407846455606538783280976 x^{13} + 3101555954382566913195498945328 x^{12} y^{3} + 5289494387977664333589393240 x^{12} y + 53935757035480634503561949673600 x^{11} y^{4} + 14888434180536539977309638984 x^{11} y^{2} + 132571431253302115292123136 x^{11} + 462837358969719715384097135958576 x^{10} y^{5} - 3410224622843501740604550919792 x^{10} y^{3} - 7354641254159812151335674844 x^{10} y + 3165018522476623179028918949394240 x^{9} y^{6} - 45031116292621363989328436013360 x^{9} y^{4} - 85006570775082108402131665056 x^{9} y^{2} - 115292786706841839957190896 x^{9} + 12827607512699632445580187463080624 x^{8} y^{7} - 224453213706240040739048696954232 x^{8} y^{5} + 745913093745769432422404810712 x^{8} y^{3} + 4356812740379517473026114200 x^{8} y + 4251804851914997769306214853580720 x^{7} y^{8} - 672203958822197172732610607116752 x^{7} y^{6} + 4898402715552927605475811484880 x^{7} y^{4} + 53733019798096385511398418792 x^{7} y^{2} + 60038503306269383516796672 x^{7} + 692542935539707714310917883786640 x^{6} y^{9} - 206444368279389060165796677665952 x^{6} y^{7} - 12493004136726939382465032981432 x^{6} y^{5} + 74886885224275167882851626960 x^{6} y^{3} - 1053745108158309073402553076 x^{6} y + 89881054980958692169121080402032 x^{5} y^{10} - 47181934726325595685416882978576 x^{5} y^{8} - 213774579972935761882648535808 x^{5} y^{6} + 700721112865314842206753316280 x^{5} y^{4} - 7881617940706326540612401856 x^{5} y^{2} - 16865677220581290594690288 x^{5} + 5840981120256583709477828251920 x^{4} y^{11} - 4096999286052207826787591868600 x^{4} y^{9} + 203432830752048945097765874736 x^{4} y^{7} + 90907609663610057598116292024 x^{4} y^{5} + 5663823046464683743731566012 x^{4} y^{3} + 74305257547257503105707160 x^{4} y - 156840079355291684019189360384 x^{3} y^{12} + 433126298187886110621906595272 x^{3} y^{10} - 360511798765092965245629535392 x^{3} y^{8} + 100722980442141532760717214216 x^{3} y^{6} - 6036244459328381350035128880 x^{3} y^{4} - 97363997306557694713420056 x^{3} y^{2} + 1850003538678786657657456 x^{3} - 20554923500424430640961760336 x^{2} y^{13} + 52973743800686284846007615184 x^{2} y^{11} - 47419181322093137881626400300 x^{2} y^{9} + 17449407647144104782658688864 x^{2} y^{7} - 2466612466866597688408155996 x^{2} y^{5} + 125623297897583180840891248 x^{2} y^{3} - 1723513737447749211812012 x^{2} y + 193384233601848353806297920 x y^{14} - 809466282114237935430328176 x y^{12} + 1320697319143637236969109712 x y^{10} - 1051412471113453651285125840 x y^{8} + 415366877662184932782898992 x y^{6} - 72497158541235345143975280 x y^{4} + 3984871237924403688874992 x y^{2} - 32144769403583975845728 x + 24821495574115978422083344 y^{15} - 107319055768171943813388712 y^{13} + 185446357383222499539056664 y^{11} - 162625711514366988638249600 y^{9} + 75774213346177911027001176 y^{7} - 17895854908220937120504384 y^{5} + 1866612999054155602814920 y^{3} - 67150823250460422656216 y" - ], - "text/plain": [ - "1608439665285565803232304//1251*x^15 - 1297795047031106493568149616*x^14*y + 27683015945643545295611431440*x^13*y^2 - 86407846455606538783280976*x^13 + 3101555954382566913195498945328*x^12*y^3 + 5289494387977664333589393240*x^12*y + 53935757035480634503561949673600*x^11*y^4 + 14888434180536539977309638984*x^11*y^2 + 132571431253302115292123136*x^11 + 462837358969719715384097135958576*x^10*y^5 - 3410224622843501740604550919792*x^10*y^3 - 7354641254159812151335674844*x^10*y + 3165018522476623179028918949394240*x^9*y^6 - 45031116292621363989328436013360*x^9*y^4 - 85006570775082108402131665056*x^9*y^2 - 115292786706841839957190896*x^9 + 12827607512699632445580187463080624*x^8*y^7 - 224453213706240040739048696954232*x^8*y^5 + 745913093745769432422404810712*x^8*y^3 + 4356812740379517473026114200*x^8*y + 4251804851914997769306214853580720*x^7*y^8 - 672203958822197172732610607116752*x^7*y^6 + 4898402715552927605475811484880*x^7*y^4 + 53733019798096385511398418792*x^7*y^2 + 60038503306269383516796672*x^7 + 692542935539707714310917883786640*x^6*y^9 - 206444368279389060165796677665952*x^6*y^7 - 12493004136726939382465032981432*x^6*y^5 + 74886885224275167882851626960*x^6*y^3 - 1053745108158309073402553076*x^6*y + 89881054980958692169121080402032*x^5*y^10 - 47181934726325595685416882978576*x^5*y^8 - 213774579972935761882648535808*x^5*y^6 + 700721112865314842206753316280*x^5*y^4 - 7881617940706326540612401856*x^5*y^2 - 16865677220581290594690288*x^5 + 5840981120256583709477828251920*x^4*y^11 - 4096999286052207826787591868600*x^4*y^9 + 203432830752048945097765874736*x^4*y^7 + 90907609663610057598116292024*x^4*y^5 + 5663823046464683743731566012*x^4*y^3 + 74305257547257503105707160*x^4*y - 156840079355291684019189360384*x^3*y^12 + 433126298187886110621906595272*x^3*y^10 - 360511798765092965245629535392*x^3*y^8 + 100722980442141532760717214216*x^3*y^6 - 6036244459328381350035128880*x^3*y^4 - 97363997306557694713420056*x^3*y^2 + 1850003538678786657657456*x^3 - 20554923500424430640961760336*x^2*y^13 + 52973743800686284846007615184*x^2*y^11 - 47419181322093137881626400300*x^2*y^9 + 17449407647144104782658688864*x^2*y^7 - 2466612466866597688408155996*x^2*y^5 + 125623297897583180840891248*x^2*y^3 - 1723513737447749211812012*x^2*y + 193384233601848353806297920*x*y^14 - 809466282114237935430328176*x*y^12 + 1320697319143637236969109712*x*y^10 - 1051412471113453651285125840*x*y^8 + 415366877662184932782898992*x*y^6 - 72497158541235345143975280*x*y^4 + 3984871237924403688874992*x*y^2 - 32144769403583975845728*x + 24821495574115978422083344*y^15 - 107319055768171943813388712*y^13 + 185446357383222499539056664*y^11 - 162625711514366988638249600*y^9 + 75774213346177911027001176*y^7 - 17895854908220937120504384*y^5 + 1866612999054155602814920*y^3 - 67150823250460422656216*y" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "R, (x,y) = polynomial_ring(QQ, [:x, :y])\n", - "f = 1594627541097114368612385*x^16 + 24126594979283487048484560//18765*x^15*y - 648897523515553246784074808*x^14*y^2 + 9227671981881181765203810480*x^13*y^3 + 775388988595641728298874736332*x^12*y^4 + 10787151407096126900712389934720*x^11*y^5 + 77139559828286619230682855993096*x^10*y^6 + 452145503210946168432702707056320*x^9*y^7 + 1603450939087454055697523432885078*x^8*y^8 + 472422761323888641034023872620080*x^7*y^9 + 69254293553970771431091788378664*x^6*y^10 + 8171004998268972015374643672912*x^5*y^11 + 486748426688048642456485687660*x^4*y^12 - 12064621488868591078399181568*x^3*y^13 - 1468208821458887902925840024*x^2*y^14 + 12892282240123223587086528*x*y^15 + 1551343473382248651380209*y^16 - 7416582067989458752697004*x^14 - 86407846455606538783280976*x^13*y + 2644747193988832166794696620*x^12*y^2 + 4962811393512179992436546328*x^11*y^3 - 852556155710875435151137729948*x^10*y^4 - 9006223258524272797865687202672*x^9*y^5 - 37408868951040006789841449492372*x^8*y^6 - 96029136974599596104658658159536*x^7*y^7 - 25805546034923632520724584708244*x^6*y^8 - 5242437191813955076157431442064*x^5*y^9 - 409699928605220782678759186860*x^4*y^10 + 39375118017080555511082417752*x^3*y^11 + 4414478650057190403833967932*x^2*y^12 - 62266637085710610417717552*x*y^13 - 7665646840583710272384908*y^14 + 14233446085691566995553618*x^12 + 132571431253302115292123136*x^11*y - 3677320627079906075667837422*x^10*y^2 - 28335523591694036134043888352*x^9*y^3 + 186478273436442358105601202678*x^8*y^4 + 979680543110585521095162296976*x^7*y^5 - 2082167356121156563744172163572*x^6*y^6 - 30539225710419394554664076544*x^5*y^7 + 25429103844006118137220734342*x^4*y^8 - 40056866529454773916181059488*x^3*y^9 - 4741918132209313788162640030*x^2*y^10 + 120063392649421566997191792*x*y^11 + 15453863115268541628254722*y^12 - 14508062550440954802512688*x^10 - 115292786706841839957190896*x^9*y + 2178406370189758736513057100*x^8*y^2 + 17911006599365461837132806264*x^7*y^3 + 18721721306068791970712906740*x^6*y^4 + 140144222573062968441350663256*x^5*y^5 + 15151268277268342933019382004*x^4*y^6 + 14388997206020218965816744888*x^3*y^7 + 2181175955893013097832336108*x^2*y^8 - 116823607901494850142791760*x*y^9 - 16262571151436698863824960*y^10 + 8412196412628079801200763*x^8 + 60038503306269383516796672*x^7*y - 526872554079154536701276538*x^6*y^2 - 2627205980235442180204133952*x^5*y^3 + 1415955761616170935932891503*x^4*y^4 - 1207248891865676270007025776*x^3*y^5 - 411102077811099614734692666*x^2*y^6 + 59338125380312133254699856*x*y^7 + 9471776668272238878375147*y^8 - 2755131867388737857954960*x^6 - 16865677220581290594690288*x^5*y + 37152628773628751552853580*x^4*y^2 - 32454665768852564904473352*x^3*y^3 + 31405824474395795210222812*x^2*y^4 - 14499431708247069028795056*x*y^5 - 2982642484703489520084064*y^6 + 476197729395824935891282*x^4 + 1850003538678786657657456*x^3*y - 861756868723874605906006*x^2*y^2 + 1328290412641467896291664*x*y^3 + 466653249763538900703730*y^4 - 37550891878150349195068*x^2 - 32144769403583975845728*x*y - 33575411625230211328108*y^2 + 864999024811562109121\n", - "fy = derivative(f,y)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "632559895040048450895748090921641756886470228306004817227440309623067873398228088069018040251313080535541450992745300209771913835521779702851008199977671534167020726336028849097062217287114441992687321230930303095905972747640853160351660208664959050500217080574852996961414727994443272751786036434872954875250716232070420773759333628797461020047048235438883314149281419343763992629189899241992642798646724391513499355847851338387200722573897704432812196619126617722623406622592983236145079741904401558388992742690851903641091398722543025648433824160021835136234674310742569983816952022083521533801084276938125707406682530227862453357465307279164636566301531780944075120368014853781399659352324804488911308378478698006412255396289309228753762567885043144255897027389133906655733401960480165347379506923302457102765690367959194389553475275566215856622522401289230737466554330152659753698941296424927480901117973044723248858530377801520232634035287951690170368//444254602912010649973439519576625850587386574321*x^240 - 27280401809043582954539709800229226941922256980762099535036499469356024225192847844918313932768028629251329437519101996993970341851293586870895549640347066844386299636910638649798335456186372490446008392012158871353916959299022590903163552882931093272444691187445341146648517946361167018968136826774772113962849465879790102455251348737056479322221709995316094078136416250360990523364461729461850028858705264806880923150961924124407046423932721077201463196081164343322738702781866248034507095968507453401568130160667467602453149314651008726972613943280037431840411263647639241806686969966910099416809803044475402362256227285290811958827145608766272617475011223862153240270515220786858552113698761257356726448825101429564119037578085319198826291782685401319262165064153604466681776942253520673005988389961671405814531881624435876753933251290637808429188046672563460115471178341729235324494283405530920355753033727568907783250422603641548562131288533980151808//1065358759980840887226473668049462471432581713*x^238 + 232781727688990465067222477489171853922170824222830873466758849005239573328709048867518094392804620531802515089304440789999706741203247359411010880719507536004782263325736137280512250590150966116095228081518608802857473947793747485046412665305104447231081157234793691795701848519131673943242523376269499607036769689817868950339864725301942561716706029279975016955889239618870902178157502712755493624125552228706266863442546954850305100467544450803962403261330733415929264661647189816796642033870045716452603276388132054172372105288655556215235864970809421544949965692582195225570574030007138579183752943602616698304283826540504098824790923002425697513101027975260447409809278811131493861078180430317826111038091879066104658578924134511286571046125616886493327306941169067384123338683452219957273712037287725185724815721416507176740389822525808772782494712089600290416123142198812054291146550417774558245587602317169015805421208868749622046871915591312080896//1065358759980840887226473668049462471432581713*x^236 - 3758993000530458366765783957549506760745136386051307348223748071338079611519127833065727474232131961604905229730088398321096278643810703031546911822437302797290870515827568238502269438735671637860549547056291963549031502903648860512060571645648391847249282450865621347569772853808002385065904975114974106958017810622815466202861742541770520592039020449982332544000378957605376424232115993284905966960931388494359223272359699599586557271244614550943856875536929666579766156830934621987749131372576628461470049536615998018330559825577818241755479281216933480857832889657504047559532568866747570109657483082924662568761928243203138043306775861981445171077883775312013987529936871136107637759366662494998169934776550526289902374128653805617083904332525559176539890824830363950838373588061146501921420924637120738634246048219685714450763752353107793036981174516957120448600313786288442925101120848949624988880672895546599018327081353293832012977515363617174716416//3196076279942522661679421004148387414297745139*x^234 + 4771915693316543740571196248631900594483544813493831048812641803482820007024309998671787984013026390019340909507826646499010064123518553972016039376902148883858920728480387862157577188387755145700059701097054462199502159247780885281061225852076092318144917949467124960335562499169718507347189770901845070930440230998681392837399109957098872410833826487341886001590328585280959929530300664435506615694598783095701716331351995800093499285424575162297655852752460937072657600772799901623280762443506618210546484932505294635912707762891945132135352254016297786812089874109894636593069454867437669438653621378878862029770521885421900673525480790277466451720530758288277756432852213403144577285463630174790118910523958522791976643007937037141664054248357468263920162427765318062774207548022124042731670616913209229008641982920513887512242421254129327412379151669156391430900045820818453330830932113863371658984512190838364938549443080223810821927975065750912106496//1065358759980840887226473668049462471432581713*x^232 - 13682036482554749265145723386771800329387662572923750789904285851920874034273938817291495491564239039225113220409684323385774079828867957609528367938822748666211370565995146549079761408968229266344379248810656319713124053106189958829229992135681600488773149230893393585438923357597818076112345322922865367070334614987176300512622691086968652703633940163596119874185617694821958234955936716253892605501555970244382235116476574909250726254448165984547970783827294930588248005759984716993957628399314125113195577576292938187808330846373504159151675510053053073286547579664013470932376927874331838761277481247511260684836446661370527485921433963029106116150329280318677945973025777168309484994612478707832305931526393019563231652745262660798101625828850684626177434920761145452105664133512030575023696245526755323316183229644820489392563772783891954975450604956585203163065327207878980495650893926947277847620131309257461921821677872272797264128523690164107608064//1065358759980840887226473668049462471432581713*x^230 + 92107816235732629800007737485685874417916238981313133441055675759833039191322987802008601314928375044643397070120315430374264951056542750305480832372222827790485970300255920879563937562039745470462727152481590015608682256847002469815890056980255654308979571605728087610134928592113013326122215088757957755780230529115861561238343503732048205744795676281819243547838674380069471673320643806274023347379257476814343909721913154656131271114373129084821316851100658540653077289170206630953530787579317589285411538226794222963632049200222953056804899453930859045368689816271692283282969703081571260241810063816469484239233505503187605837934157030267867096963064245653297572426852631562491677751498503881737191549649773279496810476672359936182933230001237889136160777674763488925363800603573929532683109084951329329146404489554481614600017545035315216383598257380352132471619371501275636918523889851315610374707177297402690000148565485153748847651952689044474822656//3196076279942522661679421004148387414297745139*x^228 - 18451520014489241763171295982448891633568136607154996042957721009014960442727157244812911732402106154875282349513394678277539152017938317576351806986771034761470501730054158325052626889704217243854854991774763104666949677457024020579818533506631082959375019135721142628973423309879160433188933218628148004477863022645325783890806087666424072938204981024126093596401852590365465936318511825038723709200038107947984228346371642437672317697752458231233024900032734027695364845882631691204334443935479367482428893319671696879047473319174454378882005089947400699071283800886493201366394346670327100271515400182670896322959794234545978023886030631777287628426393092999773983174344491649986601834686979655514157845958551661481838700416514771216385839875317894711644363558631367183422384014179475698419115932023215769701045761173994565597369125628305363161128062194007273698172586070344376023286355570529782111570409923541940048371178585229148327442529560829393633280//355119586660280295742157889349820823810860571*x^226 + 195875409639277475135878422873932887276940157067842794535045789482255317814541068243268852562904654661562683393656474512670571491230018579429132046330985380455574318624830855512983051243941562319019481229619119569601974893474228069246236213495889623866664269360418546718467040338778378532196790849225909271658222711141671541762445604877897421495174681741783614196126394846147410740294784924019248440172585884303789384169532716505142468779535502004741301571931008356876028998891883917130920952844232965994102638729953373698219686866470362634789851600525638209803444884201362881191883067246882038096070233279541303654628388570488111254412648877227357918629920335188180027940489296458234803148814508037868392876536599537279450450370742076375893993575859181537993432207636747067499743590705701821045323370728267430219348301017470389608998547851553643424876318723137541735510071777165412946076862403647109020941623487667850157540854923678819008072162121411985408//2554817170217843854260128700358423192883889*x^224 - 2157524506983485030528118190200187767411870950862002482709589848344336495785806992534837409401888049290128101011964560571763010747225146587967342458196473325776253212994580323137047262627408862148115740514865835819013389899113181380944717140140719748057885234108111993037781377748923975117068755931837159406777432138923093004397581528566209118137470734596605552343092791350284459660286371710141469426306308048841919065536259773689675932772969270070371901086741937471771631298669191762433167958512491248922656026122548378067443502527021439560167199776289203005143746606565181632515793135939812013522856789455924933548418030488266960633576432389537168423718195139767332649124068348303784010929634256982456949255474014279723089570991268093324942164491467238392196389672935634920774026679386430929366886317186742230306778511578011216550321728419217138975764954863146466843136861244483917321613709652724488051302546792826885076130338779401324154403261642929340416//22993354531960594688341158303225808735955001*x^222 + 737151319801538188516360212897514327555317788579351774699676051131879766642292937207027062777529116728516977721576392099809455206615028250903540669917615970196733972408666217945833038995219054871175597436342136393522530097750345633422486250793295190066307015111671391580084664464568564838385053356149936393549660580547366706072312578315652908872870441033553623112750233395927312263393693252785724689268673508345410258375681789941925709468548086578628159377526726153578433087509474337358525696366042956147173542369263306543113045414883215326108215652853949845685531664726859862582943945707485266816813690175920298875923615295508002739517404679284984875166124594705067362372909034709629234844838833966763931485319379992528902127636811134073511130495685283622223256693004902270587047997984719695434747457597639795887128502099543331207747773972767873248577544017123553790475725636395612053991804566974300568603619086402047515944399306668104236768366728992260096//7664451510653531562780386101075269578651667*x^220 - 637396936296134275850042228616397336824475458389674518166539059010100404309978927760380834284331790892251875249605567166192041077389701439053791758805400433479304782398186015675112556432212578027148444500265099607422397175715040758669395464476280640809224390372703788300995007849293894025156224621185075041083556782372808450847514324998213985988096015737079999051135313697500951410768565508504579328151468700882950857604611887882365227035741958893064201217428964926745543819711064075726603892201719987571881204786553343096995483193366884369626596366221775787306143396988105559006867594322727498099483917825613087093161437893999958966418817937503070359158538294259689888476558262575213963601444887528655234285435544435447238754515632798754271538616865643990477145050779880495730679162380320348672657916283570780176899488660918702200280248147156724590045307334518606774654723382155998410201844321819873147527812672060376408978065018161108620271374329740001280//7664451510653531562780386101075269578651667*x^218 + 1402969738815753891312977371177508735885912189894563416151516330423347897973211613492249483909206521268728341544722754340923125087510219804800485945066456345056950895009518632621519595922477669068387725441669050641200463218713353364108518787216215513750967154687335953174681104301555598608590456174204641111893172020691674028271745101051440883078903114247578597005973649590657795611939709660186757378597111218894893783457387978556365800690799615416898377198555140541536774605036108905340855031982443602927879717527871403630382647736883681621910945878986309633475144855519470913278531974754654893658314851934115205249416728123842755269312551129302450756686727609562829057939371526937217234615271977689813940958549161261073727704815574184112735510159375680689523018756634536863122089680836016063572309193780447479366318992270937544189116617818546247227378248235746997340844797879249359739650583938848303272032693451042827783393785203383427396902331975504756736//22993354531960594688341158303225808735955001*x^216 - 292828972455305209998818872309471508538419396825037092123609691537566093250436514765987006542063442614206291507376660689033253403614643627040570937834174266662799339687615051761337095437300930564785295145790421939733468875975798321160174471645023816953581954343056931382189521413733255151288697017552613302353437039244073825419772902081007200866566914591322935285940270396402026986970455278390477884878447145701137754163059864105038935521431277759363203778218904573776112772417252561631099606465248526127773804052717724032205282361226005106793841420188537472327271718366528482645609976327408322373768628406300464750253179903073973582145789140929581097587070858145820671912659666215731313721931968180345601173223574666057847349680396771850464009255734865538540315127819565985291852093778480359914485432580110204956621271261294149769989278729390626970827164448643295605241232619263197704149953940832713366245311746796204193156536977414586627540511891702939648//7664451510653531562780386101075269578651667*x^214 + 157686420121134235108388815074478940272770749033150166015931256242799424163678562335270024541154513070355400775052983703498686280723906252230135117178888904922368032757109098094682251809625447315818406982584777736579473477585104691032893340908670996925527613835431449325805623383161583338612419339812133689026731856063751139857805796817288716967633903293968690286587976144110863908896587940311093085109466741880342967926340080059701767564837793733260048195655376175981678772029871391163815622418793987844638022623272916283880206582038466234186006406743949418883536785668399450866123201738322549120388020553820620465899771075947927591473409220975324665846370463923042359740292798244757599848742922542726065470135910685272533816118890400400102693316863780097662828037246614001478705543983641948618328165595050639780174936656591582533145915896757288728124438641543661516062381699340969596625945863683135025661151516043059982744446155685239536542482934947381248//7664451510653531562780386101075269578651667*x^212 - 221743193919270938889586725549866081793965729742812327642276245369795872584416391317997122799132496299038387933596316115052604101137394829388256499083465457792789260964392761640247419178432257299424729525130401654538158098532078237729096697602305635930843911605899269572893884427752534401778258774693445419441262112876162917575632058612238389343435862384524668474424418417144348017078556625064495356925202187569591709603032083096462249443602183196034849113853666634645882987951841731926175827596555952117008499879779532842231768609735641106931142493918745595093468371621077721466363261727726003143044902620009978547449287333027096191870427758172580995293650527655814529093134693464273350762799174476928501538864801236923943866652245031072563680822903938285728391672740321540680404748384162980460304280556400091488984581735138479208018126548969457646114367330337802668984600819530831735901791004045009073034443462622131241974419518631752992119760599100948480//22993354531960594688341158303225808735955001*x^210 + 24556713573473514644921871074142903562375641191750023441023615257165070203149012201233461605257780773206115974320971573594388367132249147268534353946986733002367540061060696760732065567026745809658570246434879824928416864571969032155332541949744709591851722861743060222396550257566530538441327957352311863310669935423447824535312349353454684814296296435283897278003525331041259706246700790483254327666743724004976457795677843063912932745538848393723216893407813049572980612976704179474551931871551080158545272261883291264013488737406279258923138258531288443568709743646535646372297823781556640272606523383508839936525340021222909525226526532708844872261474180779183718644511400295059259146806947740176082736479125282540059748716601853070311009313802368235267795401627391449789703735710286106305886869551867526380992067247246994549940776753456832333185591414037500993463001394837607920440007212008103156323263240932851891351110916364277285135971690479616//6126659880618330585755704317406290630417*x^208 - 9244905953993718435755460876212890903093345076161610921685784783069912603332142904825685095553070875736494297405081460324762046232251629147583839858395426372244056801122847645725184693660496928010094523498766151683848145311177160260846175020137433702234480249725341389428749997469785517381983751443860810844506727658127745018534784560363658323964041994334166193240004135699452488828735643775166507914792632409819684561606987266011473355137192274616694360563047506941948017796659334821058040852002924510740978311116875213362906044833051430403730224763129083199135192779827337181940091138671335547119066308859563025617345449480759054782695363438196741550333228989714497051374800898827806457892948040629611716518532970377089591929607805603130219733236527725667391079300456767937122549859403859540026208100576140133024557575912977275428405933630615081739278319025710777411977594867635256113177514282491413551993139076340932492913472571761399996182356295680//6126659880618330585755704317406290630417*x^206 + 1060787892152857476115046857928047656820363033387676898373423483850061544531886262862131882578719136486020967826575011314945505862422075540544788720571290215627081061998173966861354589668111135856025738733693833216913671816166090024669782174847339502063885136205118471452477254546501845487021642268161753854861208705440283239831795967138445960469448548376005905837569272694765213655723911500213610887747569325709253239167091399272554463884977430595341502642731132060025115293033844997447101274058461841248625243974412852455316989761119113258946172001098034270623385552941950709901278494049236422411442909174003163999178507030889808906999560763136533938305817753705386487475826222227549430418683737635108855796496050033687835542552548363330336295412192618164925080392224957585960328611972531439171817588540174992961382151642103311099738435690865767477916284810540024011903534837847310316348778558492157066652513616769906925009993669745998560346381484032//2042219960206110195251901439135430210139*x^204 - 976006515598873850701987406106764302485881428506485441339504943158735118379436084009482936256390480161802851392364926778366245197670065278745418826079763526178045039580116317943507625750009657944403744136097964524508034862435989117679765352896461345157818919087235920759370517193120739104988164180639520700252373154484120336008414563461663254587466602119790628512859148383476264932573421439346237881939924727070819471922856642257478307297769591314357280225307200870754908550312714806998460990170303518495682906109736764512278841518765720004012876725156798785121804407187444855099690075175255725664153954558767639078725880229563977859357588837411557479893432383321321462568339768235705759500468381834327496311073187377121506502385652742152183858097133271738513160946826580527990976645444854446272587853486878279411424234520205800973601083098012046104614486726897065045963605512267487543880688815920692710705331247764964808540205444595318643136346980352//6126659880618330585755704317406290630417*x^202 + 81897547200734986617961238452721410353565955106751721992638754769623624256529540996071640927821550243210890490480269620406188965427846852630229949464482305624718302833311152245704370129914729728664206500900430549542037046289014922543273839068408389218523461934450499777090634130804654783824797933267055480056168557898545072015862846763910837229623890433854410342776615579878869300503611486456645417374160558752601015740607912339433507148302183607594360844584928652604939574448845067959739929563770627792118685706530047269013449154952871439894101955952686485591976705407265492490329875763092235152439716438062625405551551166385639744517418692963382296351088826967854703597040607762560323218265771869144244019723981785139470121444943763076516674744523384882785916470143105794849242739517646250941718870002765014460929560766292224122988017936416835557738451847072844620535798648862805169513895853396408683207661967765635530955493695124168936527818129408//2042219960206110195251901439135430210139*x^200 - 4674623583193075037277278820391411270988098531531706945216484466308230094717818523402330319618361052931695171417528380316227642087602208707611931698581964448919288500925595382309316074521108271147453087282675026920091305472826490521807000596401418543863459400233750634809559825852002832049445106489555839686491202228521986374798484119053883996988952855891951337196622621273729563519729607720545901661103270895843707161563884410898350099296105214202676275848439596756214017749140525933577536109385265335433569465908297557071457752056305279130122827045579308043351607565711680561432593708132265597323256162240119397457714173685371778316491117057040600970275951626488379140405171954457923105207303739529902136928593090106718579501105740392547760199702556616789964126114249552489597114279821747486016685822989559288449180374550385810777928556875227531171340047585646124314689589067573828053375381094147078854416255642387590534199575089269405337694240768//680739986735370065083967146378476736713*x^198 + 2063569693401612766827045948100013523262195502581690822196828299156220878387054991738539021728209944490851027417999240863319098227676327587831073666447416099030464717357551243161717087698511632284627651759278990576370102744579683989234249783847718497951805264600996596565662117457997758741760891620982160623934007074145353954936935484409317512859047264929774168434812383593049566342929549907284125155655569453903606138545222413612616844420919357328868195008112324804646050364488907448449921356118729255068982820560822621336517302337362663815247416662416931582461999370537571073672440005701626940473858635387464669327081329613448197365257187307383887720016229551342619846793838547102160409551759426315906282217332173369401040401206088515907950469547002305860212847711159719234413625393495451851891562847338310314431584534885407948305725836923939026911557415620912850856415558821009549904880344221804592579776654306865546636138941231897392395143086080//6126659880618330585755704317406290630417*x^196 + 440051627646558741665231894389798328219722560064457713338871511164783623173311989359182503130574575712997127608989552699100000591704679084231339978987634219428156501986363990764913904481173993165419459319907209892680274678189478009548612758405800633146542612418481297598878777784317618853008318071030727307809907701489844182080096576461283577438785431348269013999764583639493202671192244750544635317716707230153348815068391434124459261658298314382816414254291029549546512117529937984131332035905713288957713275407176767420918559693086929596881162953916651320593531678581699220130580203825410488080447626309462611892469211847121287817020599473664625895340866285811271338662707177880985218122339086339721244707581782437947527202344159737151072670201643992024151261470600813311403661139961263442266005167839484209672443654138705423036781926828636238247956800936471041424490498262735660815047228150393033432732530161784133543453414493947736105156608//4897409976513453705640051412794796667*x^194 + 1123977333180560158339759205364497672273570619084199584779265344593633511376378782595564235115785145239624522949815359753691645927026562618130769334323625319159689847943302403441789336519277180203161974944078464912691886778792266248376435936496547895276664857702199806326336938429346493514657597192747482285319320832219060474589323915855353192061196188185862337867180044160863381549588597446612219651749699890851580417060576939025751503113187324236252285484099836526320134617420153682594824092365742459584522280461302379605802292006052760682188000169817423785853828545039015983312252765189855521522204137505292915243837613370555198760810237620576524181418777154192999339705970035241683618784220977391026965020881677295308959993595199041862139208493418817013877074503346798614636389403013474775469727109380105494579467499621052612702078943818168915701123886967358701403578250355808275687707137146614638929813299424433279431290985279949067574575104//14692229929540361116920154238384390001*x^192 - 42693918493639745407656687509375827088113446031840854373047788608488030202444095399053803600070637931997000159216893461393270911539465983260341813090299142731760509907173385037962057039786481340355615429622561551761503272651955925834809114852424621274416722895773256495589098850402611569838819283663452933944424081810264868088010828406690796745684985909421508473716087747333544858635413136852919264371473084979148894586262009705329709413713858338557440012096353058731432724826690745100662122378925087221941540111455094511048243489756915206215328787650360721437504479696112250534519757534513751690474856590096973571610478559290006055320007392845877677738614301583535319039854008470644872554825407901628529382323259482732225127934043577927635419386601843620204705407790123852521504623427493218675754065418964956890139610960036215263196383907700619557578675409912093870283833739640760510502989893703691686551944275262990671532715158664661048492032//544156664057050411737783490310532963*x^190 + 472979646461245649581648713282155790465597450983008342450482034752878355382301690884784062969659724120167224666094255693277023506558788098895475012246054735299943365262463657366091603884447759023161536156727532710617140346962108952524128705423458531309131010693269738724791435509209854719931290535881027891023430070334114727538029479909590830786561740061139399902518614732202735343076234512260948966422009423626423116632876104645834005846100148089094700796234881010446864620171986563367898667749813260373613492468565205346462743297988516442040620246119135662430835393978252982741010163535653320719766595743899133002447410139877279530947737913777205521972142705908538627744733092620513681354427190944622191657180142729375754930235550216245847367636771875032967217063646024127719902201472144583371761891745247579273858261820504468560163780832526764875998232533488731187258912091040603890083780304773785295821048635356247850058775345119624880455680//14692229929540361116920154238384390001*x^188 - 107344385913779489851775186287973499273511829604762589690255430986183211656410004458001920144479311412458170452683527212908475494545389786842615891596962275198817925376994256036365960643063788928368899706858702073101239674839626286115155721663199545087634351577125080401641008203159707331853363545299124697697191863274060904474497023488797990963896298105022635236014076353294251614514034823648917468398423304263471770740593939388626836595240889487685226711393221673988761436255967480651080173619802559836290368284666583767846729516174729968588516320750499550650437280856988557252281212645560789066164730170181593531709074226864655467430147939443237058285259136242469953056677015812744255143741129023040466004946422760693755056956530308056246493468303521424397960688258902670975649152325671223087515960145997416598068946050370836071633216895895363214273600431294567168386731953750830537907495175790044535878883455914885225211538086932494682161152//14692229929540361116920154238384390001*x^186 + 67146474339709181016330465592396928976925426482611734497257286767677557051137744030860351590662150450834953996360037288752590564223519894125563080975455152392503400347431751222873869257893852541504787407957609813432818106326634778070757744011354573660641913356340918853693110205315469006949992363221094178935191248152265203237249885939983011926515071773070297527473893317569922751201211181698429661485167039117495048652633210417619385136965874852611305125349637032316433450937587031696511071349201506550266019656629825187338676749699618659339924536605300940791617570419676371552588751677368041934950615987486850408137047315250992504130291109256793542371736095210341990642096811629784516219441097056679465156027769872788573624634966422184416116344597068764115461137660409223543080820635805740927585851955744842711380999431626335583368733004069634603946824555346335102337244769679919758860346779736871579886276655184672001119810515064655446016//105699495895973820985037080851686259*x^184 + 678617155330273402465464453805030362247999683833754382933828186661835254490177255446270983933039165038703939389969651928132301657193290573868568929935774840671618539529831250113902589079683422955975822724367154331518996903677688348548819798238835083855978050630226802267003030874730720965344828445387544252001118690835563221945826970799238130592586508857763508210781631211826041651295148028970089217134694879614166306918937063654129575160367983996595889196200103294965531566155197703542601707726714713893084696092754987833384555752876907728153430066061226306659370866400836754954143388134320997796167661759370670576604901468950711239765941826201213314748514270767314750241321375320433086261179219282871149662439316935098739717136446401006523116129193735788351755131493850537587646716171997801522630951284711183529260458016390562276460260026909439074110764831538199346958706220226692385076886747907496761301659711115463973854004193366812655616//4897409976513453705640051412794796667*x^182 - 192905313129447033982369591679622242377606096450442440901013040432043791935382430524950426425817512750844593244101742283629910253634380003822124515709775513453336232010708920355795799105248624233712075867283272076838867644935472071720352843777751764718215589778825913144098883711714923618901767568336204217847258272846493027959060800336600861242396715489678119089211135866845421352452172487394315555690165509978678294877847465193892957554950725193830261769229270451745514464681165045644327726555514087030020293629857870872072927440011673042414328490448828786575578252489236075786292481357118074136966460514040514132236461412357933772092848013767347955553055913390299042591692266248417844496168530037535832422925552898254471311916940476327225402617525354222719220935564010407885312942866060327918949422547104964508718452480393146058260338461971290909935466861059112433760747855861749837635677971766413798637592211601094366896376660872249999360//4897409976513453705640051412794796667*x^180 - 3392777261346132047976394974053941082694428592900275255515664515768621920688970479838596410560533495326073036102172325614551229078274749854680192571561260076201431209128979481351565659939632367381276378126681165141585513108894315220549146431054003800324343599662664709223463157234425352677206120387318254336753555916634415338479581639745156667408882506198852540979710628133179150273809330963860132091353032766781804700506419397116110390425388477070542442898306523291947355837413514418965172692435224893684372236257549041103482981650880255300117974559454015048364906410952667470822603018878091867273217738188501677317141728396254044469029896603162729599005519147534450979830120038163285931348488533065019411044594965717432535802574540404016144280985255023971205694766941279590098956007321408025485312010967011819883936433157632418914672898728966813967546135884402253169587611959984497213048669333924428047004941577550195441057353653288960//434977349366147411461057945891713*x^178 + 28787979009750079857457268283990522007721292032239826019559595407711394952207263554364123453848928112686810551444424835607750303864128750908515547934814103714900930730026178875869204569251191390816567867678596407385976338254784749887017353283380830553103768247824919421588554472399166869305575256971829586833313943391922073174383796187571174220162964610345901434264641725576640043472318744454822981407405545220394555208883047363941537489620774248454418892317346844241829043317099859096066973406975627810979252638240291228885392785009803597879130312956659081294732914735552565931315185301236877596827302477176605919274658579127873051526250568723465889804028915828429542362520293356090300077665744312646401001898506362648829132681816023998855976880933928535202671972119579798156918574678478621091730949475429663236232304746107769526421125504974681260267257942679226184926770126913916767127868042355669507550650222228392787029375447856054272//3914796144295326703149521513025417*x^176 - 9668743737618829186009837611081554618588744531817036253555550289225299352071832284532824646364293697069331050462272172181330722971494361906639228827390089683747357082987165098002770960835567243054332249836042418102656413943022684618970297515994231224509406841786832592890455216721423344980617614937680268882527799781077496067014192087139915057484796851962319721232210422301101789558499702774160551460081055123661790935900941185779387241341415231412360611122689836473831390045055756895834040456897756775861104839267702457022334107940719335339272894046920357768914988095399907735778152768577978993642629170041470783246834236598391748963634314831748485355828386062180246234725635825966048126630434365050734453772119204307341962158787511694583267536741367456567217878121286665119583040176842984371694043247056142817592782472336896545625427044026975574592478262410227883373489777651540073760783945422581437796111208274171893351432335252258816//3914796144295326703149521513025417*x^174 + 236395797049204515055762235846439189226502490612619737274830244835363081558074296455334682349435975981191137907360565810928160313132044559530376398586109630269737834761924168267045322663014169290267563570600174741907364831706524833503316967004851413030819666562914843027958444783090411232013794356452706561566464259559197251680740980692190225453739418701884539171950290421033616257735606019024761381910781313971654792594978234799345863262001480352314338379271501207299257514683193161679403685694387599047728259442232484323313705139547803130102844382901069860537977042515322888754675066624265641883605162195647573815985478192681161660263290282396521509500519741858242302743141739068696000676349478466359090257716666893143366168455348175390740158526722154279606554901266279785631925891360635406738655442781963712185667438744613443281290178542678230962665326154604834610935342409021290149625232685838348351605330935696158743791785176203264//434977349366147411461057945891713*x^172 - 342933695806208684814737224561799430591229511955157650660819031380244329553179626008706335465520362126502140608229190557345616473132026588046917894278951318696541444884962234919805424407017941718097071685679196782825321842257885064210587660399278016703895834990680275137621200601511399531971468337697450817310572781872954266591364465177551255229636542493853404073440123913369243480728613033017965842881158644496290274231524364595011523630265981371472897819037907279953998274337185070374857533455566021912706960799059559633532284433632763771750964748692651007609792338993510069407371079761403018290255987455203085806133800434625742911405762747636257533130520947083268720250072842820515095986344574404991757218025377552056315621019094498609473743067095869359996964887831128850236540443273962570225589608882773811693921457985308848400158507299593978013357984638143945487467826989501058471573922930125688291426433650868447641177303143153664//3914796144295326703149521513025417*x^170 + 13789577611957901133347570781359247335059728524925474893923742234425649002383835108450951766871458649083253180664978474526148144629641528547488595437121173482105869919449021852952026026967564825536055739651664668539544529909315746382271025130211238545059408852676581553118780779023161683486880227031505997800568077186570920078913126915853980735296198985580850896529954830204724796855216105559080777048542537431558002020993200041228607465437021126144335271706428203043383561685834169735736763869105884254084939485772219512581860702254670238918853022416927250733391550867780987361549936363161816979899401160178358193379564621577133781105731196953403138208058808163222775390108342467206884913709147072386573959339748897592202396928918893443692412142691680335019949819283955748427513145603965428809940037700903135948242706413949743053669645745358356866883659169958135393350708911862329013123471631654521189058684666666361236534563017064448//1304932048098442234383173837675139*x^168 - 43591075490245781470880842696937710119358118076277735820769824536022657907471008675063934640623389007935331528608130931829451899887041012696320179028471464910775913786591805224600860045428400889175301288299195708555117382290644069448946648120460440514641717279617617547234420412989907171756190023077946876660873699372165086050780382943005314794440889184631288893983831281848588218416789710452258489163639694868780110569230483896033898955850714868707479651116456979538088713598901035380681130968289281467012960929283654075120862600942957956543098048926072433335745490100737323271566856973549602857876679079562446807101536652963002582415405389035374396013505128832051403401663390762356606678856306506321593616891656423452988584638001679258334766686368504210355229064010485585984585358071141130514643732817778706687081233277585312487407373432534031234037459047434767843354820676551275487214494495397444198508821883132612820603682947072//48330816596238601273450882876857*x^166 + 121415762809963544638358643917928220322957232859259751723671010189661452864122273352679275531718220037255510476915626664463286688750867365056919177222408799061368692583570032541731076857709991951709751361361484709315354419964960570384791350200375852402658753395808929829636354668996955698737788925387246004117050667271765871717408475452173493834916086565091919462090171999049828739688232752970829055712920647444382744507491188354712345259202571128716242400617547405757452248567536405388352280098838710645465122182545197624866411705182164901030772026280822102575672127156340755025289385941877037547568122495324024197226760830666932411250582507054894190615155461079630203937606212135326504236952938760300311974372154530950180492753355650615682942448094291046820340493726332397727314689157182914991524065271987414161746012910940577742242669876630225010513664744799871639133111405908507320442073070324445973045734057721435410965463040//3129333448677319506914085941667*x^164 + 20415845205180239100000312400362906420404232448011917756248104040522259063908077672738934824515590823258891901448073520726658667164929518552754320115359634418608015411977529545622895881727287912631808015020237175768580647549840973561574062673405227674517899737795136381755602478708966575545348646069943580340389244433928053113326941517284056895747407270672366615801430996079466750087268763852642335583525954567067899131087963090028126956440901447438914849480128729123076743155756774086657118357484435451395545796207919155589705050712896844053672569786599837132273041556006354936801117912944931088918968743287016595810903112638820698008066321659891121031205989116147611270797215059525225054623546814349063027152607017600934101560725855735612699099616659957837326121478047169382879270207722722773710067042082306460291049203045194168270638475420948056431368411178724916919209971858735119040901742363733345335812347879721505573044224//9388000346031958520742257825001*x^162 - 1111824196789961346781362803557615078200618156377088563151427663195112729913743412504056072322512408515626720094095155109446834462083716462766188884330998083772922504307920638271246484639102127345159094839201600081222014753133907783420061225432018741647334957363155923874019989522433501510426900346795424529839247736470928075339418044980417710057812584845438796141579769200203752824505268273292075340533522438039383778298843376680777362175332282018215614803194863842155028742407546653656735505503160161749556625616235091034770883502902691255279540087346653323963979961395228364211310206771905728738232265229098798120646602542174698452304309967070240058884521541185564126234778532889130454650276517154078862898322851269267485600291129932112307024430640309925021203699798831456862369787851852348058432896795736798121974493894079022296476654049016511345217361144060671153142219907153986539602833755146548240434545541094716668379136//3129333448677319506914085941667*x^160 - 451823983571337459424044959719669966894648358167009453453031604184650843775902995512534719091880244117938005402227158397991069378926034846361121656957214506511219315213922626774429002831454865263255764706907827041081543156295158953393241310403597290667870964719181811631362250150286293770507684060645776121352797248533740254031553992283333485015849291711177920591560628317632130541313218897695348595842232254841867227767327751324378687935543790735952635211017552253454935945106372285225275224620837852352862280586026087685356495100380656908989526037578890363753532635061031634452374330559066360509179838510849499410942441290577445478026364076072388566498941115033864566614781048831034493267533853486727657747148313714318468361181751433165777935760040684502129381531004606964540399933556281534530157873734049844659767146825657777343187571473717998288385133530416282693529130471553456969636547004271646682116681896958894494711808//9388000346031958520742257825001*x^158 + 21785449133648072688654359754936587160741158756025149244945890601978395662674584475335377275015538858170773076496091077645229703406692038761936929400270222053128123967296327143197963605594790582853229328465374360360914029432262744612943088130454168539334554032540090116763675642749856324755521730701338831745102139086391044970296201594443134394147516076962441811393607565764527718669264375321596271585593280335170783847387166655246890638425278452107056829855086576237473813745862877253834159403141836606452952605909978489131344521853700195600772993982206220454121030634072696258558991513434993926449102019521821464867314366517610179296354329368279077122579484686197643852261284467757552074709460611862254335369431221126733519640985969307477905770715026469032213482147363953412756174776636959605993468270811826506072501314849355216737520846791685701529727355089347806511573150203407468671499009969558411084778929854916969103360//1043111149559106502304695313889*x^156 - 31408740809109379477927242200508627325607521391969087945050612276111259327715097133075846198586385290820332267894578422084064325831129975449119087751025643111297052881876585211776376183168616063598950883539762863694971358275572043356498200102361032049554464802701192623627294341252141369200628388826673030030062205168917345522437811172256693477291656470223986045642751047652915396265454623088256228658278701138149807481908437347937305754627107407301114559585845438929368102373224208955595515204832214388647008432289978799246885174952949254153738596165610881311620206951589049406905297750332587875461497375316074718680950924539452668014893283275862612373968305960719662813034591109060327671624178094834542355589459615548117901912493736376077094149662374242458738424835256661786338504969947800292939901079103032548497334353663685649563628959419175644107879275764294433256087783087804358260563936656182390509566302488894728306688//9388000346031958520742257825001*x^154 + 989897437017082465142326105017260134474661831337393168570274094887716908645976871965304438229632214836133535495454028700015939272788672164507936553863581336460624462992007145513779538850232685266159017721552040044333838762414788264136269209844574091073197176679836936992945394874255057015019702045951162781772287191415882345368701605738901168664773057101458205530112617605660337337181612165990542141059385746615234794474824565464954449306260564721382892450648043708206407017692761253560343317016670046239435195845075014585410718360767968528616722970535268695040940328513759420418151062529575469560230523711878320214699485204822049885097275903429008114576358388787623373939408053034654288264386456361023911053162826573500639517132826223177424671483914717669777301668768562911100474348053493559900393255782487537719925239698263185898615692375479264264598862136321495953904610485788657001699654530008374267812763762579166199808//3129333448677319506914085941667*x^152 - 53343806760014081803860380337337858717408310894083843050326522912538476994585349864472264061600638072078813603290599349872320061076368086600835349174983897184207667690359620295496362824271291233465489583668181830832829877074282271229959842660795523963189969026159387582750561138411509663133318602885675718706726075761927240868607553299066798057567794968653311372491948298249967062225309373605889959125461119649040737867676016272912413469591193569867320000929291380085074122949826340641109854684041082140918489060285709368411504031629275310765477422288032534155172433924948268866574887701772296810592990408292784677821218631421486139825226347417700435657522621360809546355237064585408953933289687985578178387941882536432271830696533788905245286054611723485280985680157507499460125200759042338435382701483728953716117795422746026067624635056662674093518341549037859942019326490134559141329013632057990040927260806519499784192//3129333448677319506914085941667*x^150 + 516646319892200457303849547939540600525032395800312254191975072498284683654577772329025743427936877811771254285632958501112703848052829874951044399176912130646944897472479976296159368001040347610115771403394672819489639400208143832606889747683123733979262295508657350390145724164779298319303289800936862175223149772130227406955104797814667067804856052571392342927136137738558047157641426093978243160336232490487991442014778264205710206022953439896006858782228475822085763362726617614917624231945695363086660499494437659109091989251700192746020378834073500395194839074636604111438977534680157779071531348644843836564732557947177081104951284149814176738070991317888521228889167688636248950189439663223197461181072311599996613429189881506612149740767607230593697719494677133434397709323175709701289157594421581379143566732358831186321263479064791394274656844923825422214765084681221363709795780110468347834485054317264896//2501465586472677463560420417*x^148 + 34930768256671184564192974883284174859268370565019107306646615758097430308621028886318482451612926248998924632907562278355143197213617363259497525475311001844976634003120260084410756057723158730867709584111262454434047103391009833640540880357083652825655714963389382835298787576549056536252380921085310943702711370325951972437617032998344313374329880934419674376766196692423716281498550607523193857966714638260393765501217058630589491765706549156955884413067807208299390131657656065967534087417431239364305800967199751347463687978587179226253646980345673073234083613145139752878812971420175599550892255829136476984593824271156000174361129959739162109195420454173784650604454013056266173780424719350656111340793142636782152290054914459041360451767863874319122133167243126440210150164721433753308310327113445267575151219535961115126035991304383462028743615213538834712691578343728692001241177180714674617428695215767552//833821862157559154520140139*x^146 - 868188481765807116869109210267437045473301569505200516091793496691577516730115578854163216880065034955155018314218392142503480972525111489398915864225124420101667998526961258905185439159657088416285332055681854621099013813961753469484437016634961593002210636253289638332964605583347496455675469523274976133389124593551441205197536135522914227466631159128967875136614533842534516508758334811666532964615518318114331001049307257999235372299079945639681293596243445515675447069897756865774392053504614432346440251078141689683694615337384390478383306858322470962280776477624286992890066683988638783177206993864138924418479692892865388208131817706236003546729646824900225244421481173591391099546437930971090535285638608665920297502968023336404510803461024549045582646713248693154639421538555828515505921297811824804052763792364004277300548188667205270096541740627686716567660239721317150637003882620112503384696676155392//277940620719186384840046713*x^144 + 53299001843892340717389639907702930740027026150750173592558292156524970325568416547279092171818268558868985815037385815631346192602716687678338652598222319502702849218218850204179076120236119473818787701066168330035653841453272506661332372696997438186162081281166156519079250592422157319780038157483337231892076576654376769370041859536599570912461863645056430477675007821185183155639281555403303261852518542908314351418063378425506858764821225809393553206208614348260344412750669530422148158421309888990047732785269321769306180222092405697608874876291806663081435807256838777425779347659870510476788520983799971387478970602850341728349147785648259006818144772369464935206238781944529725201310788900513648045130656194174246268369328818778415200637115309599387723100423755548267952891614275013468132850758779126652666780720078423357441250773224887341006657704729069014777282506497957764445381813234832972778188046336//833821862157559154520140139*x^142 + 2712059954210280488431337377260144623175182410154536623068139284543844842932048474335380975647208672156011662361945264436244202533384270170638406790536135930950569867746231105872868914136745918804608695376627174265866412917282224269552448105865000361468197541223648768056760016230904888873678610534421351111766694418893123061284189309163755285165678466766761805128586760650701087584648130161627775347530138337327607724397145279620640404055191035552311868290017433080474259072008743985761155040897274961559339852996866556308718779770610777146440795955191735951960220433168738799147365818716598869700941589799873932187133435597673668964009391599005595108271875437281511408244688299228431861872321972636497685127928547997037630314583442688335367991807421666531991103822813913584688489762192653504029586811695087317247893233248213263069790651827055885550461881876020391326767228045577116812593994173579133856853786624//833821862157559154520140139*x^140 - 186786268128273122657874794230077092014202325322049184592507458800035930663100780532622655491854321502311030561897837415809433663377758254338350415457166418438413523671795364322098727963796432199875676828625334774364988008992042309655058827180520475806952193171051943940904093656800327253247133875060433689061545948621035509003484903893173275828712697280870333614288291478138730663458059398763814867215167484619711034579604050439566700843976687284351316528629619783233569175319971272463033613807860024452098357735777881276288774002335935394349867892222879161236660015441294005578681812852828730534790054542078791170012067086618201608511622821244524228332364608711069826443243685051721944579110132582817815697054162400118138541723566517662414565581508846887026216811367656697305623756250296427869588366231898070858655432638288843753920603187070020479037318267003879902684640553009091151575604166870896565867773952//833821862157559154520140139*x^138 + 2106836211264021589002226134801465392029573079686001432114554557280445526549554661221413569880262157750589062211903817399241204027222473810651163624910941335879298515311944344948448995800712925597975163908971034415184445675121166784787925077477934881887319833371195042327555254178057157428266678221917824127715698485097348902492077317880449637053144454675356348866787102497583115600497178179842999976877072914226437313539992079085559488833015785392498679177555765195680666296569967494522598666867484546259005007812191345979736496520964509118645398685495451082414157523328717480765809272711933294086709123529817839644695811742927004460365626415043951887184844956549008292198429089611666587500363400416484385796129218091401187807374790579720373930852858225421447324923721114681170373954790134535382622503454824777349518611758798480614922353384618036901230467908055853037168975744333100209847395411811775824265216//833821862157559154520140139*x^136 + 395355045081825440938613488878167970878144974406511620485199453147724777998112072500440636303620281771232430359469163954411660147181436551850708209598946442165489257055436703188294326104944067934939933861288610730868798529392180661755319373287611307963814038312197035674736170955105771972446419723538350160901024791161093531904789563029877043437178975069028208572559350801503570187437981893509401538965282513660980572626264322030247004496269878619913924597886609763529372487373424431682460970313622514384069702562008785230814370087433637835190254042665409527243142121893601322071491959962980912984606652130639276443206465962147798729614487048209367342364827184548412768880737472573406567113836722601072434043909827429607875866339575637451727354053232782023794421086951175519425887453960064161062685929877424601580793320037248055094923109572046200298948906184041578482376568399678170198517235091252604567552//1999572810929398452086667*x^134 - 42628286731696015132157672673735345734065512634936710431847997996813849690277220070738744107814180252064673186049527467954175852391096876161200575466501969614534991048646289009721008123673363094520114542256955423145278848009144803471909610878163940098486634659908427653476359887025936358395238502984653867586217588313878001273502602952400785826142346361341932799325900482823316139501108684422292607596983239381948793622941849659556153530793930684033232483312927264521014102400562635319653644785915521051381295535366538930615062337749461200588707428869942044731668518987628746533169265971565252847360556909779728695698829133429933295628197818562396493824038858093295536837942991438131606756458094976202574421021206200849810903121227476707047190492927319541522705110096508236455494851681577308526480229956874291758883688835417843582867696987866276161354282351754138840678303096263349483999816511653870043136//5998718432788195356260001*x^132 - 24038259646073143883732884772285750180158482177182982863115968438580267254952699668047208464959607181285080679109244231718636543289908355285004651077012053769632058444160869853525678444645597450754361287415949102687977308525997987177713258529876153488455016808842430918049988456388404318657523073248009854431985548006031346661973750255282697800314747835625604561015329054307977866016315144691560830390881919736792285751758678926534703867066353362125208035412603470088400815502239211988551897340174743126072150150740352128394389317889460017310283855531223554042411404776480671577695331506094823560887695044355772675644535683417026147839865940197081314420209618679875255468055040881937996078697395788879013273331139415563490195814089644968130348561034188407989278905907614968890563393394678303305311486127418725859145225136802163728536057786573259471739017745660411824849259458525319239492098812798828544//666524270309799484028889*x^130 + 36810701803250446265568085085372586878741958431312382733748108005002082501474267599700627628124535326939513582614813014386180490744288324615849973291849233741756433260412364633227311802882811521522894160511398805198779379683060334948382574914945779674851919725409499400412094031429914307314817705233373368917788208633447702363788721127020508472352981080318013780637610014883922744108581664355638425034044745429558672076488882515833483086793302691184499602905561795143072047740594994961673179379798095750861774279646262343715369591933390249807655138485225594434380030951372212167414789842325281113756182202997927014886787056733649026775393469825509167905207881436538635750229162521283507920786365485008355416156420144339331228459533907456334915540806394942438072679519823576666372081889485581274625703578075093442051330520942711376126033212830423529304153108619203961960774146843475472480912179608944640//5998718432788195356260001*x^128 - 392886378624768369603300160906259159425560034496190200209577450139667163759556374966820170614877127896817112116687861661261764803293012434933685439529521091966922753635399030304942445260801067646700796970653393633839801906308267153396572551429501220069789492680708737290988906520397950684630526349615045259968158995034260159407901192117355618545800071982621983520020864504496022824799986630764896937784115945504390120263400677254968824820406949377088212947277474775388663778503882092604897694719114193135101003606171354473719759540163885225653943417987866076350743616283036669563865651455170983505595663449897570450306161236426447229616997864585165844456965314463852832459291304212528227641974116506513085680023445923018816179410951623352204993843066728646537519220202810424908054081062441763968403155317703180706683909832186100838209216745035150244072982213865638986968413029767693640997696872382464//5998718432788195356260001*x^126 - 17181401537896554808452392498719424194517015398069690435090485083392375212418926208786606422547643885405620528765116683926930337487612794679781837881607671409747566345168374375818303099048631091479335100023091055256112154157693442462560297644261181097022134395601794821049545799741630931129249336698663324636108471543686821714140937049536695148726641631448731498617978265129487845844394152946747669060949908556559685964096773866819666845138956314584904060151818461907211506778968967923710186357155328550556973034187491522868823729200685549003008873959599589900974563325843923392287932045748377729856881713081047939634043840169803429856768972941099917208334842179597341161663040976547097924016532516461751133725494718960898508703452955670838995660094328255296925030304136305161129859979322205517530077938862831774230531543364140184048989164324192456261688675588889632748422890154940608446723560308736//5998718432788195356260001*x^124 + 133598535624129799102914143059172129990722845441810046231786948674090573280071328801061151992463646541615929691179284108432127509904096783631065457888364786194212052732948169572601082074093282293894683714530823584776577225705811343111130716572880881013570484251114390630424013536271167310958458031552173234189205090326603050302851336012863602047616365520888110157340154712849007174907480330186973740966581596274617361228040684555642676239965020901148098544895755146354900077516802501813722987161480551647088272627122809538237540724243248121892188680159960286273069256731483834505678179288360170881747733925004278250293702998273908062027843065625293025596420761962719049990688993478090016282213926763715700585034758972036913776237244433686536498031549506803516452756324614689634520428786850644643891144671567953528163706218244886778620654357401629800429792637199185332052115527515768962344061763584//1999572810929398452086667*x^122 + 4256505824417130273255362716986711238326467912253240147482666856366897085559426984405242488965838194581976316900199020603626413918469331093571586550323814324319269938320333821375527264564222704601532358972420064799732195927387687425960475518170451936767034539878146280402657006254367017633820631525871681779822135454017078451962266016048015171388350439014916576188938865576909423986626725970584346244773949966738696922336384540770515882518246247681326344599788645067087342322476017652020691449451982869335067953174246133439524988683670707913543406177595904442411395239611771032302523158356948702913349821897311318300595115287033404939758662659077767658846454351993501416965716373488766001878868293587995417111275885947234755564551667474063761878664885867608942928778047577711540641854734380623717536113562714660588512827121284050808127105132821817707564306909518123177874197461269953445313380352//5998718432788195356260001*x^120 - 18247905969221488212259240847278684373144082650865433185525023301590790782916227256205711942122516295765524699315407163149514849981914802628402130500928653407530621269394366438309523769616062925301304756390846861320679387687434703187850159207265257781436272603726037577027270717592881075164727823492137415944726281111304885867500208315491343679320527106994030931369027620931096274391583510704973832424877010690420874843445945880607133920307432229221834050673425136947978991029657346892284742652886858989488616295742096288294661709440948446496476985604017643389770660040777097827073882438266726809887714677028347016809563765221861816240553147937086328568358190951927569030008535539872383318392933911473674661515576448898017860870366584609265478834986364132833860075757898359443425714672076194918494325308434995015168885422674421726949482089334066644068277994726904300834609767627333310611456//532793181702477605139*x^118 - 6130890542448792259329269296155100069415270879923670368445341997082033229748544629182793741752436195690499482006396431767861216345581600614606263378820541091356415314334252795439092170141170198493147580207742642653919476221853572454724127709545344368696819623282572863545569965914837861641497221110693666634772842469175966263420665413136868018391076890508298144191306861556191845572295665907436159274833311756068328754919076575286428099923956629518564840391477163564552197767155467118575899244175553453059972926654966099074577232204596267518371101103191211162518396287995012580891001467740926251137061352842874366033268564238635817801626929834586544253613920307907406204116494402952967420971637817869691639399148876796504335999441420095265966970946161887527346310693814538921842966000659736482512710602260561157541509088099106384743282708560320918342196458520982234988632317502701961216//532793181702477605139*x^116 + 18540284057671863957399086082256135943367043622097887751437780666519323351377250046806021217803427520697100140439517736909164730029632163973932338024994825318169990915607796567024145574557966702074686929438986394375510289939752907532206287442860450926238039305030829059952106992704440163027671363432606614713939849680452375943491761480740479774506510385114141577792790922031787874805208664042689530210963009317891592335627572940950606621587029337071226358470390002785107956493864698111481787924394890495217324005687352395486668599171324221413055986749449629860887534043264189977984792092940029795742211125587337129316574485508724464652435082744778553037248176937758157758831171499857719961980725373877661084615909435813348314578149817316863498179145309475836790963341546711881317238717743943701854054123974508706505439889470388608147955365656168292592731660532225120164057825793760296960//1598379545107432815417*x^114 - 11334999615880291567677364503237116388768181819238065680983002096427392694532317211029372522589346999419357555409436043167302644895480588460535675291036568769583813618917537835850653290252003392070866421477240009733302038034778959850885754028556307360199186231491138135998968730187216802430363963777216631474774392786014292482527060493715544955740657378308924927312384200497204761928827501304403207565218977032657714662330047277458192975397469433287199206305896736800912839130615620348214447361390620802846093803220930108273848220715834325346433857818607143022121531197577828524779973263932001482516032147194503486436567117287299800205631069069226104901587587541632679464580147712481432745958543013923979019494944050551866813456550587895914595572891846014838131791705503568512071128861424394614777442938678286706687118946863723285120748237256363129446628955967401335626583658928799744//177597727234159201713*x^112 - 1488483679582091471638313002936652104523949189249473566014804596758656459681365588484938232750835663331826383701232359073218543856054634275219309839327856665695488308173907651317573579595534690508483564025981571094552172631205762330541458345583786770745651058566396180514923201623682977061012476318034139821006458149681918340194309212615599204736267894940161735879514930416816345987166621404434541712610616602713257053781226482251869990334147618710653336684822962767576871175089333576637559995363460117956700770587781262227267635776881787667678363568220523299888831202172761834833092826602819575948758959097124626955820302492693572578150332834242870406292382037863024821109963568100132383797092138813981731191322695903077061628921473924357296343810565626056600712901087861551718835757591846094948418427370790352732334823324969764123047027029249055680472738022452775075236679568588800//532793181702477605139*x^110 + 1664408000842503132157717606415455663696035654417635866737126312963498510136590637284018526080882442496500976405876983564586121433869974757046966272640168390903252066047315251159571751121237983480654030664449018857577751740540486889960911208853691749935194648070656583765015215420009437861436177863733046928154843154997214803774186842730298532808775023328390614155106714114092859611972487263663948513454376701352979759451805968457102650900104852451266737208445788374286302629475460166443672604512718931701286465713864951127661493010323448514808628413704112597313320042732624933886492000823881708845725215311132070389954479780166568316036369138850259280334682871636119272830324953578165234633457607385321960721546514766219296349020034052852297630929186677722256753360068073670618071685145945387334640750074160788916122448088966525826083258953286132718242830832499701684347984674816//59199242411386400571*x^108 + 778425528150531601463186199918337552690228534962571412685778484652031488453340505006459270881403838006333204394084977946583289305478995613640859696644969054822463173493742896229407688772414730306781980022640114240484869115007340346825905412654078033747070672074506210722319505577569941746309635651570127483595978452688398608386656585222928258973426869215666181472102366410338180993786478148708249777028713772689926120143447576907571910078246170374557885350863244947425606611130093725515289162456483247624900798538108813350117160522695757990679259798425021927538735145007405865684778530057025352944836598599842578374159535042156660974000462446316796794135122785828214047325686877689431193740351868199423773630200683820567078537511049593353037629623773646619643139063428955228975145733309701789406356231743957104628863326144377798806511401503732126752738866764442432360498463768576//1598379545107432815417*x^106 - 27576942893523581442227166348358612727248565965358118648542565427467565972776979537277861665989559846111301697922375075832868808162014386386879472896328784913369317880027886962498957302068633223588305164457673134450264313217476438190486934265822611729712599094980187492552185686126924007202272620144797634329166376872945689688787733085423318763902884973678478335367651452460913766087059845030594714685504214715670554109141840005783001812263684655312045123544531660001332125568238638206513308915366302834537743206614456785786297507070852830561790769554605960158120520011250728096607766704712241345999786499814608205662668674974739721791926088856065288316634890602067394366176519618329796546796262021411223255609695570914728854481235281823328338307857022212837562880627738220413907858200582029950881352749060503656940799463233188358724342268962619632537752235619625685403828224//3833044472679695001*x^104 - 76463833047344982510261462919968595978775270697717104388542072607663000048645897009282667565623577748597228382672174039472853410468441525344728616026352454364081070909375362274634286695321740137272191301540378057339171131206521705314274186042721919333262923876013134776159978680623813737270910317583696819588318954037769758892287140244582375693445990051727557920736787054426996860834332666989750170544426048949228264880303302461566799656500897491704814693177719217796067295845524768345423012036755671163109527684791846472949726559810573647091698144277342176201540854039972002612191261007776720519424636956992760007355366808310380047060695652672206927225263242218891013842362478520267276577058259082307796146590712571051974923984924757316802837135763025320560047519603070611264955941820001739420971708781309952148349450986669055984669216459049287087114779849624960593035264//1277681490893231667*x^102 + 1641162891092445588836990255540911603888093339227861425840383321347239785816474629457984306098439469968015226203561454746900024588514326667144757525525839247508622542285310460265915803240548961081036138001431102134534769367296840901512384467785804731605702609862524899436618251971975078212584357447636201549384771608293066834873761665632107071080899033083875997136376940455220458590993687074140021064637485699013714071408691000491998534476896445985198929679262701679329259946997616761141710076456149884335397205902932209061094192859401615284983947804255448744997765078735872145582015559799875155561317290464983347765733106032982937648760068986273820387477985311581643317144369171551288559075853882329107870117931739261146267694549406578180438683394519067442593275278484757103601213291816463199324362914084644962057279897793729438393112787150392489285694505546667903680512//1277681490893231667*x^100 + 17479845072901220931144539360048725605595247811998100522857193734096476469488510481771117909099034210852586875696580466076521810764263952368940296388663884368110418449685555296381480700530462559957145577020005138272147815913040828291559444933009597357472332378060677250383003661837348932633732359003484980612641690402289195720989957788706192414674717291345673136241757300174545207180706409031111967759224659334593285349373663467501248616213175552144764500868351867925302099004763922942120933777350879607888197740390956793007867322149420971010925887970317166248928043378480368126951653721755903928059880722116843623299808965382677370006048115535197390104724534949910980645632231173412214434568407387218617302519526154068514800504966906864405212872634516906346175760525082537675305463318826406619186972365631816916790420509155581252634058713181718048013504417369975422976//3833044472679695001*x^98 - 644092634437450627752966696929888073964179346368039695749853788433516484950876945242887407852877824986290088869370836729184090253461562315104614116797995243822722630697472855562351240280009224607989234347913383325197684335602183939955505714910586944307295581509169206565741063325112689470003417057344343330257075015381612465965480225251178943755639702511785679383631301959101553498748062847317288211642407559965707158822458291417608402207111874669161992404502016116381297983659908751138646865925339958784063349115425705833969028414301539922230179165157315767656744100298996449644873830205386146914796242767898407545308691777377222496768886505206428744880572066343649238654405141650951401325163126829381422194084009192285990548118265060667941612524024627191129892242439587666041760952147798559983953527333977372387528261834038333292307470273530465527309682976755810304//3833044472679695001*x^96 - 257284519211026440151668291100876815249350963058782519586591857664476541544569178962877761773639458515534766923563044872177863899394866716111299077093014472720233537188103706693788154996315246994370330508516308070538171105945293338675491635924768650197041364392234342661994271390009549238059168190391910150802711064632573423107920615758258135989564900853396986010443753686428202347770235117425702035303471772907076313190944419556226542473569059395602426009805207307711318977192384610618225918249939124945182256763572765773495138752660657929208996669852353708309912573472039169509376194365190730370723064865888556396551380770590092670708447067849298091034158346923069918106989136174728891295316819066292639886646791562430293331315133194553601500514856850008292336511450335909910272405419695988171174084961510755291202521954157350780343264458997675469127580737601536//3833044472679695001*x^94 + 6917997182961402578106473423419263381816608171480484309346966682625937214746516533614749430550705631997728453731098910557163844716681045998677952459255887555402413751692126118215375771287851498327209081371036766169692432699583886308140411127904255374910622003563305531917250563614440199123818594812942642772949253352466115083919957577624936389295107008769913795831203863516217386625413061986020886044922716115845337479854054702051621119192947050179762962609890953153006989279237854733908664466823017043465587183713322777715534636870624224506273821119147156088897513352335078822893672933093939414509763204195734610660975908957136611642655929021983319175356360187890096778820058228070743593471688184037797063747169281527724556250103736825278751211700907627428039747703090550400609142031800912075586306377095010324693565554376133327083217226382996463200424635138048//425893830297743889*x^92 - 4803227392278089053138388817570515032911166972164615114215300315226630250826168333438908694436678060494553404865254906470270436351659050386065987121483476074857238889130725700137327943724797768023319877203437426534344346318141769429970361503038650270087641426495498601423370179807774090362047477811912033023400742137360439469499896238620421824772848914058887641267385039911953700679864086427391694130313377803571452710098342602442067317111032590095921098327506592750184087081576230623506911000550158275532992739099975176247005680773601501827767202603312521097320489789549235876327225226338250422034059600609617591403212436631064674848022897485973746575116171056233738028146178092594542400379296590337255253512789223417443742043658000853405127110359773982784696941562051569161228526679995550379436997534025997435302883006834879356117511736402457116056653660160//141964610099247963*x^90 - 1162926029344260822222240028678968529558444496295081667981139779000558229216179433834551758842853589578669893995461544687332246024118292502769907562471595617808422783902317972168762204081879791510351977610946720234106659655236788623842738810785977293814367956451438647583736297892533982686953629282539474096669800803581251963534532721681057201895634482402896605287093737945956974269672528808422739315117726499728866815778697706106257620058475381741421677661432212305104110499370926111419512277197940139976271239112864962461457200440582527686223367090551351186297242808810955569502147760422817999493950375489255885684284411535005501059862717067238836465554823710226523008667292603665912943396498069270582381551477652177294291173363818487554488616226680705664598559203063682447348454931298961412801873443842580203447973105829391513932949033418002367816663040//1021328130210417*x^88 + 576440449921595976416386753543820672945336524278094657908724594773458778243489157650582230848451832294956486486763898312005421710682576724882205506454789167453361406144766029269064886776752775873026419034852642874474398611410947153192265538613118858133221499371944591320326276140250031114518338617258673336495477202116646242227365608077006049430908957746055313929851103935775255587715472900348645046563353745118851601581229794000156160951851767728843120946167879225394475408575799970066519369288612193103769680973512217121953082164879677962850971831037585115160016157929692378429937266273721049401308564655298256055522135860414510356435973701216825110938898959605525998956324186683189463751360033273527738027576803041744353651079477273757135065719377743941930831245937864468474402946548822449348849783886747399267669519964562176080624235695158308372480//113480903356713*x^86 + 55626282811421088851954517838492073193280540989122084191016593473909816171628631767039877943076700794048144201102788645232154408368476691834056345229021547665875113778118253970580671121371614061099346376771986879068636311067363793641828268032933587665718977449913632708654043731871005260735352922991997417673015714125879667385853853846865061879976119484369728231219634704943478985022227670188543572088894178328069323592590379806988679776222683135764318582768249624039998719171678062190674037130861529991466886284465465905788325556521298028553946445816805542902115307720742619798448198966179966262651392012794591481638893303036616179632814695362330316590123107605335310918854387226948199780336671477619680012838798737565538691808093852514623882694451316164553629528298989121783096527822251667060672135137427851345335632200163600759016802844988502179840//1021328130210417*x^84 - 46329971269924857766996879737121752712439288646350019235231602287284342054912966783498152567806282364378964207037711102907676015275615035032779184691051609345581704058922518199356466437833782570995053162796472449650220144021410892684449428856020530442471277099756005998686821136413087265619696332091048114684866500467328141585577438812430164970840889467890187885445673937368682364476842628020589808138783113390797889192915139539104741836394131491551340051323850844355034998292579676343501073070296032511253384333078993667430843237997869160036039542238692088346790826584775249917259747801677213063783946111451946470088248859029458016197156088914006380959871207408338334445308425208448279664614864634056607904875193717987591021696977164859811249082711305064053147027193328704784899298679830821277287932023065313800647758564065959718925607367061012480//113480903356713*x^82 - 1481536254557035510319126270715552779236140357426786114040117691701332592687672108785472710144826645766607113974365884847475705324164300293074480637318835637447269289257031195084960609373021026673442652922995909653557274180238044022434360806508780150779013994670687444410712258204000167574554268815077386383136221324093403032846799793108764351842368399350663156180121702986774299929737845727105033115723711406078578234679661162046636253452236028737277278370100290396431897350005152603990468350669128150565702487752935790139162700072164756908870112962108774101657393563115771473767402277219045816275901526128516575568731430591600889776922323802332812555698085295609602564255271167671225448461298967467598151536757618605889162225499487239391188729869039301124674965553376572806060442364072159612921480074257666324426903851145521705478689235385974784//1021328130210417*x^80 + 7103589470864039928151278139533355661952550009632028378233205324972615882558141318061342764300991747171767024851717018309072056853029034900892519715246361122472975758556799296009785650236117423454312301989120679654988520840993814841590261898055957023493915290142050088935074740471949614941122664705138066129249307280294930002864232795344807169370034442582903743880945225986096837295107335732131839347706243402984613736053931168308537712563072282786871999173942166752444753693134527980271373363406194866132188645344252633756527134416519459627194228479328226809665904114332392819169208307421246193209037659810852081910235193074505788337704355682834891201997445470287618317423802919919829889881843790627060262851050683680312212717837720079551929310200558750955357411296731617977826728775256165925368067786041831448897701081115833218258383214215168//340442710070139*x^78 - 1648341888891879845625543747579520761729425364449227978996420020741988098308396508414847179672826566624757369789460573987037401985733829885751620882490628962352506189372779170436833502360071774888021662484348516906852702848310588222651100547069870895374829381778092095906566637459404233857385303414599402174447857858068399992475935609960536612387495834002361683111443639580532004367132927671695795427255626661535955546572255582358832471074533846270566839111707701952849148904547022918033811155038019554906551673505222007588348933491436273697243229821611994079451075691994165808317812998303518111010119534007251313275029126777684853322034943378963721945292407220382736959907384253479572680082125565720086232705780292091831841492392098940177615817413287599367242195049041711961272552402651329217582506007037586017646710237311226660543927418880//340442710070139*x^76 - 1633490887288740705273023007275192720058347650391442732610225297572738312598258366360344729105809613554138679620228237441547311575621214303048238174425499061817031812023862653007384104172201345302329041011157043646523005834250310358612771525300787525251248215858632089635571699849016156225006618778722606773091054816819498935868115157160371947903418366945815768292922541654735622982730553260107298406021530300496127880101021318122279693555710468872466029538467760828400363577699802847737564465596817025778504954780659774157059342597890883713474984929483439123624921171997141002909682701854131844132677184294717350483517170445277085454493760337780536773752179609877610217341746510641164189489067865144610249060749304530296568123828688443405098775069488157826036365861534132857031020034658500811546869207676934402968229494726464547772694528//2449228130001*x^74 + 5031854982131473801372539322624626234748690093753760854604451213694846841454539934914551124502950919407706503712464138839022714381144356608570451351148048259391530555464945616384853176055481599667800058636235969874923697707273738457350240875049880376763550785869636237273177016131115605839668015872517190717053196935758477864986689985690148937483820113486291472529672894094379299253423892283186272901697096640169812256785419475847438708110644205564434628166830009406103201593738413653877906460508331913870583723955335390310380441436884352055557801867540474065823895835995478792179879663842433000681470442194127833490326797482596921544258461558214385833237111370198566840750175233562511069146758212707393711260930341717821842497236529409542698932782514509237115888557105875882166241647911361935223891078040998453132109891098883502637056//2449228130001*x^72 + 27338149386959562433397009003127116295945439091898660456326738150180271642342011139061132327706707898107892590382749119316242235744511326617683941087461085855772529074455029900040799303229845027991635726887914921532341947229670383300246967570274403883051082755002474807496002669946239541270187671953852204883560341899909806530232428199774529881877943335308042258960553309830416258130914357546422421300647534600753995929424066120912249097490947287623863075008099841000496685278517582984346709100064759975207766291428797335037210131666408282754030927061002633711158304281226532190543369299368579077435568549431287577726716797674027988584487907969782611148954392769546291064280790228420547019854687691466995447374828348055730359553938417459912858931805764465685664542398651324675475361362185170491130484375791411505184522504613404868608//2449228130001*x^70 - 193948704537236222375190280586024329103269899595840986784251281135317193681433095630709006267413935422176523958231174402294684708155298306429857880090960181294152778154081582990944958451529521229128510589519618692477451526900225637660637391987833202437297629177751526407315986386601859439323681902715490288822913812608047644681107133766422806960132482417283635939160065319583505667120043407130824478516866025578045933644254621649891351788290405219309027035500602656917980691185844364205333006291915862618972175034322578023389806582290000321378351691482171074083465845191578867809083791546157011125972225853921534640661638107390684685351554202584988403877675958273410417009035331968348461699281292384652250549812370309274945801195566362658689950718395188616755484755775059498093952749856172444539714616574709580989341111082329047040//2449228130001*x^68 + 1114619928109404305521327239244699743552551301680196952634344224336748147163259838502760166897640567895897907541688833702954848682500874803045700658318752390859983545674984450655734393368374100668865874314820538147396723119201911690894740771724994320229100969201787056722828694649962948241889297586450303218057777392707472923261054327220087610752661461144334637551246498350802245638408729079602735468839274982534580478517256306411127034862628460850044152584137788728706111585816178943843458483697858834685435143460850248010215099158620970188071050368699149521030551187600482616896812604441286030489429436041534546776330749576354627354204046818788076207643794550522980444585095271796834760509894993963241065485438787533944127231269368929519099716155082924210620753592455760144896665063987828312293129937771387689559258642251776//272136458889*x^66 + 129506989053392649536299650614996570425255039854105935388300061967509342533180160563035635224270320255628431261169452075221330144358454111741522047908058259736139968277697843078796546387476331472209231207401517075506078330536897562037207652910594463300073438736347192518811563697787999498385356537375293521118764657199986058894288402174524459175808987338351765126158531453692057371367264646252900220458156482428091087166266221595815599596687035769333289446881973836621061926659114471933267735848429628728237864737693411558755044856755393914797304941427881083141191779076571290256902666372927982577090749274612566799823505577577584804753728889324817624383630781415502136402115826505595925694071647379676301586357167518383664927926289870240235227437304997093016528372410369392216787274246380036939482652367366189347141891129344//90712152963*x^64 - 388101045538223049513911715415293096706548301797609960004698508568693567289110259710225457921540226816252701970142327711662105423021583175100845859643836404668161427164931520540641021815037069263467742139766734763212135726424542073822032612917559531204113190867717491124207994969666281161406602646068327356186083042720777536931875707962196270223409762563986935276349520973754443381082077917890168121460109261604757374289990826021309631248863718175736816732546580691905444095930552047697110632963403169886021735056178875586815635897169655721924110988677395056959732358354862009551345737999511283355432693556765375050839654857744310910699640204522900402554388992032303754362372190801777906896116083415438004851116687133118786944639746119745535574718700218991033718635078804955745182023848624808269785256145834401211294416896//90712152963*x^62 - 88586292180066416315544661103317472660949891758595589968279845877925412058612646300441051143092967353789847084865758096285353880732812468106671813134559292724593862765284291581877182076362252622295119617651836622872099481134568014032298487947494465960921373479166343117288355000134255442444607881800385832451829849077558402501366972590990387575803424757077230987285998162034310531295779344333624599490368292587306116918962779860537545689632209846648387758205038836434591660527185966686213019568130769750778134846065047364035781795496647532232017414572931665736910301998948525133725702767685745837966977508226886394757406605204398478703962259514199831088534131468643318188628439528099360080515534800489197158566997925142811924864269624504234769132875218193096722904365403937556666760923357929134217419213908449110786048//10079128107*x^60 + 19640090838711439500805383076677370168694074906356714409598232092969357940300615541690065573636470603620113109749693350764821119295927501458040919761079031850372099365978322169031216100690686842336778516683038678029800718115873802742248440355093820656768130645630815639557607501065727741045569183858513563818254767447658758372333708850075851024803602129220105071071800551203797843650905073441182264234248595443658472871297276506109031913310735601526691232168721337964266159148663200910119324795960643522774191998746883547689838013595712727068152768134417147851762540146339115820076503360855288216918470760010195329615975064447284330349369729756369534078428467274070132036609216440628803010533324745087354698584031417296003064103531975606685505068684650646182912254642700838362747927022004286424609418892425618784256//217535139*x^58 - 133114345262011598297215707807219360714147510553883071444579569624076289486722809205242179242264354298282811960850052185295359021609436601161375454269497698976058271810543089255800399458397324141057197520566433211088651894426105808808599199451588140283942995812807689453299242379956327551822935401955466403242221922470815081150381624055217017139263063113157460139710517963333880591435624310672638248526294480203039792974444159254220513077212552522206615150730878947145796680390733051589962545873227134312817669834601566349753315862198660110729310673021590710887239496393998406929180960134802174341635912006199775194818969528425572756124092555792291822489185083102144668796597417698736127564946977056926053722605604953897972563323391554606926629067166149754973807129753900680223512777626678612681263893629192110080//652605417*x^56 - 77299801124386367276990592189902450207833560655458735392136648132946006708403461293730224675872353208443219867193168990004051074387522148764596460634585622876529593101042203671551144893066021605073214834012961406242915617216493173227669314170878757588494978261116659270406631239325888009630748871532841099703221281536759130137699819522123647351520249914304647115376743576290628435873957203770768975092392290973292667047579519074843775131445814588272233296160525516657058794594368795205051717716201409567013030870970590217920052386196436711863462316218013214674309817756132966754860974090828500811692883683689304252304330551268176481261331133597566239626123434855553610845552910324001135556860853507030862316910465825067974563883217225667470534440455131270415031855843875895412684886624657283385227261438328832//217535139*x^54 + 906793354467462314654136628855019766285224799222781869461398118887542869918644830131118980440179956861267944402509133837523108312551472287695520753838748085009320558552790664491290553728093658959883387167869504620563027969874177778993489088064225786510322860666310340064992763565000952345060069431308763972822291369578112240937993743961455979152751691506733199640765306358855614433893319922640701072315313718844194500814106419269055126048942725523196318661075507844182622575034414591139245249067597439642126829895052437528702569072285505873139141915267712750370552925763870771954215600412165909128373466815577541090808636227286403903283170732274129298231373051970598577289706129115106724270917287520594520823544507101341394777581289459708753764059704537212869227164502995871949814324194530214047555149365248//217535139*x^52 - 3767190867709502977682707600995845848920848469562379106350564320494411914287866686648590057683323775996936092499416793633528654016493373303572667966989288910785013495076275500720392868445246843350216155483570189171748288966376806958464891472792972645078667139290906814097570382892173979258122949504140446207069456291673170361553608647051282891029031008287964313359418486394728529554639954666140708922414951687607100792537130144374912367978434421815145909361562502070599328748071089788842649892853203627065625827546332438450333982889983095721527384666224910863683928984978130054936614765047559667641091001123480938363382353452697795374919568828980626030126944722929865401448278296047879459040731788655662380269446634763346008537239562591220200429795342185822675765979517256098013450556481864754254535720960//217535139*x^50 + 11251483771563424690255996528025917433075881995021176080749383751197533058573615381934408422337965914654580346043836910303319482351603324737774172793367782140154579257403231905310190121875267071803849543244527760453742812483126659665025090973858879599791461878234370354325401727146075731015352174302335068807993278962250817437969312780786078884730545255572083730931945470285326987443956892258744954655525340562953906581476987885115292753345992872064321991431329674693413910210717891391891767292392261913824884213894430677244150791848000570310606915147617841321902789859691833419420655228645876853631470746268925757497096965539732667691168945805003029819498254091697797009657506582733017481825999311024896430827942297033249720795709841410613928029577888441637774270971459391939605524426566321767142391808//217535139*x^48 - 9323408914029671996101304184916197885560347937157465912514928084822296007853552696414099657853678658235703401317941633113620413461517160565473336619099128724458990669274370206213321843385557280736287229380028957409172157950077781532656577177971844337206200650826832854102810436923490587793667552250953582242296641191824300704882138430952252864460881360249325875259535640564509357189214253440791903862479706819589399510086642682281330773803505400745416413465958478216919095627211112512842104049986856084125762929044141499257752980928553900052560560720719340164004873818007826183631433897802221304790644266619064770337699149307705601089851109790496998304772976514028371899931450211317292114787920908826593684976194713426806573894590101202887158999679969439421431849579443759572693770433438395203059712//72511713*x^46 + 48144416943154023014609586340969472024744909205279196451473761951766834282844344301339479787946685909989965006323954484765672799334607918577038166086193084625847948082077277573294843866615869850593621300851649848038097408866614736109237617277315419531381191250644135200849978864900599429025259811030113641853897953226416824436176962406080354747660866657912504148449563322150387414406051779769897449335268104400417908479564570160467505484455489249512180747081131721280547099273516336115459559649314427641748135569935159095437763913254116689646078018823239123293466809010336475104538799378714190359932763013750242966548390770546728776267708017534330866691754640185964566675592869832333656551640522486482078493440693835854707975846765896185740501599571649327388347826569441536015197004259607445504//173889*x^44 - 29672515224124137774701959591495974944852925372753389795440880726064163036869460750900094120069033541945075195255710522836638598636783107249461981844978864262450340696427117027098606475100258629264352248850980010458784197866386774034973256991816307148686301549676582814604036083895523242834136619685747692771421958765993574675982555472305800721131746636032967130948761501497158730725583960097023081953203603896086940342056561643013995997136312587611824113939889186821770011282659169035785785753569321420919103707387099382558214492757195776217875686938922089138543127652912087591426512543861033283421991423400819259853802955710544196728775232202523841764109412662949535338555169396273412829692349190063240913987920922172659295061356124138267409728722871901120652834786809700600536030972477440//57963*x^42 + 46048047369762612114300226782051404087762860004324266351776083654883556754246697343745955561272071377109638407077395648814227067784361143289601655952589381573990222058445471016644518472240627379656146261540043489691737368220196725235833238795134996346538207541545669891278109873061987360414715729161525003659965119037465849488443520115636124457521338245015480895063791172931020297491637971655031393233713381646038653878929870512260866907635867860141340064537673736637957301436523035442420560763183961012262380144729873373399718515091854022997887663657012790402500634970278491895021727237150028892978330608641120446011576987401251137984778833399375935381879705090996116190185490465061127662464638443294784614380439389368821824157214298061037797553880391784312310571365593433741281701396480//57963*x^40 - 19614693313729789301564700520900566004574776608239673085063587824910173562476004838461694124317263677059298865400179991364404253516542842460785418726286264761261450499815403881948630732939836367812574745538948558322998036977565567729490184252557006747234307895814514959360048305308552038183539218291535714599006751460125497386934468537664372881997461970643531004871365619099473159549114216827621986855785537714737802981774492267109164822105577707925344730814817652589123695957890621790069305025354674656517590503051848642456376114604261540488911002157172359351034246313249651142779686271100307187459198883423341997411709676845515193153854390378172816302311745439558753553091283911684570428515334664969700254210881584692313128948544102076791692320552519634842634035785822789092448927744//19321*x^38 + 20384503949080218811612723006693382567329075722050097540458588150095138087509021704316300716142714813374129201165013763479179611398885989089088625610579229477725855728825291718179661353450363221232630475888199765602839338952590898318754858818585161186780779199475520237072232681916466504346174946536502180849316796295502550384134414509192627344507233224211001648586070304526117645371487665612463314180182698531826752046658147481510023690301718648128338267871322778162268968168771825195652179662134931248954735803302298779539460691027571509689431152576981262841326664016331865300761492991979125457912515665746938629223413393392474727873156885549694994100710614858552044944015985467595066500843185631524497446906039031974805012665977114200053354630969523772030062005073100216983355392//19321*x^36 - 51246814607830925572984225226927208888746033464081384603866031195443529191439021140897280298062855897503193246357037311780775441464489112978006817142048824509713247956658846746278539691125611314341646742325102917308336459065414489198379976374538930953456397434430117124050851851343288090952477455570649035650018719318244093563470494064088968056437812900520421053660937437727790678315123679788663803233611714075267371255146090776212525594699019167819726697656828374222199820926970057900798816516228491114828902358815744166274298637063883442186506606423447557890220916621074167465413937001474494324091664792037492326841007612372700562188533110188999967472871104181990775393990521428835945463051583804557991010309800975131716950219063296694299183291114536482249142670765135461613568//57963*x^34 + 11453488786826085267762548747311409930524266812751327848218719110713014781477686198973588478812091692641170967977425830343949401274511044707771062187438935316390471589818498347158732093792927324073208132116533469312420256591367931459521482938719057103347077764136039875801814346231762837055774639865394646268783025284463608699570357407574278252711671375014855999202927943476961294901268231218676879245619148713539806775991230048541878317167401702436856666143580261279343405340163129298783863467252531975031378533813468728701423009973388572046216981855719562458693750548299199936198330016104741728246332030161034350726538038587844324087562005626960276489725682788403066306378028256592829378054841907882407755796868879183209743631510429400069077933645409448393173835839631785984//19321*x^32 - 6085494245839220017114202103880105526019222639457209375671642547418239631344681053416241354622171002668140903050478658346541164615280671941049060634511487549557643060983812206565954942051201927195728461035129336358905929759885327445574699724124332653389020913280684364165283288893650727924471193981011224973411721126594468694035634056140889574542279880705680823291348831308569668186918488259486864128109781961412565900987225900000773664352255111709441462616655441616604960673526403269246602604625220920424407352905278033328004253799944403265370399440851465628240741310932927480203257951306580859444489421704678440298985912592300422503740039274400779483821492812800859782775747880517507217517371991291794362406803619709902756336505507785166799835890064575577039160588894208//19321*x^30 + 18179623755529819956310688124099054079851095927072299428535371081191437754280411392673518081577455367404605417906815806965616653769190853052931314981910243066914664342722002548752962861533198043966079053839145667764532547048589467794896644838524462938592427815271478147929939815088718312465416075597006279729389722512596480643770927645392543058948584447072195169442514600755225731384687827123759172514036175740650212376802114375049259946385930140229511279629170815131747134997027345049551133654649372129987595704827324775116188003072902892737478931037061666667565534492913201707306235986866127296608094714610292047243635629046401167339015627895858024729175486214425050624572619558538245074032338609903268064558833340530767330784875544920002210061258845278827060396032//139*x^28 - 5775821363344371681989566197347043739947006017660941430159784843540329247374523300994168608276358405881811618955449232350926791065209387727920326687880881581877819189311180447336570076206511548336686649987368706668088044592550890944505040371240809875763563090576215638448459444642040907478641161849530258042703373216116940503071222869370912656047438331067186074653675064670090809981521948780442872226980110590604513790371144231869240543276706128246025136602030522625658211826834169016103406251703931427213595108552683387669021283310235594635888388647183022600904380380762616114080771974347068617753248189043944123629591452882161701340113303485559365971297303280429129066298698262332122178452021566949369588469939157995764914215281875053502654342197240115933216768//139*x^26 + 1356719961299912443182155896325443619306279093450920507874852062336885486199357845674511327396982694362251606666614087682242540205691366264336988233316989727808781343246666603742845984512662218054729840626795448887079980871188497334209259606467283734316278682388115319933881592222439468050496807767343044185744578799471500857224287237740946801678504832901385543182245583266585080372116320438113647824944058967602540669754659609250152367973602254734866770471540271771539595525463953788777051078975963011370456921884785794537066816117447153657555486436233327635548568103012573501357827399890810022394527198104401992024389515424769270600724519741369998955580362768469599830681891809674964151192749134358661125118469895512481231222325042055560566972621294437138432//139*x^24 - 221806683711643020442442331121909447003001255050809395507107878193257907876231563575120249547763049845368719491757504733027330708106830998240183260118385884047195337887952055435204637200653766698991105272691981892619922621114663644424127744668125274232386772688341338205940743486213981281987680523608919307368035909676951956527703382329579830929363782859249017547125928906517362680938968014092784259794958870822011550969551759094400847547802276319120636261255361287884524271153482303146234701684918483406622712788591639626633671928193084737366588427096078406816312959176154036440209207366510363811069360215110702197693586275458577234889571013931596020645986228572924666350586045360784383935845998428389368549349885275422885195111927489618462447531091558400//139*x^22 + 22205592939016105490341087528745100198670333229251916963012843242990809025273700087683801993751299789218513846720460695941355633630734953536189303388658981265645741677259686522214287015935272674712409849592257853537011388684958472820814803750820524967319004768733341510288089703695278044046286312093915203324256446299682668476303162392297446150816964411176012042318710587054052189711203288164551410230385561113024960049362921213914782295347339367000093872143962071293979704909519443142734296704475968683808228804737104315697406353451233330408645625492462028074648362396524540315577542245751405684526577228544368937730371493592458632115726533734099991197772758961032880582070947372062518480883714404743240640146439116594639287114921184606000498931138560//139*x^20 - 874339530119398844814335868955537063815421225095997541978485472193755089099867858752406506632644271047821586052534969749322465951917899740769870603669122941173054334910216748161296368361117079915446558829202344506686855063223595631699569094595840191842081880757858460550520388445091953446093291183608070145165511150118473666271724233707434419506219146352826910161351072766194696701424137766289621794725655790210721416910073468309281566006191347110365273215281988982794763918903219944872107101169095977353270867313801063613920244421962031702342422125226739501290044974428337639588514458814445835230679972024108226436291269873954371956459515170822716511545809533793799555560343491633610270951688853130330357891733009725906028402658396197917909057536//139*x^18 - 40667757725115605213403049434747344352777249587807518725953006424754157065816009484233583928382956291103711368905365197865702485744209482727205612301601747061857181312089870943914663545170173167805726812387422263044218841207222764649813922209059288407964204390142211391494547270509193452396570554329821802998952465336593440676763896208864768733133567752616038624753946407280169306819215539517080656784613517949952685700178556052690563772748219017753101902452910870271190149967654823799591982220066000656581215524518457821685575295462427075130814388261762235154996564535328725802672274719442665787700997924689194007948084490219641517206061228481658445634822475372659255131847409546679222343011313263637692654591541474448940845953910812516024320//139*x^16 + 11570456799178144708175940842137396357362024410404214111590502507318246057804737265027643941472334133676410357388475847717275136203155872781429041782100146476281610028767666905385412722995107472357461568134009475805073495349455249521522472732204728596397598176485445680354115155954540069041176842596619121480641692955885021719134229192445133110781388277419800753564690516088593347596485855708248428836515650557272123082428533528399584584147890286061351213083570603643866460156381419200751278178647272679293615954657764069184349760738123197948860884168918467923497764335787171397127790713413865570575290414221574470154963616192297230069986726005490399521037773424110573201551131466545717734860748577465914797637201637698633081343549898752*x^14 + 2006342536427479195548837319031070280201235500881533863362741762514399417752443232386455298298616175758463256146061896921603743268689615729908772970077486409746322025743206524421631884516110324915556354236206372624650371183264883434079006109661046732365367507417716213089517106527029131921476247013419790420516375905326668745492891592624649420204825646254749711295343691854692434437601920798136517914553162000577785900006257285661941489861742743562062055286583965463119788431787244773029416533128753716610089803872063920113927192141798717603406021464551390925285415506622806660362079922129192968705320871220920776554321349336157200507352955808919674947986164133855877442285285730722807414310483536970194874667130151292146914613526528*x^12 + 44333681532412951449799018151096558148105883408232032292846468078220408542990784641139100920697882583778029775478629777223485855782427250300856279464308935232638993771404044257370380909476699218885568837894563218427211282016379854885062656154815736308962491114588142645545465641145875120846991190940673493467768097858306557882523729461063910231538167208042421700247834953275498701442627606740128726330176494416112101939238382830251483778167768369927947823282851520566543571662741273625927245563630274700308746111109955148670056317012807328495520655826697557117231317596856615955902967749442415556476192501308178266814071910069661927143094769549050158982553732175998216265609481408470481791888578698634736275724100618579003572224*x^10 + 375791315234274446594631571238015053451854015012670254749418565759281413894586944427935389058304320865975871477402738393182497517441555303660403305391953065171471818063314354083472733293668699850521450138357095397804273398323065699998900913806774929115264558366068853254082704847950077461945675988777667703792556448075147694366459752532710610723958784058207770942266374253383349433610965455280891994318941868988092290791082575142394726846267562444440136637901026945989082770890655992401742422970947923018961678024378507274952348722609772472488671278176786769542616933469256151444487630605424294126826418080891220271514189177114783441105777438200456527331120692463101607095950593739878443976580247371830380211627532339904512*x^8 - 4060326754525257358025880734256754928235003918124782886601789574258708520402752717289580434757874533360933387438212164960448054267885323414054591983496092133486799183041456543536036226154490851952862424462578295972357616443779897277488093855097050664775920886796665973235299271350266650300450370699303050165941682557526770511969449147571939190817278411638634685499183215342313297161424033509172844226168680710088471274763441221754323248611748288197705034976412981375479822540703993422759743251078469285819801535483250874029189603117104523015976623121244162857500968085001130894197052552494355192547233605612871209159257412556791269702687662080130538699811589384779891212555522088283179029853110057953482128031219712*x^6 + 11594651820604831013660298778208240155030931109647446553469820232084470205428085562121262185585796179462574509626745766195913628659752695695306992831435878610136195150717344787178246624869470290586232004437501762055144352044599887530569955166908865955536125463866094320319044512178834640526440885248257898109916502234382375328105887760099505067571140110000387199127258573156646731738701154751816749282327820082724573990325338364243151998053529190209613661786419663060322332390562897272450793101247373330454308366361606020493886918891300281526651132435630815684506927851358132915550056532964910281423226866966550883060066159305285896802493171242558483841282355436208867207207656978864181026706910535168819200*x^4 - 3421550289861650154660988298259339325212725798049675866312785292849447184320819454252726155751467324924175345425985937210349456254644936933602681820549950380097838080845793113682204294156330451262517952530315299135500329762332117442529897469133931475519031274492079273026005346504194016717256337083657325536957498356352453991844720129731992208762649201774267218583562137383263260093102814369200389835976922628681345008532460056925619653541898713767165706917290097304591957492496246179140228901181292656743816027460981610653651060039129610659171654391641024772229762785206447933352956481203919411017250826956911477231382456284555359727621440350684109703143515235347164541125912668463745147651227648*x^2 + 267017168801975889620773483071915352384790774018395154483129522466123573213216806857406062144348207741552112997489490500551614557189405351549584015058076558214965844062237303764342265893456168434648273979153889830711350223834757345503808780236377461975451558729308817837793624372506111602330833968286172371822671258113712949577319795174692318671487007468328714173385931195458704191836619049185406052425671051211954647005109947426141489403584734823670298186042654510935370911211835510411203709329607425944607296636258085392098702763644088044929764331607704216173010822963227750596640099273852767761268602118379282151640365543510396757218741165544218534247055286610626827734439859840876544" - ], - "text/latex": [ - "\\frac{632559895040048450895748090921641756886470228306004817227440309623067873398228088069018040251313080535541450992745300209771913835521779702851008199977671534167020726336028849097062217287114441992687321230930303095905972747640853160351660208664959050500217080574852996961414727994443272751786036434872954875250716232070420773759333628797461020047048235438883314149281419343763992629189899241992642798646724391513499355847851338387200722573897704432812196619126617722623406622592983236145079741904401558388992742690851903641091398722543025648433824160021835136234674310742569983816952022083521533801084276938125707406682530227862453357465307279164636566301531780944075120368014853781399659352324804488911308378478698006412255396289309228753762567885043144255897027389133906655733401960480165347379506923302457102765690367959194389553475275566215856622522401289230737466554330152659753698941296424927480901117973044723248858530377801520232634035287951690170368}{444254602912010649973439519576625850587386574321} x^{240} - \\frac{27280401809043582954539709800229226941922256980762099535036499469356024225192847844918313932768028629251329437519101996993970341851293586870895549640347066844386299636910638649798335456186372490446008392012158871353916959299022590903163552882931093272444691187445341146648517946361167018968136826774772113962849465879790102455251348737056479322221709995316094078136416250360990523364461729461850028858705264806880923150961924124407046423932721077201463196081164343322738702781866248034507095968507453401568130160667467602453149314651008726972613943280037431840411263647639241806686969966910099416809803044475402362256227285290811958827145608766272617475011223862153240270515220786858552113698761257356726448825101429564119037578085319198826291782685401319262165064153604466681776942253520673005988389961671405814531881624435876753933251290637808429188046672563460115471178341729235324494283405530920355753033727568907783250422603641548562131288533980151808}{1065358759980840887226473668049462471432581713} x^{238} + \\frac{232781727688990465067222477489171853922170824222830873466758849005239573328709048867518094392804620531802515089304440789999706741203247359411010880719507536004782263325736137280512250590150966116095228081518608802857473947793747485046412665305104447231081157234793691795701848519131673943242523376269499607036769689817868950339864725301942561716706029279975016955889239618870902178157502712755493624125552228706266863442546954850305100467544450803962403261330733415929264661647189816796642033870045716452603276388132054172372105288655556215235864970809421544949965692582195225570574030007138579183752943602616698304283826540504098824790923002425697513101027975260447409809278811131493861078180430317826111038091879066104658578924134511286571046125616886493327306941169067384123338683452219957273712037287725185724815721416507176740389822525808772782494712089600290416123142198812054291146550417774558245587602317169015805421208868749622046871915591312080896}{1065358759980840887226473668049462471432581713} x^{236} - \\frac{3758993000530458366765783957549506760745136386051307348223748071338079611519127833065727474232131961604905229730088398321096278643810703031546911822437302797290870515827568238502269438735671637860549547056291963549031502903648860512060571645648391847249282450865621347569772853808002385065904975114974106958017810622815466202861742541770520592039020449982332544000378957605376424232115993284905966960931388494359223272359699599586557271244614550943856875536929666579766156830934621987749131372576628461470049536615998018330559825577818241755479281216933480857832889657504047559532568866747570109657483082924662568761928243203138043306775861981445171077883775312013987529936871136107637759366662494998169934776550526289902374128653805617083904332525559176539890824830363950838373588061146501921420924637120738634246048219685714450763752353107793036981174516957120448600313786288442925101120848949624988880672895546599018327081353293832012977515363617174716416}{3196076279942522661679421004148387414297745139} x^{234} + \\frac{4771915693316543740571196248631900594483544813493831048812641803482820007024309998671787984013026390019340909507826646499010064123518553972016039376902148883858920728480387862157577188387755145700059701097054462199502159247780885281061225852076092318144917949467124960335562499169718507347189770901845070930440230998681392837399109957098872410833826487341886001590328585280959929530300664435506615694598783095701716331351995800093499285424575162297655852752460937072657600772799901623280762443506618210546484932505294635912707762891945132135352254016297786812089874109894636593069454867437669438653621378878862029770521885421900673525480790277466451720530758288277756432852213403144577285463630174790118910523958522791976643007937037141664054248357468263920162427765318062774207548022124042731670616913209229008641982920513887512242421254129327412379151669156391430900045820818453330830932113863371658984512190838364938549443080223810821927975065750912106496}{1065358759980840887226473668049462471432581713} x^{232} - \\frac{13682036482554749265145723386771800329387662572923750789904285851920874034273938817291495491564239039225113220409684323385774079828867957609528367938822748666211370565995146549079761408968229266344379248810656319713124053106189958829229992135681600488773149230893393585438923357597818076112345322922865367070334614987176300512622691086968652703633940163596119874185617694821958234955936716253892605501555970244382235116476574909250726254448165984547970783827294930588248005759984716993957628399314125113195577576292938187808330846373504159151675510053053073286547579664013470932376927874331838761277481247511260684836446661370527485921433963029106116150329280318677945973025777168309484994612478707832305931526393019563231652745262660798101625828850684626177434920761145452105664133512030575023696245526755323316183229644820489392563772783891954975450604956585203163065327207878980495650893926947277847620131309257461921821677872272797264128523690164107608064}{1065358759980840887226473668049462471432581713} x^{230} + \\frac{92107816235732629800007737485685874417916238981313133441055675759833039191322987802008601314928375044643397070120315430374264951056542750305480832372222827790485970300255920879563937562039745470462727152481590015608682256847002469815890056980255654308979571605728087610134928592113013326122215088757957755780230529115861561238343503732048205744795676281819243547838674380069471673320643806274023347379257476814343909721913154656131271114373129084821316851100658540653077289170206630953530787579317589285411538226794222963632049200222953056804899453930859045368689816271692283282969703081571260241810063816469484239233505503187605837934157030267867096963064245653297572426852631562491677751498503881737191549649773279496810476672359936182933230001237889136160777674763488925363800603573929532683109084951329329146404489554481614600017545035315216383598257380352132471619371501275636918523889851315610374707177297402690000148565485153748847651952689044474822656}{3196076279942522661679421004148387414297745139} x^{228} - \\frac{18451520014489241763171295982448891633568136607154996042957721009014960442727157244812911732402106154875282349513394678277539152017938317576351806986771034761470501730054158325052626889704217243854854991774763104666949677457024020579818533506631082959375019135721142628973423309879160433188933218628148004477863022645325783890806087666424072938204981024126093596401852590365465936318511825038723709200038107947984228346371642437672317697752458231233024900032734027695364845882631691204334443935479367482428893319671696879047473319174454378882005089947400699071283800886493201366394346670327100271515400182670896322959794234545978023886030631777287628426393092999773983174344491649986601834686979655514157845958551661481838700416514771216385839875317894711644363558631367183422384014179475698419115932023215769701045761173994565597369125628305363161128062194007273698172586070344376023286355570529782111570409923541940048371178585229148327442529560829393633280}{355119586660280295742157889349820823810860571} x^{226} + \\frac{195875409639277475135878422873932887276940157067842794535045789482255317814541068243268852562904654661562683393656474512670571491230018579429132046330985380455574318624830855512983051243941562319019481229619119569601974893474228069246236213495889623866664269360418546718467040338778378532196790849225909271658222711141671541762445604877897421495174681741783614196126394846147410740294784924019248440172585884303789384169532716505142468779535502004741301571931008356876028998891883917130920952844232965994102638729953373698219686866470362634789851600525638209803444884201362881191883067246882038096070233279541303654628388570488111254412648877227357918629920335188180027940489296458234803148814508037868392876536599537279450450370742076375893993575859181537993432207636747067499743590705701821045323370728267430219348301017470389608998547851553643424876318723137541735510071777165412946076862403647109020941623487667850157540854923678819008072162121411985408}{2554817170217843854260128700358423192883889} x^{224} - \\frac{2157524506983485030528118190200187767411870950862002482709589848344336495785806992534837409401888049290128101011964560571763010747225146587967342458196473325776253212994580323137047262627408862148115740514865835819013389899113181380944717140140719748057885234108111993037781377748923975117068755931837159406777432138923093004397581528566209118137470734596605552343092791350284459660286371710141469426306308048841919065536259773689675932772969270070371901086741937471771631298669191762433167958512491248922656026122548378067443502527021439560167199776289203005143746606565181632515793135939812013522856789455924933548418030488266960633576432389537168423718195139767332649124068348303784010929634256982456949255474014279723089570991268093324942164491467238392196389672935634920774026679386430929366886317186742230306778511578011216550321728419217138975764954863146466843136861244483917321613709652724488051302546792826885076130338779401324154403261642929340416}{22993354531960594688341158303225808735955001} x^{222} + \\frac{737151319801538188516360212897514327555317788579351774699676051131879766642292937207027062777529116728516977721576392099809455206615028250903540669917615970196733972408666217945833038995219054871175597436342136393522530097750345633422486250793295190066307015111671391580084664464568564838385053356149936393549660580547366706072312578315652908872870441033553623112750233395927312263393693252785724689268673508345410258375681789941925709468548086578628159377526726153578433087509474337358525696366042956147173542369263306543113045414883215326108215652853949845685531664726859862582943945707485266816813690175920298875923615295508002739517404679284984875166124594705067362372909034709629234844838833966763931485319379992528902127636811134073511130495685283622223256693004902270587047997984719695434747457597639795887128502099543331207747773972767873248577544017123553790475725636395612053991804566974300568603619086402047515944399306668104236768366728992260096}{7664451510653531562780386101075269578651667} x^{220} - \\frac{637396936296134275850042228616397336824475458389674518166539059010100404309978927760380834284331790892251875249605567166192041077389701439053791758805400433479304782398186015675112556432212578027148444500265099607422397175715040758669395464476280640809224390372703788300995007849293894025156224621185075041083556782372808450847514324998213985988096015737079999051135313697500951410768565508504579328151468700882950857604611887882365227035741958893064201217428964926745543819711064075726603892201719987571881204786553343096995483193366884369626596366221775787306143396988105559006867594322727498099483917825613087093161437893999958966418817937503070359158538294259689888476558262575213963601444887528655234285435544435447238754515632798754271538616865643990477145050779880495730679162380320348672657916283570780176899488660918702200280248147156724590045307334518606774654723382155998410201844321819873147527812672060376408978065018161108620271374329740001280}{7664451510653531562780386101075269578651667} x^{218} + \\frac{1402969738815753891312977371177508735885912189894563416151516330423347897973211613492249483909206521268728341544722754340923125087510219804800485945066456345056950895009518632621519595922477669068387725441669050641200463218713353364108518787216215513750967154687335953174681104301555598608590456174204641111893172020691674028271745101051440883078903114247578597005973649590657795611939709660186757378597111218894893783457387978556365800690799615416898377198555140541536774605036108905340855031982443602927879717527871403630382647736883681621910945878986309633475144855519470913278531974754654893658314851934115205249416728123842755269312551129302450756686727609562829057939371526937217234615271977689813940958549161261073727704815574184112735510159375680689523018756634536863122089680836016063572309193780447479366318992270937544189116617818546247227378248235746997340844797879249359739650583938848303272032693451042827783393785203383427396902331975504756736}{22993354531960594688341158303225808735955001} x^{216} - \\frac{292828972455305209998818872309471508538419396825037092123609691537566093250436514765987006542063442614206291507376660689033253403614643627040570937834174266662799339687615051761337095437300930564785295145790421939733468875975798321160174471645023816953581954343056931382189521413733255151288697017552613302353437039244073825419772902081007200866566914591322935285940270396402026986970455278390477884878447145701137754163059864105038935521431277759363203778218904573776112772417252561631099606465248526127773804052717724032205282361226005106793841420188537472327271718366528482645609976327408322373768628406300464750253179903073973582145789140929581097587070858145820671912659666215731313721931968180345601173223574666057847349680396771850464009255734865538540315127819565985291852093778480359914485432580110204956621271261294149769989278729390626970827164448643295605241232619263197704149953940832713366245311746796204193156536977414586627540511891702939648}{7664451510653531562780386101075269578651667} x^{214} + \\frac{157686420121134235108388815074478940272770749033150166015931256242799424163678562335270024541154513070355400775052983703498686280723906252230135117178888904922368032757109098094682251809625447315818406982584777736579473477585104691032893340908670996925527613835431449325805623383161583338612419339812133689026731856063751139857805796817288716967633903293968690286587976144110863908896587940311093085109466741880342967926340080059701767564837793733260048195655376175981678772029871391163815622418793987844638022623272916283880206582038466234186006406743949418883536785668399450866123201738322549120388020553820620465899771075947927591473409220975324665846370463923042359740292798244757599848742922542726065470135910685272533816118890400400102693316863780097662828037246614001478705543983641948618328165595050639780174936656591582533145915896757288728124438641543661516062381699340969596625945863683135025661151516043059982744446155685239536542482934947381248}{7664451510653531562780386101075269578651667} x^{212} - \\frac{221743193919270938889586725549866081793965729742812327642276245369795872584416391317997122799132496299038387933596316115052604101137394829388256499083465457792789260964392761640247419178432257299424729525130401654538158098532078237729096697602305635930843911605899269572893884427752534401778258774693445419441262112876162917575632058612238389343435862384524668474424418417144348017078556625064495356925202187569591709603032083096462249443602183196034849113853666634645882987951841731926175827596555952117008499879779532842231768609735641106931142493918745595093468371621077721466363261727726003143044902620009978547449287333027096191870427758172580995293650527655814529093134693464273350762799174476928501538864801236923943866652245031072563680822903938285728391672740321540680404748384162980460304280556400091488984581735138479208018126548969457646114367330337802668984600819530831735901791004045009073034443462622131241974419518631752992119760599100948480}{22993354531960594688341158303225808735955001} x^{210} + \\frac{24556713573473514644921871074142903562375641191750023441023615257165070203149012201233461605257780773206115974320971573594388367132249147268534353946986733002367540061060696760732065567026745809658570246434879824928416864571969032155332541949744709591851722861743060222396550257566530538441327957352311863310669935423447824535312349353454684814296296435283897278003525331041259706246700790483254327666743724004976457795677843063912932745538848393723216893407813049572980612976704179474551931871551080158545272261883291264013488737406279258923138258531288443568709743646535646372297823781556640272606523383508839936525340021222909525226526532708844872261474180779183718644511400295059259146806947740176082736479125282540059748716601853070311009313802368235267795401627391449789703735710286106305886869551867526380992067247246994549940776753456832333185591414037500993463001394837607920440007212008103156323263240932851891351110916364277285135971690479616}{6126659880618330585755704317406290630417} x^{208} - \\frac{9244905953993718435755460876212890903093345076161610921685784783069912603332142904825685095553070875736494297405081460324762046232251629147583839858395426372244056801122847645725184693660496928010094523498766151683848145311177160260846175020137433702234480249725341389428749997469785517381983751443860810844506727658127745018534784560363658323964041994334166193240004135699452488828735643775166507914792632409819684561606987266011473355137192274616694360563047506941948017796659334821058040852002924510740978311116875213362906044833051430403730224763129083199135192779827337181940091138671335547119066308859563025617345449480759054782695363438196741550333228989714497051374800898827806457892948040629611716518532970377089591929607805603130219733236527725667391079300456767937122549859403859540026208100576140133024557575912977275428405933630615081739278319025710777411977594867635256113177514282491413551993139076340932492913472571761399996182356295680}{6126659880618330585755704317406290630417} x^{206} + \\frac{1060787892152857476115046857928047656820363033387676898373423483850061544531886262862131882578719136486020967826575011314945505862422075540544788720571290215627081061998173966861354589668111135856025738733693833216913671816166090024669782174847339502063885136205118471452477254546501845487021642268161753854861208705440283239831795967138445960469448548376005905837569272694765213655723911500213610887747569325709253239167091399272554463884977430595341502642731132060025115293033844997447101274058461841248625243974412852455316989761119113258946172001098034270623385552941950709901278494049236422411442909174003163999178507030889808906999560763136533938305817753705386487475826222227549430418683737635108855796496050033687835542552548363330336295412192618164925080392224957585960328611972531439171817588540174992961382151642103311099738435690865767477916284810540024011903534837847310316348778558492157066652513616769906925009993669745998560346381484032}{2042219960206110195251901439135430210139} x^{204} - \\frac{976006515598873850701987406106764302485881428506485441339504943158735118379436084009482936256390480161802851392364926778366245197670065278745418826079763526178045039580116317943507625750009657944403744136097964524508034862435989117679765352896461345157818919087235920759370517193120739104988164180639520700252373154484120336008414563461663254587466602119790628512859148383476264932573421439346237881939924727070819471922856642257478307297769591314357280225307200870754908550312714806998460990170303518495682906109736764512278841518765720004012876725156798785121804407187444855099690075175255725664153954558767639078725880229563977859357588837411557479893432383321321462568339768235705759500468381834327496311073187377121506502385652742152183858097133271738513160946826580527990976645444854446272587853486878279411424234520205800973601083098012046104614486726897065045963605512267487543880688815920692710705331247764964808540205444595318643136346980352}{6126659880618330585755704317406290630417} x^{202} + \\frac{81897547200734986617961238452721410353565955106751721992638754769623624256529540996071640927821550243210890490480269620406188965427846852630229949464482305624718302833311152245704370129914729728664206500900430549542037046289014922543273839068408389218523461934450499777090634130804654783824797933267055480056168557898545072015862846763910837229623890433854410342776615579878869300503611486456645417374160558752601015740607912339433507148302183607594360844584928652604939574448845067959739929563770627792118685706530047269013449154952871439894101955952686485591976705407265492490329875763092235152439716438062625405551551166385639744517418692963382296351088826967854703597040607762560323218265771869144244019723981785139470121444943763076516674744523384882785916470143105794849242739517646250941718870002765014460929560766292224122988017936416835557738451847072844620535798648862805169513895853396408683207661967765635530955493695124168936527818129408}{2042219960206110195251901439135430210139} x^{200} - \\frac{4674623583193075037277278820391411270988098531531706945216484466308230094717818523402330319618361052931695171417528380316227642087602208707611931698581964448919288500925595382309316074521108271147453087282675026920091305472826490521807000596401418543863459400233750634809559825852002832049445106489555839686491202228521986374798484119053883996988952855891951337196622621273729563519729607720545901661103270895843707161563884410898350099296105214202676275848439596756214017749140525933577536109385265335433569465908297557071457752056305279130122827045579308043351607565711680561432593708132265597323256162240119397457714173685371778316491117057040600970275951626488379140405171954457923105207303739529902136928593090106718579501105740392547760199702556616789964126114249552489597114279821747486016685822989559288449180374550385810777928556875227531171340047585646124314689589067573828053375381094147078854416255642387590534199575089269405337694240768}{680739986735370065083967146378476736713} x^{198} + \\frac{2063569693401612766827045948100013523262195502581690822196828299156220878387054991738539021728209944490851027417999240863319098227676327587831073666447416099030464717357551243161717087698511632284627651759278990576370102744579683989234249783847718497951805264600996596565662117457997758741760891620982160623934007074145353954936935484409317512859047264929774168434812383593049566342929549907284125155655569453903606138545222413612616844420919357328868195008112324804646050364488907448449921356118729255068982820560822621336517302337362663815247416662416931582461999370537571073672440005701626940473858635387464669327081329613448197365257187307383887720016229551342619846793838547102160409551759426315906282217332173369401040401206088515907950469547002305860212847711159719234413625393495451851891562847338310314431584534885407948305725836923939026911557415620912850856415558821009549904880344221804592579776654306865546636138941231897392395143086080}{6126659880618330585755704317406290630417} x^{196} + \\frac{440051627646558741665231894389798328219722560064457713338871511164783623173311989359182503130574575712997127608989552699100000591704679084231339978987634219428156501986363990764913904481173993165419459319907209892680274678189478009548612758405800633146542612418481297598878777784317618853008318071030727307809907701489844182080096576461283577438785431348269013999764583639493202671192244750544635317716707230153348815068391434124459261658298314382816414254291029549546512117529937984131332035905713288957713275407176767420918559693086929596881162953916651320593531678581699220130580203825410488080447626309462611892469211847121287817020599473664625895340866285811271338662707177880985218122339086339721244707581782437947527202344159737151072670201643992024151261470600813311403661139961263442266005167839484209672443654138705423036781926828636238247956800936471041424490498262735660815047228150393033432732530161784133543453414493947736105156608}{4897409976513453705640051412794796667} x^{194} + \\frac{1123977333180560158339759205364497672273570619084199584779265344593633511376378782595564235115785145239624522949815359753691645927026562618130769334323625319159689847943302403441789336519277180203161974944078464912691886778792266248376435936496547895276664857702199806326336938429346493514657597192747482285319320832219060474589323915855353192061196188185862337867180044160863381549588597446612219651749699890851580417060576939025751503113187324236252285484099836526320134617420153682594824092365742459584522280461302379605802292006052760682188000169817423785853828545039015983312252765189855521522204137505292915243837613370555198760810237620576524181418777154192999339705970035241683618784220977391026965020881677295308959993595199041862139208493418817013877074503346798614636389403013474775469727109380105494579467499621052612702078943818168915701123886967358701403578250355808275687707137146614638929813299424433279431290985279949067574575104}{14692229929540361116920154238384390001} x^{192} - \\frac{42693918493639745407656687509375827088113446031840854373047788608488030202444095399053803600070637931997000159216893461393270911539465983260341813090299142731760509907173385037962057039786481340355615429622561551761503272651955925834809114852424621274416722895773256495589098850402611569838819283663452933944424081810264868088010828406690796745684985909421508473716087747333544858635413136852919264371473084979148894586262009705329709413713858338557440012096353058731432724826690745100662122378925087221941540111455094511048243489756915206215328787650360721437504479696112250534519757534513751690474856590096973571610478559290006055320007392845877677738614301583535319039854008470644872554825407901628529382323259482732225127934043577927635419386601843620204705407790123852521504623427493218675754065418964956890139610960036215263196383907700619557578675409912093870283833739640760510502989893703691686551944275262990671532715158664661048492032}{544156664057050411737783490310532963} x^{190} + \\frac{472979646461245649581648713282155790465597450983008342450482034752878355382301690884784062969659724120167224666094255693277023506558788098895475012246054735299943365262463657366091603884447759023161536156727532710617140346962108952524128705423458531309131010693269738724791435509209854719931290535881027891023430070334114727538029479909590830786561740061139399902518614732202735343076234512260948966422009423626423116632876104645834005846100148089094700796234881010446864620171986563367898667749813260373613492468565205346462743297988516442040620246119135662430835393978252982741010163535653320719766595743899133002447410139877279530947737913777205521972142705908538627744733092620513681354427190944622191657180142729375754930235550216245847367636771875032967217063646024127719902201472144583371761891745247579273858261820504468560163780832526764875998232533488731187258912091040603890083780304773785295821048635356247850058775345119624880455680}{14692229929540361116920154238384390001} x^{188} - \\frac{107344385913779489851775186287973499273511829604762589690255430986183211656410004458001920144479311412458170452683527212908475494545389786842615891596962275198817925376994256036365960643063788928368899706858702073101239674839626286115155721663199545087634351577125080401641008203159707331853363545299124697697191863274060904474497023488797990963896298105022635236014076353294251614514034823648917468398423304263471770740593939388626836595240889487685226711393221673988761436255967480651080173619802559836290368284666583767846729516174729968588516320750499550650437280856988557252281212645560789066164730170181593531709074226864655467430147939443237058285259136242469953056677015812744255143741129023040466004946422760693755056956530308056246493468303521424397960688258902670975649152325671223087515960145997416598068946050370836071633216895895363214273600431294567168386731953750830537907495175790044535878883455914885225211538086932494682161152}{14692229929540361116920154238384390001} x^{186} + \\frac{67146474339709181016330465592396928976925426482611734497257286767677557051137744030860351590662150450834953996360037288752590564223519894125563080975455152392503400347431751222873869257893852541504787407957609813432818106326634778070757744011354573660641913356340918853693110205315469006949992363221094178935191248152265203237249885939983011926515071773070297527473893317569922751201211181698429661485167039117495048652633210417619385136965874852611305125349637032316433450937587031696511071349201506550266019656629825187338676749699618659339924536605300940791617570419676371552588751677368041934950615987486850408137047315250992504130291109256793542371736095210341990642096811629784516219441097056679465156027769872788573624634966422184416116344597068764115461137660409223543080820635805740927585851955744842711380999431626335583368733004069634603946824555346335102337244769679919758860346779736871579886276655184672001119810515064655446016}{105699495895973820985037080851686259} x^{184} + \\frac{678617155330273402465464453805030362247999683833754382933828186661835254490177255446270983933039165038703939389969651928132301657193290573868568929935774840671618539529831250113902589079683422955975822724367154331518996903677688348548819798238835083855978050630226802267003030874730720965344828445387544252001118690835563221945826970799238130592586508857763508210781631211826041651295148028970089217134694879614166306918937063654129575160367983996595889196200103294965531566155197703542601707726714713893084696092754987833384555752876907728153430066061226306659370866400836754954143388134320997796167661759370670576604901468950711239765941826201213314748514270767314750241321375320433086261179219282871149662439316935098739717136446401006523116129193735788351755131493850537587646716171997801522630951284711183529260458016390562276460260026909439074110764831538199346958706220226692385076886747907496761301659711115463973854004193366812655616}{4897409976513453705640051412794796667} x^{182} - \\frac{192905313129447033982369591679622242377606096450442440901013040432043791935382430524950426425817512750844593244101742283629910253634380003822124515709775513453336232010708920355795799105248624233712075867283272076838867644935472071720352843777751764718215589778825913144098883711714923618901767568336204217847258272846493027959060800336600861242396715489678119089211135866845421352452172487394315555690165509978678294877847465193892957554950725193830261769229270451745514464681165045644327726555514087030020293629857870872072927440011673042414328490448828786575578252489236075786292481357118074136966460514040514132236461412357933772092848013767347955553055913390299042591692266248417844496168530037535832422925552898254471311916940476327225402617525354222719220935564010407885312942866060327918949422547104964508718452480393146058260338461971290909935466861059112433760747855861749837635677971766413798637592211601094366896376660872249999360}{4897409976513453705640051412794796667} x^{180} - \\frac{3392777261346132047976394974053941082694428592900275255515664515768621920688970479838596410560533495326073036102172325614551229078274749854680192571561260076201431209128979481351565659939632367381276378126681165141585513108894315220549146431054003800324343599662664709223463157234425352677206120387318254336753555916634415338479581639745156667408882506198852540979710628133179150273809330963860132091353032766781804700506419397116110390425388477070542442898306523291947355837413514418965172692435224893684372236257549041103482981650880255300117974559454015048364906410952667470822603018878091867273217738188501677317141728396254044469029896603162729599005519147534450979830120038163285931348488533065019411044594965717432535802574540404016144280985255023971205694766941279590098956007321408025485312010967011819883936433157632418914672898728966813967546135884402253169587611959984497213048669333924428047004941577550195441057353653288960}{434977349366147411461057945891713} x^{178} + \\frac{28787979009750079857457268283990522007721292032239826019559595407711394952207263554364123453848928112686810551444424835607750303864128750908515547934814103714900930730026178875869204569251191390816567867678596407385976338254784749887017353283380830553103768247824919421588554472399166869305575256971829586833313943391922073174383796187571174220162964610345901434264641725576640043472318744454822981407405545220394555208883047363941537489620774248454418892317346844241829043317099859096066973406975627810979252638240291228885392785009803597879130312956659081294732914735552565931315185301236877596827302477176605919274658579127873051526250568723465889804028915828429542362520293356090300077665744312646401001898506362648829132681816023998855976880933928535202671972119579798156918574678478621091730949475429663236232304746107769526421125504974681260267257942679226184926770126913916767127868042355669507550650222228392787029375447856054272}{3914796144295326703149521513025417} x^{176} - \\frac{9668743737618829186009837611081554618588744531817036253555550289225299352071832284532824646364293697069331050462272172181330722971494361906639228827390089683747357082987165098002770960835567243054332249836042418102656413943022684618970297515994231224509406841786832592890455216721423344980617614937680268882527799781077496067014192087139915057484796851962319721232210422301101789558499702774160551460081055123661790935900941185779387241341415231412360611122689836473831390045055756895834040456897756775861104839267702457022334107940719335339272894046920357768914988095399907735778152768577978993642629170041470783246834236598391748963634314831748485355828386062180246234725635825966048126630434365050734453772119204307341962158787511694583267536741367456567217878121286665119583040176842984371694043247056142817592782472336896545625427044026975574592478262410227883373489777651540073760783945422581437796111208274171893351432335252258816}{3914796144295326703149521513025417} x^{174} + \\frac{236395797049204515055762235846439189226502490612619737274830244835363081558074296455334682349435975981191137907360565810928160313132044559530376398586109630269737834761924168267045322663014169290267563570600174741907364831706524833503316967004851413030819666562914843027958444783090411232013794356452706561566464259559197251680740980692190225453739418701884539171950290421033616257735606019024761381910781313971654792594978234799345863262001480352314338379271501207299257514683193161679403685694387599047728259442232484323313705139547803130102844382901069860537977042515322888754675066624265641883605162195647573815985478192681161660263290282396521509500519741858242302743141739068696000676349478466359090257716666893143366168455348175390740158526722154279606554901266279785631925891360635406738655442781963712185667438744613443281290178542678230962665326154604834610935342409021290149625232685838348351605330935696158743791785176203264}{434977349366147411461057945891713} x^{172} - \\frac{342933695806208684814737224561799430591229511955157650660819031380244329553179626008706335465520362126502140608229190557345616473132026588046917894278951318696541444884962234919805424407017941718097071685679196782825321842257885064210587660399278016703895834990680275137621200601511399531971468337697450817310572781872954266591364465177551255229636542493853404073440123913369243480728613033017965842881158644496290274231524364595011523630265981371472897819037907279953998274337185070374857533455566021912706960799059559633532284433632763771750964748692651007609792338993510069407371079761403018290255987455203085806133800434625742911405762747636257533130520947083268720250072842820515095986344574404991757218025377552056315621019094498609473743067095869359996964887831128850236540443273962570225589608882773811693921457985308848400158507299593978013357984638143945487467826989501058471573922930125688291426433650868447641177303143153664}{3914796144295326703149521513025417} x^{170} + \\frac{13789577611957901133347570781359247335059728524925474893923742234425649002383835108450951766871458649083253180664978474526148144629641528547488595437121173482105869919449021852952026026967564825536055739651664668539544529909315746382271025130211238545059408852676581553118780779023161683486880227031505997800568077186570920078913126915853980735296198985580850896529954830204724796855216105559080777048542537431558002020993200041228607465437021126144335271706428203043383561685834169735736763869105884254084939485772219512581860702254670238918853022416927250733391550867780987361549936363161816979899401160178358193379564621577133781105731196953403138208058808163222775390108342467206884913709147072386573959339748897592202396928918893443692412142691680335019949819283955748427513145603965428809940037700903135948242706413949743053669645745358356866883659169958135393350708911862329013123471631654521189058684666666361236534563017064448}{1304932048098442234383173837675139} x^{168} - \\frac{43591075490245781470880842696937710119358118076277735820769824536022657907471008675063934640623389007935331528608130931829451899887041012696320179028471464910775913786591805224600860045428400889175301288299195708555117382290644069448946648120460440514641717279617617547234420412989907171756190023077946876660873699372165086050780382943005314794440889184631288893983831281848588218416789710452258489163639694868780110569230483896033898955850714868707479651116456979538088713598901035380681130968289281467012960929283654075120862600942957956543098048926072433335745490100737323271566856973549602857876679079562446807101536652963002582415405389035374396013505128832051403401663390762356606678856306506321593616891656423452988584638001679258334766686368504210355229064010485585984585358071141130514643732817778706687081233277585312487407373432534031234037459047434767843354820676551275487214494495397444198508821883132612820603682947072}{48330816596238601273450882876857} x^{166} + \\frac{121415762809963544638358643917928220322957232859259751723671010189661452864122273352679275531718220037255510476915626664463286688750867365056919177222408799061368692583570032541731076857709991951709751361361484709315354419964960570384791350200375852402658753395808929829636354668996955698737788925387246004117050667271765871717408475452173493834916086565091919462090171999049828739688232752970829055712920647444382744507491188354712345259202571128716242400617547405757452248567536405388352280098838710645465122182545197624866411705182164901030772026280822102575672127156340755025289385941877037547568122495324024197226760830666932411250582507054894190615155461079630203937606212135326504236952938760300311974372154530950180492753355650615682942448094291046820340493726332397727314689157182914991524065271987414161746012910940577742242669876630225010513664744799871639133111405908507320442073070324445973045734057721435410965463040}{3129333448677319506914085941667} x^{164} + \\frac{20415845205180239100000312400362906420404232448011917756248104040522259063908077672738934824515590823258891901448073520726658667164929518552754320115359634418608015411977529545622895881727287912631808015020237175768580647549840973561574062673405227674517899737795136381755602478708966575545348646069943580340389244433928053113326941517284056895747407270672366615801430996079466750087268763852642335583525954567067899131087963090028126956440901447438914849480128729123076743155756774086657118357484435451395545796207919155589705050712896844053672569786599837132273041556006354936801117912944931088918968743287016595810903112638820698008066321659891121031205989116147611270797215059525225054623546814349063027152607017600934101560725855735612699099616659957837326121478047169382879270207722722773710067042082306460291049203045194168270638475420948056431368411178724916919209971858735119040901742363733345335812347879721505573044224}{9388000346031958520742257825001} x^{162} - \\frac{1111824196789961346781362803557615078200618156377088563151427663195112729913743412504056072322512408515626720094095155109446834462083716462766188884330998083772922504307920638271246484639102127345159094839201600081222014753133907783420061225432018741647334957363155923874019989522433501510426900346795424529839247736470928075339418044980417710057812584845438796141579769200203752824505268273292075340533522438039383778298843376680777362175332282018215614803194863842155028742407546653656735505503160161749556625616235091034770883502902691255279540087346653323963979961395228364211310206771905728738232265229098798120646602542174698452304309967070240058884521541185564126234778532889130454650276517154078862898322851269267485600291129932112307024430640309925021203699798831456862369787851852348058432896795736798121974493894079022296476654049016511345217361144060671153142219907153986539602833755146548240434545541094716668379136}{3129333448677319506914085941667} x^{160} - \\frac{451823983571337459424044959719669966894648358167009453453031604184650843775902995512534719091880244117938005402227158397991069378926034846361121656957214506511219315213922626774429002831454865263255764706907827041081543156295158953393241310403597290667870964719181811631362250150286293770507684060645776121352797248533740254031553992283333485015849291711177920591560628317632130541313218897695348595842232254841867227767327751324378687935543790735952635211017552253454935945106372285225275224620837852352862280586026087685356495100380656908989526037578890363753532635061031634452374330559066360509179838510849499410942441290577445478026364076072388566498941115033864566614781048831034493267533853486727657747148313714318468361181751433165777935760040684502129381531004606964540399933556281534530157873734049844659767146825657777343187571473717998288385133530416282693529130471553456969636547004271646682116681896958894494711808}{9388000346031958520742257825001} x^{158} + \\frac{21785449133648072688654359754936587160741158756025149244945890601978395662674584475335377275015538858170773076496091077645229703406692038761936929400270222053128123967296327143197963605594790582853229328465374360360914029432262744612943088130454168539334554032540090116763675642749856324755521730701338831745102139086391044970296201594443134394147516076962441811393607565764527718669264375321596271585593280335170783847387166655246890638425278452107056829855086576237473813745862877253834159403141836606452952605909978489131344521853700195600772993982206220454121030634072696258558991513434993926449102019521821464867314366517610179296354329368279077122579484686197643852261284467757552074709460611862254335369431221126733519640985969307477905770715026469032213482147363953412756174776636959605993468270811826506072501314849355216737520846791685701529727355089347806511573150203407468671499009969558411084778929854916969103360}{1043111149559106502304695313889} x^{156} - \\frac{31408740809109379477927242200508627325607521391969087945050612276111259327715097133075846198586385290820332267894578422084064325831129975449119087751025643111297052881876585211776376183168616063598950883539762863694971358275572043356498200102361032049554464802701192623627294341252141369200628388826673030030062205168917345522437811172256693477291656470223986045642751047652915396265454623088256228658278701138149807481908437347937305754627107407301114559585845438929368102373224208955595515204832214388647008432289978799246885174952949254153738596165610881311620206951589049406905297750332587875461497375316074718680950924539452668014893283275862612373968305960719662813034591109060327671624178094834542355589459615548117901912493736376077094149662374242458738424835256661786338504969947800292939901079103032548497334353663685649563628959419175644107879275764294433256087783087804358260563936656182390509566302488894728306688}{9388000346031958520742257825001} x^{154} + \\frac{989897437017082465142326105017260134474661831337393168570274094887716908645976871965304438229632214836133535495454028700015939272788672164507936553863581336460624462992007145513779538850232685266159017721552040044333838762414788264136269209844574091073197176679836936992945394874255057015019702045951162781772287191415882345368701605738901168664773057101458205530112617605660337337181612165990542141059385746615234794474824565464954449306260564721382892450648043708206407017692761253560343317016670046239435195845075014585410718360767968528616722970535268695040940328513759420418151062529575469560230523711878320214699485204822049885097275903429008114576358388787623373939408053034654288264386456361023911053162826573500639517132826223177424671483914717669777301668768562911100474348053493559900393255782487537719925239698263185898615692375479264264598862136321495953904610485788657001699654530008374267812763762579166199808}{3129333448677319506914085941667} x^{152} - \\frac{53343806760014081803860380337337858717408310894083843050326522912538476994585349864472264061600638072078813603290599349872320061076368086600835349174983897184207667690359620295496362824271291233465489583668181830832829877074282271229959842660795523963189969026159387582750561138411509663133318602885675718706726075761927240868607553299066798057567794968653311372491948298249967062225309373605889959125461119649040737867676016272912413469591193569867320000929291380085074122949826340641109854684041082140918489060285709368411504031629275310765477422288032534155172433924948268866574887701772296810592990408292784677821218631421486139825226347417700435657522621360809546355237064585408953933289687985578178387941882536432271830696533788905245286054611723485280985680157507499460125200759042338435382701483728953716117795422746026067624635056662674093518341549037859942019326490134559141329013632057990040927260806519499784192}{3129333448677319506914085941667} x^{150} + \\frac{516646319892200457303849547939540600525032395800312254191975072498284683654577772329025743427936877811771254285632958501112703848052829874951044399176912130646944897472479976296159368001040347610115771403394672819489639400208143832606889747683123733979262295508657350390145724164779298319303289800936862175223149772130227406955104797814667067804856052571392342927136137738558047157641426093978243160336232490487991442014778264205710206022953439896006858782228475822085763362726617614917624231945695363086660499494437659109091989251700192746020378834073500395194839074636604111438977534680157779071531348644843836564732557947177081104951284149814176738070991317888521228889167688636248950189439663223197461181072311599996613429189881506612149740767607230593697719494677133434397709323175709701289157594421581379143566732358831186321263479064791394274656844923825422214765084681221363709795780110468347834485054317264896}{2501465586472677463560420417} x^{148} + \\frac{34930768256671184564192974883284174859268370565019107306646615758097430308621028886318482451612926248998924632907562278355143197213617363259497525475311001844976634003120260084410756057723158730867709584111262454434047103391009833640540880357083652825655714963389382835298787576549056536252380921085310943702711370325951972437617032998344313374329880934419674376766196692423716281498550607523193857966714638260393765501217058630589491765706549156955884413067807208299390131657656065967534087417431239364305800967199751347463687978587179226253646980345673073234083613145139752878812971420175599550892255829136476984593824271156000174361129959739162109195420454173784650604454013056266173780424719350656111340793142636782152290054914459041360451767863874319122133167243126440210150164721433753308310327113445267575151219535961115126035991304383462028743615213538834712691578343728692001241177180714674617428695215767552}{833821862157559154520140139} x^{146} - \\frac{868188481765807116869109210267437045473301569505200516091793496691577516730115578854163216880065034955155018314218392142503480972525111489398915864225124420101667998526961258905185439159657088416285332055681854621099013813961753469484437016634961593002210636253289638332964605583347496455675469523274976133389124593551441205197536135522914227466631159128967875136614533842534516508758334811666532964615518318114331001049307257999235372299079945639681293596243445515675447069897756865774392053504614432346440251078141689683694615337384390478383306858322470962280776477624286992890066683988638783177206993864138924418479692892865388208131817706236003546729646824900225244421481173591391099546437930971090535285638608665920297502968023336404510803461024549045582646713248693154639421538555828515505921297811824804052763792364004277300548188667205270096541740627686716567660239721317150637003882620112503384696676155392}{277940620719186384840046713} x^{144} + \\frac{53299001843892340717389639907702930740027026150750173592558292156524970325568416547279092171818268558868985815037385815631346192602716687678338652598222319502702849218218850204179076120236119473818787701066168330035653841453272506661332372696997438186162081281166156519079250592422157319780038157483337231892076576654376769370041859536599570912461863645056430477675007821185183155639281555403303261852518542908314351418063378425506858764821225809393553206208614348260344412750669530422148158421309888990047732785269321769306180222092405697608874876291806663081435807256838777425779347659870510476788520983799971387478970602850341728349147785648259006818144772369464935206238781944529725201310788900513648045130656194174246268369328818778415200637115309599387723100423755548267952891614275013468132850758779126652666780720078423357441250773224887341006657704729069014777282506497957764445381813234832972778188046336}{833821862157559154520140139} x^{142} + \\frac{2712059954210280488431337377260144623175182410154536623068139284543844842932048474335380975647208672156011662361945264436244202533384270170638406790536135930950569867746231105872868914136745918804608695376627174265866412917282224269552448105865000361468197541223648768056760016230904888873678610534421351111766694418893123061284189309163755285165678466766761805128586760650701087584648130161627775347530138337327607724397145279620640404055191035552311868290017433080474259072008743985761155040897274961559339852996866556308718779770610777146440795955191735951960220433168738799147365818716598869700941589799873932187133435597673668964009391599005595108271875437281511408244688299228431861872321972636497685127928547997037630314583442688335367991807421666531991103822813913584688489762192653504029586811695087317247893233248213263069790651827055885550461881876020391326767228045577116812593994173579133856853786624}{833821862157559154520140139} x^{140} - \\frac{186786268128273122657874794230077092014202325322049184592507458800035930663100780532622655491854321502311030561897837415809433663377758254338350415457166418438413523671795364322098727963796432199875676828625334774364988008992042309655058827180520475806952193171051943940904093656800327253247133875060433689061545948621035509003484903893173275828712697280870333614288291478138730663458059398763814867215167484619711034579604050439566700843976687284351316528629619783233569175319971272463033613807860024452098357735777881276288774002335935394349867892222879161236660015441294005578681812852828730534790054542078791170012067086618201608511622821244524228332364608711069826443243685051721944579110132582817815697054162400118138541723566517662414565581508846887026216811367656697305623756250296427869588366231898070858655432638288843753920603187070020479037318267003879902684640553009091151575604166870896565867773952}{833821862157559154520140139} x^{138} + \\frac{2106836211264021589002226134801465392029573079686001432114554557280445526549554661221413569880262157750589062211903817399241204027222473810651163624910941335879298515311944344948448995800712925597975163908971034415184445675121166784787925077477934881887319833371195042327555254178057157428266678221917824127715698485097348902492077317880449637053144454675356348866787102497583115600497178179842999976877072914226437313539992079085559488833015785392498679177555765195680666296569967494522598666867484546259005007812191345979736496520964509118645398685495451082414157523328717480765809272711933294086709123529817839644695811742927004460365626415043951887184844956549008292198429089611666587500363400416484385796129218091401187807374790579720373930852858225421447324923721114681170373954790134535382622503454824777349518611758798480614922353384618036901230467908055853037168975744333100209847395411811775824265216}{833821862157559154520140139} x^{136} + \\frac{395355045081825440938613488878167970878144974406511620485199453147724777998112072500440636303620281771232430359469163954411660147181436551850708209598946442165489257055436703188294326104944067934939933861288610730868798529392180661755319373287611307963814038312197035674736170955105771972446419723538350160901024791161093531904789563029877043437178975069028208572559350801503570187437981893509401538965282513660980572626264322030247004496269878619913924597886609763529372487373424431682460970313622514384069702562008785230814370087433637835190254042665409527243142121893601322071491959962980912984606652130639276443206465962147798729614487048209367342364827184548412768880737472573406567113836722601072434043909827429607875866339575637451727354053232782023794421086951175519425887453960064161062685929877424601580793320037248055094923109572046200298948906184041578482376568399678170198517235091252604567552}{1999572810929398452086667} x^{134} - \\frac{42628286731696015132157672673735345734065512634936710431847997996813849690277220070738744107814180252064673186049527467954175852391096876161200575466501969614534991048646289009721008123673363094520114542256955423145278848009144803471909610878163940098486634659908427653476359887025936358395238502984653867586217588313878001273502602952400785826142346361341932799325900482823316139501108684422292607596983239381948793622941849659556153530793930684033232483312927264521014102400562635319653644785915521051381295535366538930615062337749461200588707428869942044731668518987628746533169265971565252847360556909779728695698829133429933295628197818562396493824038858093295536837942991438131606756458094976202574421021206200849810903121227476707047190492927319541522705110096508236455494851681577308526480229956874291758883688835417843582867696987866276161354282351754138840678303096263349483999816511653870043136}{5998718432788195356260001} x^{132} - \\frac{24038259646073143883732884772285750180158482177182982863115968438580267254952699668047208464959607181285080679109244231718636543289908355285004651077012053769632058444160869853525678444645597450754361287415949102687977308525997987177713258529876153488455016808842430918049988456388404318657523073248009854431985548006031346661973750255282697800314747835625604561015329054307977866016315144691560830390881919736792285751758678926534703867066353362125208035412603470088400815502239211988551897340174743126072150150740352128394389317889460017310283855531223554042411404776480671577695331506094823560887695044355772675644535683417026147839865940197081314420209618679875255468055040881937996078697395788879013273331139415563490195814089644968130348561034188407989278905907614968890563393394678303305311486127418725859145225136802163728536057786573259471739017745660411824849259458525319239492098812798828544}{666524270309799484028889} x^{130} + \\frac{36810701803250446265568085085372586878741958431312382733748108005002082501474267599700627628124535326939513582614813014386180490744288324615849973291849233741756433260412364633227311802882811521522894160511398805198779379683060334948382574914945779674851919725409499400412094031429914307314817705233373368917788208633447702363788721127020508472352981080318013780637610014883922744108581664355638425034044745429558672076488882515833483086793302691184499602905561795143072047740594994961673179379798095750861774279646262343715369591933390249807655138485225594434380030951372212167414789842325281113756182202997927014886787056733649026775393469825509167905207881436538635750229162521283507920786365485008355416156420144339331228459533907456334915540806394942438072679519823576666372081889485581274625703578075093442051330520942711376126033212830423529304153108619203961960774146843475472480912179608944640}{5998718432788195356260001} x^{128} - \\frac{392886378624768369603300160906259159425560034496190200209577450139667163759556374966820170614877127896817112116687861661261764803293012434933685439529521091966922753635399030304942445260801067646700796970653393633839801906308267153396572551429501220069789492680708737290988906520397950684630526349615045259968158995034260159407901192117355618545800071982621983520020864504496022824799986630764896937784115945504390120263400677254968824820406949377088212947277474775388663778503882092604897694719114193135101003606171354473719759540163885225653943417987866076350743616283036669563865651455170983505595663449897570450306161236426447229616997864585165844456965314463852832459291304212528227641974116506513085680023445923018816179410951623352204993843066728646537519220202810424908054081062441763968403155317703180706683909832186100838209216745035150244072982213865638986968413029767693640997696872382464}{5998718432788195356260001} x^{126} - \\frac{17181401537896554808452392498719424194517015398069690435090485083392375212418926208786606422547643885405620528765116683926930337487612794679781837881607671409747566345168374375818303099048631091479335100023091055256112154157693442462560297644261181097022134395601794821049545799741630931129249336698663324636108471543686821714140937049536695148726641631448731498617978265129487845844394152946747669060949908556559685964096773866819666845138956314584904060151818461907211506778968967923710186357155328550556973034187491522868823729200685549003008873959599589900974563325843923392287932045748377729856881713081047939634043840169803429856768972941099917208334842179597341161663040976547097924016532516461751133725494718960898508703452955670838995660094328255296925030304136305161129859979322205517530077938862831774230531543364140184048989164324192456261688675588889632748422890154940608446723560308736}{5998718432788195356260001} x^{124} + \\frac{133598535624129799102914143059172129990722845441810046231786948674090573280071328801061151992463646541615929691179284108432127509904096783631065457888364786194212052732948169572601082074093282293894683714530823584776577225705811343111130716572880881013570484251114390630424013536271167310958458031552173234189205090326603050302851336012863602047616365520888110157340154712849007174907480330186973740966581596274617361228040684555642676239965020901148098544895755146354900077516802501813722987161480551647088272627122809538237540724243248121892188680159960286273069256731483834505678179288360170881747733925004278250293702998273908062027843065625293025596420761962719049990688993478090016282213926763715700585034758972036913776237244433686536498031549506803516452756324614689634520428786850644643891144671567953528163706218244886778620654357401629800429792637199185332052115527515768962344061763584}{1999572810929398452086667} x^{122} + \\frac{4256505824417130273255362716986711238326467912253240147482666856366897085559426984405242488965838194581976316900199020603626413918469331093571586550323814324319269938320333821375527264564222704601532358972420064799732195927387687425960475518170451936767034539878146280402657006254367017633820631525871681779822135454017078451962266016048015171388350439014916576188938865576909423986626725970584346244773949966738696922336384540770515882518246247681326344599788645067087342322476017652020691449451982869335067953174246133439524988683670707913543406177595904442411395239611771032302523158356948702913349821897311318300595115287033404939758662659077767658846454351993501416965716373488766001878868293587995417111275885947234755564551667474063761878664885867608942928778047577711540641854734380623717536113562714660588512827121284050808127105132821817707564306909518123177874197461269953445313380352}{5998718432788195356260001} x^{120} - \\frac{18247905969221488212259240847278684373144082650865433185525023301590790782916227256205711942122516295765524699315407163149514849981914802628402130500928653407530621269394366438309523769616062925301304756390846861320679387687434703187850159207265257781436272603726037577027270717592881075164727823492137415944726281111304885867500208315491343679320527106994030931369027620931096274391583510704973832424877010690420874843445945880607133920307432229221834050673425136947978991029657346892284742652886858989488616295742096288294661709440948446496476985604017643389770660040777097827073882438266726809887714677028347016809563765221861816240553147937086328568358190951927569030008535539872383318392933911473674661515576448898017860870366584609265478834986364132833860075757898359443425714672076194918494325308434995015168885422674421726949482089334066644068277994726904300834609767627333310611456}{532793181702477605139} x^{118} - \\frac{6130890542448792259329269296155100069415270879923670368445341997082033229748544629182793741752436195690499482006396431767861216345581600614606263378820541091356415314334252795439092170141170198493147580207742642653919476221853572454724127709545344368696819623282572863545569965914837861641497221110693666634772842469175966263420665413136868018391076890508298144191306861556191845572295665907436159274833311756068328754919076575286428099923956629518564840391477163564552197767155467118575899244175553453059972926654966099074577232204596267518371101103191211162518396287995012580891001467740926251137061352842874366033268564238635817801626929834586544253613920307907406204116494402952967420971637817869691639399148876796504335999441420095265966970946161887527346310693814538921842966000659736482512710602260561157541509088099106384743282708560320918342196458520982234988632317502701961216}{532793181702477605139} x^{116} + \\frac{18540284057671863957399086082256135943367043622097887751437780666519323351377250046806021217803427520697100140439517736909164730029632163973932338024994825318169990915607796567024145574557966702074686929438986394375510289939752907532206287442860450926238039305030829059952106992704440163027671363432606614713939849680452375943491761480740479774506510385114141577792790922031787874805208664042689530210963009317891592335627572940950606621587029337071226358470390002785107956493864698111481787924394890495217324005687352395486668599171324221413055986749449629860887534043264189977984792092940029795742211125587337129316574485508724464652435082744778553037248176937758157758831171499857719961980725373877661084615909435813348314578149817316863498179145309475836790963341546711881317238717743943701854054123974508706505439889470388608147955365656168292592731660532225120164057825793760296960}{1598379545107432815417} x^{114} - \\frac{11334999615880291567677364503237116388768181819238065680983002096427392694532317211029372522589346999419357555409436043167302644895480588460535675291036568769583813618917537835850653290252003392070866421477240009733302038034778959850885754028556307360199186231491138135998968730187216802430363963777216631474774392786014292482527060493715544955740657378308924927312384200497204761928827501304403207565218977032657714662330047277458192975397469433287199206305896736800912839130615620348214447361390620802846093803220930108273848220715834325346433857818607143022121531197577828524779973263932001482516032147194503486436567117287299800205631069069226104901587587541632679464580147712481432745958543013923979019494944050551866813456550587895914595572891846014838131791705503568512071128861424394614777442938678286706687118946863723285120748237256363129446628955967401335626583658928799744}{177597727234159201713} x^{112} - \\frac{1488483679582091471638313002936652104523949189249473566014804596758656459681365588484938232750835663331826383701232359073218543856054634275219309839327856665695488308173907651317573579595534690508483564025981571094552172631205762330541458345583786770745651058566396180514923201623682977061012476318034139821006458149681918340194309212615599204736267894940161735879514930416816345987166621404434541712610616602713257053781226482251869990334147618710653336684822962767576871175089333576637559995363460117956700770587781262227267635776881787667678363568220523299888831202172761834833092826602819575948758959097124626955820302492693572578150332834242870406292382037863024821109963568100132383797092138813981731191322695903077061628921473924357296343810565626056600712901087861551718835757591846094948418427370790352732334823324969764123047027029249055680472738022452775075236679568588800}{532793181702477605139} x^{110} + \\frac{1664408000842503132157717606415455663696035654417635866737126312963498510136590637284018526080882442496500976405876983564586121433869974757046966272640168390903252066047315251159571751121237983480654030664449018857577751740540486889960911208853691749935194648070656583765015215420009437861436177863733046928154843154997214803774186842730298532808775023328390614155106714114092859611972487263663948513454376701352979759451805968457102650900104852451266737208445788374286302629475460166443672604512718931701286465713864951127661493010323448514808628413704112597313320042732624933886492000823881708845725215311132070389954479780166568316036369138850259280334682871636119272830324953578165234633457607385321960721546514766219296349020034052852297630929186677722256753360068073670618071685145945387334640750074160788916122448088966525826083258953286132718242830832499701684347984674816}{59199242411386400571} x^{108} + \\frac{778425528150531601463186199918337552690228534962571412685778484652031488453340505006459270881403838006333204394084977946583289305478995613640859696644969054822463173493742896229407688772414730306781980022640114240484869115007340346825905412654078033747070672074506210722319505577569941746309635651570127483595978452688398608386656585222928258973426869215666181472102366410338180993786478148708249777028713772689926120143447576907571910078246170374557885350863244947425606611130093725515289162456483247624900798538108813350117160522695757990679259798425021927538735145007405865684778530057025352944836598599842578374159535042156660974000462446316796794135122785828214047325686877689431193740351868199423773630200683820567078537511049593353037629623773646619643139063428955228975145733309701789406356231743957104628863326144377798806511401503732126752738866764442432360498463768576}{1598379545107432815417} x^{106} - \\frac{27576942893523581442227166348358612727248565965358118648542565427467565972776979537277861665989559846111301697922375075832868808162014386386879472896328784913369317880027886962498957302068633223588305164457673134450264313217476438190486934265822611729712599094980187492552185686126924007202272620144797634329166376872945689688787733085423318763902884973678478335367651452460913766087059845030594714685504214715670554109141840005783001812263684655312045123544531660001332125568238638206513308915366302834537743206614456785786297507070852830561790769554605960158120520011250728096607766704712241345999786499814608205662668674974739721791926088856065288316634890602067394366176519618329796546796262021411223255609695570914728854481235281823328338307857022212837562880627738220413907858200582029950881352749060503656940799463233188358724342268962619632537752235619625685403828224}{3833044472679695001} x^{104} - \\frac{76463833047344982510261462919968595978775270697717104388542072607663000048645897009282667565623577748597228382672174039472853410468441525344728616026352454364081070909375362274634286695321740137272191301540378057339171131206521705314274186042721919333262923876013134776159978680623813737270910317583696819588318954037769758892287140244582375693445990051727557920736787054426996860834332666989750170544426048949228264880303302461566799656500897491704814693177719217796067295845524768345423012036755671163109527684791846472949726559810573647091698144277342176201540854039972002612191261007776720519424636956992760007355366808310380047060695652672206927225263242218891013842362478520267276577058259082307796146590712571051974923984924757316802837135763025320560047519603070611264955941820001739420971708781309952148349450986669055984669216459049287087114779849624960593035264}{1277681490893231667} x^{102} + \\frac{1641162891092445588836990255540911603888093339227861425840383321347239785816474629457984306098439469968015226203561454746900024588514326667144757525525839247508622542285310460265915803240548961081036138001431102134534769367296840901512384467785804731605702609862524899436618251971975078212584357447636201549384771608293066834873761665632107071080899033083875997136376940455220458590993687074140021064637485699013714071408691000491998534476896445985198929679262701679329259946997616761141710076456149884335397205902932209061094192859401615284983947804255448744997765078735872145582015559799875155561317290464983347765733106032982937648760068986273820387477985311581643317144369171551288559075853882329107870117931739261146267694549406578180438683394519067442593275278484757103601213291816463199324362914084644962057279897793729438393112787150392489285694505546667903680512}{1277681490893231667} x^{100} + \\frac{17479845072901220931144539360048725605595247811998100522857193734096476469488510481771117909099034210852586875696580466076521810764263952368940296388663884368110418449685555296381480700530462559957145577020005138272147815913040828291559444933009597357472332378060677250383003661837348932633732359003484980612641690402289195720989957788706192414674717291345673136241757300174545207180706409031111967759224659334593285349373663467501248616213175552144764500868351867925302099004763922942120933777350879607888197740390956793007867322149420971010925887970317166248928043378480368126951653721755903928059880722116843623299808965382677370006048115535197390104724534949910980645632231173412214434568407387218617302519526154068514800504966906864405212872634516906346175760525082537675305463318826406619186972365631816916790420509155581252634058713181718048013504417369975422976}{3833044472679695001} x^{98} - \\frac{644092634437450627752966696929888073964179346368039695749853788433516484950876945242887407852877824986290088869370836729184090253461562315104614116797995243822722630697472855562351240280009224607989234347913383325197684335602183939955505714910586944307295581509169206565741063325112689470003417057344343330257075015381612465965480225251178943755639702511785679383631301959101553498748062847317288211642407559965707158822458291417608402207111874669161992404502016116381297983659908751138646865925339958784063349115425705833969028414301539922230179165157315767656744100298996449644873830205386146914796242767898407545308691777377222496768886505206428744880572066343649238654405141650951401325163126829381422194084009192285990548118265060667941612524024627191129892242439587666041760952147798559983953527333977372387528261834038333292307470273530465527309682976755810304}{3833044472679695001} x^{96} - \\frac{257284519211026440151668291100876815249350963058782519586591857664476541544569178962877761773639458515534766923563044872177863899394866716111299077093014472720233537188103706693788154996315246994370330508516308070538171105945293338675491635924768650197041364392234342661994271390009549238059168190391910150802711064632573423107920615758258135989564900853396986010443753686428202347770235117425702035303471772907076313190944419556226542473569059395602426009805207307711318977192384610618225918249939124945182256763572765773495138752660657929208996669852353708309912573472039169509376194365190730370723064865888556396551380770590092670708447067849298091034158346923069918106989136174728891295316819066292639886646791562430293331315133194553601500514856850008292336511450335909910272405419695988171174084961510755291202521954157350780343264458997675469127580737601536}{3833044472679695001} x^{94} + \\frac{6917997182961402578106473423419263381816608171480484309346966682625937214746516533614749430550705631997728453731098910557163844716681045998677952459255887555402413751692126118215375771287851498327209081371036766169692432699583886308140411127904255374910622003563305531917250563614440199123818594812942642772949253352466115083919957577624936389295107008769913795831203863516217386625413061986020886044922716115845337479854054702051621119192947050179762962609890953153006989279237854733908664466823017043465587183713322777715534636870624224506273821119147156088897513352335078822893672933093939414509763204195734610660975908957136611642655929021983319175356360187890096778820058228070743593471688184037797063747169281527724556250103736825278751211700907627428039747703090550400609142031800912075586306377095010324693565554376133327083217226382996463200424635138048}{425893830297743889} x^{92} - \\frac{4803227392278089053138388817570515032911166972164615114215300315226630250826168333438908694436678060494553404865254906470270436351659050386065987121483476074857238889130725700137327943724797768023319877203437426534344346318141769429970361503038650270087641426495498601423370179807774090362047477811912033023400742137360439469499896238620421824772848914058887641267385039911953700679864086427391694130313377803571452710098342602442067317111032590095921098327506592750184087081576230623506911000550158275532992739099975176247005680773601501827767202603312521097320489789549235876327225226338250422034059600609617591403212436631064674848022897485973746575116171056233738028146178092594542400379296590337255253512789223417443742043658000853405127110359773982784696941562051569161228526679995550379436997534025997435302883006834879356117511736402457116056653660160}{141964610099247963} x^{90} - \\frac{1162926029344260822222240028678968529558444496295081667981139779000558229216179433834551758842853589578669893995461544687332246024118292502769907562471595617808422783902317972168762204081879791510351977610946720234106659655236788623842738810785977293814367956451438647583736297892533982686953629282539474096669800803581251963534532721681057201895634482402896605287093737945956974269672528808422739315117726499728866815778697706106257620058475381741421677661432212305104110499370926111419512277197940139976271239112864962461457200440582527686223367090551351186297242808810955569502147760422817999493950375489255885684284411535005501059862717067238836465554823710226523008667292603665912943396498069270582381551477652177294291173363818487554488616226680705664598559203063682447348454931298961412801873443842580203447973105829391513932949033418002367816663040}{1021328130210417} x^{88} + \\frac{576440449921595976416386753543820672945336524278094657908724594773458778243489157650582230848451832294956486486763898312005421710682576724882205506454789167453361406144766029269064886776752775873026419034852642874474398611410947153192265538613118858133221499371944591320326276140250031114518338617258673336495477202116646242227365608077006049430908957746055313929851103935775255587715472900348645046563353745118851601581229794000156160951851767728843120946167879225394475408575799970066519369288612193103769680973512217121953082164879677962850971831037585115160016157929692378429937266273721049401308564655298256055522135860414510356435973701216825110938898959605525998956324186683189463751360033273527738027576803041744353651079477273757135065719377743941930831245937864468474402946548822449348849783886747399267669519964562176080624235695158308372480}{113480903356713} x^{86} + \\frac{55626282811421088851954517838492073193280540989122084191016593473909816171628631767039877943076700794048144201102788645232154408368476691834056345229021547665875113778118253970580671121371614061099346376771986879068636311067363793641828268032933587665718977449913632708654043731871005260735352922991997417673015714125879667385853853846865061879976119484369728231219634704943478985022227670188543572088894178328069323592590379806988679776222683135764318582768249624039998719171678062190674037130861529991466886284465465905788325556521298028553946445816805542902115307720742619798448198966179966262651392012794591481638893303036616179632814695362330316590123107605335310918854387226948199780336671477619680012838798737565538691808093852514623882694451316164553629528298989121783096527822251667060672135137427851345335632200163600759016802844988502179840}{1021328130210417} x^{84} - \\frac{46329971269924857766996879737121752712439288646350019235231602287284342054912966783498152567806282364378964207037711102907676015275615035032779184691051609345581704058922518199356466437833782570995053162796472449650220144021410892684449428856020530442471277099756005998686821136413087265619696332091048114684866500467328141585577438812430164970840889467890187885445673937368682364476842628020589808138783113390797889192915139539104741836394131491551340051323850844355034998292579676343501073070296032511253384333078993667430843237997869160036039542238692088346790826584775249917259747801677213063783946111451946470088248859029458016197156088914006380959871207408338334445308425208448279664614864634056607904875193717987591021696977164859811249082711305064053147027193328704784899298679830821277287932023065313800647758564065959718925607367061012480}{113480903356713} x^{82} - \\frac{1481536254557035510319126270715552779236140357426786114040117691701332592687672108785472710144826645766607113974365884847475705324164300293074480637318835637447269289257031195084960609373021026673442652922995909653557274180238044022434360806508780150779013994670687444410712258204000167574554268815077386383136221324093403032846799793108764351842368399350663156180121702986774299929737845727105033115723711406078578234679661162046636253452236028737277278370100290396431897350005152603990468350669128150565702487752935790139162700072164756908870112962108774101657393563115771473767402277219045816275901526128516575568731430591600889776922323802332812555698085295609602564255271167671225448461298967467598151536757618605889162225499487239391188729869039301124674965553376572806060442364072159612921480074257666324426903851145521705478689235385974784}{1021328130210417} x^{80} + \\frac{7103589470864039928151278139533355661952550009632028378233205324972615882558141318061342764300991747171767024851717018309072056853029034900892519715246361122472975758556799296009785650236117423454312301989120679654988520840993814841590261898055957023493915290142050088935074740471949614941122664705138066129249307280294930002864232795344807169370034442582903743880945225986096837295107335732131839347706243402984613736053931168308537712563072282786871999173942166752444753693134527980271373363406194866132188645344252633756527134416519459627194228479328226809665904114332392819169208307421246193209037659810852081910235193074505788337704355682834891201997445470287618317423802919919829889881843790627060262851050683680312212717837720079551929310200558750955357411296731617977826728775256165925368067786041831448897701081115833218258383214215168}{340442710070139} x^{78} - \\frac{1648341888891879845625543747579520761729425364449227978996420020741988098308396508414847179672826566624757369789460573987037401985733829885751620882490628962352506189372779170436833502360071774888021662484348516906852702848310588222651100547069870895374829381778092095906566637459404233857385303414599402174447857858068399992475935609960536612387495834002361683111443639580532004367132927671695795427255626661535955546572255582358832471074533846270566839111707701952849148904547022918033811155038019554906551673505222007588348933491436273697243229821611994079451075691994165808317812998303518111010119534007251313275029126777684853322034943378963721945292407220382736959907384253479572680082125565720086232705780292091831841492392098940177615817413287599367242195049041711961272552402651329217582506007037586017646710237311226660543927418880}{340442710070139} x^{76} - \\frac{1633490887288740705273023007275192720058347650391442732610225297572738312598258366360344729105809613554138679620228237441547311575621214303048238174425499061817031812023862653007384104172201345302329041011157043646523005834250310358612771525300787525251248215858632089635571699849016156225006618778722606773091054816819498935868115157160371947903418366945815768292922541654735622982730553260107298406021530300496127880101021318122279693555710468872466029538467760828400363577699802847737564465596817025778504954780659774157059342597890883713474984929483439123624921171997141002909682701854131844132677184294717350483517170445277085454493760337780536773752179609877610217341746510641164189489067865144610249060749304530296568123828688443405098775069488157826036365861534132857031020034658500811546869207676934402968229494726464547772694528}{2449228130001} x^{74} + \\frac{5031854982131473801372539322624626234748690093753760854604451213694846841454539934914551124502950919407706503712464138839022714381144356608570451351148048259391530555464945616384853176055481599667800058636235969874923697707273738457350240875049880376763550785869636237273177016131115605839668015872517190717053196935758477864986689985690148937483820113486291472529672894094379299253423892283186272901697096640169812256785419475847438708110644205564434628166830009406103201593738413653877906460508331913870583723955335390310380441436884352055557801867540474065823895835995478792179879663842433000681470442194127833490326797482596921544258461558214385833237111370198566840750175233562511069146758212707393711260930341717821842497236529409542698932782514509237115888557105875882166241647911361935223891078040998453132109891098883502637056}{2449228130001} x^{72} + \\frac{27338149386959562433397009003127116295945439091898660456326738150180271642342011139061132327706707898107892590382749119316242235744511326617683941087461085855772529074455029900040799303229845027991635726887914921532341947229670383300246967570274403883051082755002474807496002669946239541270187671953852204883560341899909806530232428199774529881877943335308042258960553309830416258130914357546422421300647534600753995929424066120912249097490947287623863075008099841000496685278517582984346709100064759975207766291428797335037210131666408282754030927061002633711158304281226532190543369299368579077435568549431287577726716797674027988584487907969782611148954392769546291064280790228420547019854687691466995447374828348055730359553938417459912858931805764465685664542398651324675475361362185170491130484375791411505184522504613404868608}{2449228130001} x^{70} - \\frac{193948704537236222375190280586024329103269899595840986784251281135317193681433095630709006267413935422176523958231174402294684708155298306429857880090960181294152778154081582990944958451529521229128510589519618692477451526900225637660637391987833202437297629177751526407315986386601859439323681902715490288822913812608047644681107133766422806960132482417283635939160065319583505667120043407130824478516866025578045933644254621649891351788290405219309027035500602656917980691185844364205333006291915862618972175034322578023389806582290000321378351691482171074083465845191578867809083791546157011125972225853921534640661638107390684685351554202584988403877675958273410417009035331968348461699281292384652250549812370309274945801195566362658689950718395188616755484755775059498093952749856172444539714616574709580989341111082329047040}{2449228130001} x^{68} + \\frac{1114619928109404305521327239244699743552551301680196952634344224336748147163259838502760166897640567895897907541688833702954848682500874803045700658318752390859983545674984450655734393368374100668865874314820538147396723119201911690894740771724994320229100969201787056722828694649962948241889297586450303218057777392707472923261054327220087610752661461144334637551246498350802245638408729079602735468839274982534580478517256306411127034862628460850044152584137788728706111585816178943843458483697858834685435143460850248010215099158620970188071050368699149521030551187600482616896812604441286030489429436041534546776330749576354627354204046818788076207643794550522980444585095271796834760509894993963241065485438787533944127231269368929519099716155082924210620753592455760144896665063987828312293129937771387689559258642251776}{272136458889} x^{66} + \\frac{129506989053392649536299650614996570425255039854105935388300061967509342533180160563035635224270320255628431261169452075221330144358454111741522047908058259736139968277697843078796546387476331472209231207401517075506078330536897562037207652910594463300073438736347192518811563697787999498385356537375293521118764657199986058894288402174524459175808987338351765126158531453692057371367264646252900220458156482428091087166266221595815599596687035769333289446881973836621061926659114471933267735848429628728237864737693411558755044856755393914797304941427881083141191779076571290256902666372927982577090749274612566799823505577577584804753728889324817624383630781415502136402115826505595925694071647379676301586357167518383664927926289870240235227437304997093016528372410369392216787274246380036939482652367366189347141891129344}{90712152963} x^{64} - \\frac{388101045538223049513911715415293096706548301797609960004698508568693567289110259710225457921540226816252701970142327711662105423021583175100845859643836404668161427164931520540641021815037069263467742139766734763212135726424542073822032612917559531204113190867717491124207994969666281161406602646068327356186083042720777536931875707962196270223409762563986935276349520973754443381082077917890168121460109261604757374289990826021309631248863718175736816732546580691905444095930552047697110632963403169886021735056178875586815635897169655721924110988677395056959732358354862009551345737999511283355432693556765375050839654857744310910699640204522900402554388992032303754362372190801777906896116083415438004851116687133118786944639746119745535574718700218991033718635078804955745182023848624808269785256145834401211294416896}{90712152963} x^{62} - \\frac{88586292180066416315544661103317472660949891758595589968279845877925412058612646300441051143092967353789847084865758096285353880732812468106671813134559292724593862765284291581877182076362252622295119617651836622872099481134568014032298487947494465960921373479166343117288355000134255442444607881800385832451829849077558402501366972590990387575803424757077230987285998162034310531295779344333624599490368292587306116918962779860537545689632209846648387758205038836434591660527185966686213019568130769750778134846065047364035781795496647532232017414572931665736910301998948525133725702767685745837966977508226886394757406605204398478703962259514199831088534131468643318188628439528099360080515534800489197158566997925142811924864269624504234769132875218193096722904365403937556666760923357929134217419213908449110786048}{10079128107} x^{60} + \\frac{19640090838711439500805383076677370168694074906356714409598232092969357940300615541690065573636470603620113109749693350764821119295927501458040919761079031850372099365978322169031216100690686842336778516683038678029800718115873802742248440355093820656768130645630815639557607501065727741045569183858513563818254767447658758372333708850075851024803602129220105071071800551203797843650905073441182264234248595443658472871297276506109031913310735601526691232168721337964266159148663200910119324795960643522774191998746883547689838013595712727068152768134417147851762540146339115820076503360855288216918470760010195329615975064447284330349369729756369534078428467274070132036609216440628803010533324745087354698584031417296003064103531975606685505068684650646182912254642700838362747927022004286424609418892425618784256}{217535139} x^{58} - \\frac{133114345262011598297215707807219360714147510553883071444579569624076289486722809205242179242264354298282811960850052185295359021609436601161375454269497698976058271810543089255800399458397324141057197520566433211088651894426105808808599199451588140283942995812807689453299242379956327551822935401955466403242221922470815081150381624055217017139263063113157460139710517963333880591435624310672638248526294480203039792974444159254220513077212552522206615150730878947145796680390733051589962545873227134312817669834601566349753315862198660110729310673021590710887239496393998406929180960134802174341635912006199775194818969528425572756124092555792291822489185083102144668796597417698736127564946977056926053722605604953897972563323391554606926629067166149754973807129753900680223512777626678612681263893629192110080}{652605417} x^{56} - \\frac{77299801124386367276990592189902450207833560655458735392136648132946006708403461293730224675872353208443219867193168990004051074387522148764596460634585622876529593101042203671551144893066021605073214834012961406242915617216493173227669314170878757588494978261116659270406631239325888009630748871532841099703221281536759130137699819522123647351520249914304647115376743576290628435873957203770768975092392290973292667047579519074843775131445814588272233296160525516657058794594368795205051717716201409567013030870970590217920052386196436711863462316218013214674309817756132966754860974090828500811692883683689304252304330551268176481261331133597566239626123434855553610845552910324001135556860853507030862316910465825067974563883217225667470534440455131270415031855843875895412684886624657283385227261438328832}{217535139} x^{54} + \\frac{906793354467462314654136628855019766285224799222781869461398118887542869918644830131118980440179956861267944402509133837523108312551472287695520753838748085009320558552790664491290553728093658959883387167869504620563027969874177778993489088064225786510322860666310340064992763565000952345060069431308763972822291369578112240937993743961455979152751691506733199640765306358855614433893319922640701072315313718844194500814106419269055126048942725523196318661075507844182622575034414591139245249067597439642126829895052437528702569072285505873139141915267712750370552925763870771954215600412165909128373466815577541090808636227286403903283170732274129298231373051970598577289706129115106724270917287520594520823544507101341394777581289459708753764059704537212869227164502995871949814324194530214047555149365248}{217535139} x^{52} - \\frac{3767190867709502977682707600995845848920848469562379106350564320494411914287866686648590057683323775996936092499416793633528654016493373303572667966989288910785013495076275500720392868445246843350216155483570189171748288966376806958464891472792972645078667139290906814097570382892173979258122949504140446207069456291673170361553608647051282891029031008287964313359418486394728529554639954666140708922414951687607100792537130144374912367978434421815145909361562502070599328748071089788842649892853203627065625827546332438450333982889983095721527384666224910863683928984978130054936614765047559667641091001123480938363382353452697795374919568828980626030126944722929865401448278296047879459040731788655662380269446634763346008537239562591220200429795342185822675765979517256098013450556481864754254535720960}{217535139} x^{50} + \\frac{11251483771563424690255996528025917433075881995021176080749383751197533058573615381934408422337965914654580346043836910303319482351603324737774172793367782140154579257403231905310190121875267071803849543244527760453742812483126659665025090973858879599791461878234370354325401727146075731015352174302335068807993278962250817437969312780786078884730545255572083730931945470285326987443956892258744954655525340562953906581476987885115292753345992872064321991431329674693413910210717891391891767292392261913824884213894430677244150791848000570310606915147617841321902789859691833419420655228645876853631470746268925757497096965539732667691168945805003029819498254091697797009657506582733017481825999311024896430827942297033249720795709841410613928029577888441637774270971459391939605524426566321767142391808}{217535139} x^{48} - \\frac{9323408914029671996101304184916197885560347937157465912514928084822296007853552696414099657853678658235703401317941633113620413461517160565473336619099128724458990669274370206213321843385557280736287229380028957409172157950077781532656577177971844337206200650826832854102810436923490587793667552250953582242296641191824300704882138430952252864460881360249325875259535640564509357189214253440791903862479706819589399510086642682281330773803505400745416413465958478216919095627211112512842104049986856084125762929044141499257752980928553900052560560720719340164004873818007826183631433897802221304790644266619064770337699149307705601089851109790496998304772976514028371899931450211317292114787920908826593684976194713426806573894590101202887158999679969439421431849579443759572693770433438395203059712}{72511713} x^{46} + \\frac{48144416943154023014609586340969472024744909205279196451473761951766834282844344301339479787946685909989965006323954484765672799334607918577038166086193084625847948082077277573294843866615869850593621300851649848038097408866614736109237617277315419531381191250644135200849978864900599429025259811030113641853897953226416824436176962406080354747660866657912504148449563322150387414406051779769897449335268104400417908479564570160467505484455489249512180747081131721280547099273516336115459559649314427641748135569935159095437763913254116689646078018823239123293466809010336475104538799378714190359932763013750242966548390770546728776267708017534330866691754640185964566675592869832333656551640522486482078493440693835854707975846765896185740501599571649327388347826569441536015197004259607445504}{173889} x^{44} - \\frac{29672515224124137774701959591495974944852925372753389795440880726064163036869460750900094120069033541945075195255710522836638598636783107249461981844978864262450340696427117027098606475100258629264352248850980010458784197866386774034973256991816307148686301549676582814604036083895523242834136619685747692771421958765993574675982555472305800721131746636032967130948761501497158730725583960097023081953203603896086940342056561643013995997136312587611824113939889186821770011282659169035785785753569321420919103707387099382558214492757195776217875686938922089138543127652912087591426512543861033283421991423400819259853802955710544196728775232202523841764109412662949535338555169396273412829692349190063240913987920922172659295061356124138267409728722871901120652834786809700600536030972477440}{57963} x^{42} + \\frac{46048047369762612114300226782051404087762860004324266351776083654883556754246697343745955561272071377109638407077395648814227067784361143289601655952589381573990222058445471016644518472240627379656146261540043489691737368220196725235833238795134996346538207541545669891278109873061987360414715729161525003659965119037465849488443520115636124457521338245015480895063791172931020297491637971655031393233713381646038653878929870512260866907635867860141340064537673736637957301436523035442420560763183961012262380144729873373399718515091854022997887663657012790402500634970278491895021727237150028892978330608641120446011576987401251137984778833399375935381879705090996116190185490465061127662464638443294784614380439389368821824157214298061037797553880391784312310571365593433741281701396480}{57963} x^{40} - \\frac{19614693313729789301564700520900566004574776608239673085063587824910173562476004838461694124317263677059298865400179991364404253516542842460785418726286264761261450499815403881948630732939836367812574745538948558322998036977565567729490184252557006747234307895814514959360048305308552038183539218291535714599006751460125497386934468537664372881997461970643531004871365619099473159549114216827621986855785537714737802981774492267109164822105577707925344730814817652589123695957890621790069305025354674656517590503051848642456376114604261540488911002157172359351034246313249651142779686271100307187459198883423341997411709676845515193153854390378172816302311745439558753553091283911684570428515334664969700254210881584692313128948544102076791692320552519634842634035785822789092448927744}{19321} x^{38} + \\frac{20384503949080218811612723006693382567329075722050097540458588150095138087509021704316300716142714813374129201165013763479179611398885989089088625610579229477725855728825291718179661353450363221232630475888199765602839338952590898318754858818585161186780779199475520237072232681916466504346174946536502180849316796295502550384134414509192627344507233224211001648586070304526117645371487665612463314180182698531826752046658147481510023690301718648128338267871322778162268968168771825195652179662134931248954735803302298779539460691027571509689431152576981262841326664016331865300761492991979125457912515665746938629223413393392474727873156885549694994100710614858552044944015985467595066500843185631524497446906039031974805012665977114200053354630969523772030062005073100216983355392}{19321} x^{36} - \\frac{51246814607830925572984225226927208888746033464081384603866031195443529191439021140897280298062855897503193246357037311780775441464489112978006817142048824509713247956658846746278539691125611314341646742325102917308336459065414489198379976374538930953456397434430117124050851851343288090952477455570649035650018719318244093563470494064088968056437812900520421053660937437727790678315123679788663803233611714075267371255146090776212525594699019167819726697656828374222199820926970057900798816516228491114828902358815744166274298637063883442186506606423447557890220916621074167465413937001474494324091664792037492326841007612372700562188533110188999967472871104181990775393990521428835945463051583804557991010309800975131716950219063296694299183291114536482249142670765135461613568}{57963} x^{34} + \\frac{11453488786826085267762548747311409930524266812751327848218719110713014781477686198973588478812091692641170967977425830343949401274511044707771062187438935316390471589818498347158732093792927324073208132116533469312420256591367931459521482938719057103347077764136039875801814346231762837055774639865394646268783025284463608699570357407574278252711671375014855999202927943476961294901268231218676879245619148713539806775991230048541878317167401702436856666143580261279343405340163129298783863467252531975031378533813468728701423009973388572046216981855719562458693750548299199936198330016104741728246332030161034350726538038587844324087562005626960276489725682788403066306378028256592829378054841907882407755796868879183209743631510429400069077933645409448393173835839631785984}{19321} x^{32} - \\frac{6085494245839220017114202103880105526019222639457209375671642547418239631344681053416241354622171002668140903050478658346541164615280671941049060634511487549557643060983812206565954942051201927195728461035129336358905929759885327445574699724124332653389020913280684364165283288893650727924471193981011224973411721126594468694035634056140889574542279880705680823291348831308569668186918488259486864128109781961412565900987225900000773664352255111709441462616655441616604960673526403269246602604625220920424407352905278033328004253799944403265370399440851465628240741310932927480203257951306580859444489421704678440298985912592300422503740039274400779483821492812800859782775747880517507217517371991291794362406803619709902756336505507785166799835890064575577039160588894208}{19321} x^{30} + \\frac{18179623755529819956310688124099054079851095927072299428535371081191437754280411392673518081577455367404605417906815806965616653769190853052931314981910243066914664342722002548752962861533198043966079053839145667764532547048589467794896644838524462938592427815271478147929939815088718312465416075597006279729389722512596480643770927645392543058948584447072195169442514600755225731384687827123759172514036175740650212376802114375049259946385930140229511279629170815131747134997027345049551133654649372129987595704827324775116188003072902892737478931037061666667565534492913201707306235986866127296608094714610292047243635629046401167339015627895858024729175486214425050624572619558538245074032338609903268064558833340530767330784875544920002210061258845278827060396032}{139} x^{28} - \\frac{5775821363344371681989566197347043739947006017660941430159784843540329247374523300994168608276358405881811618955449232350926791065209387727920326687880881581877819189311180447336570076206511548336686649987368706668088044592550890944505040371240809875763563090576215638448459444642040907478641161849530258042703373216116940503071222869370912656047438331067186074653675064670090809981521948780442872226980110590604513790371144231869240543276706128246025136602030522625658211826834169016103406251703931427213595108552683387669021283310235594635888388647183022600904380380762616114080771974347068617753248189043944123629591452882161701340113303485559365971297303280429129066298698262332122178452021566949369588469939157995764914215281875053502654342197240115933216768}{139} x^{26} + \\frac{1356719961299912443182155896325443619306279093450920507874852062336885486199357845674511327396982694362251606666614087682242540205691366264336988233316989727808781343246666603742845984512662218054729840626795448887079980871188497334209259606467283734316278682388115319933881592222439468050496807767343044185744578799471500857224287237740946801678504832901385543182245583266585080372116320438113647824944058967602540669754659609250152367973602254734866770471540271771539595525463953788777051078975963011370456921884785794537066816117447153657555486436233327635548568103012573501357827399890810022394527198104401992024389515424769270600724519741369998955580362768469599830681891809674964151192749134358661125118469895512481231222325042055560566972621294437138432}{139} x^{24} - \\frac{221806683711643020442442331121909447003001255050809395507107878193257907876231563575120249547763049845368719491757504733027330708106830998240183260118385884047195337887952055435204637200653766698991105272691981892619922621114663644424127744668125274232386772688341338205940743486213981281987680523608919307368035909676951956527703382329579830929363782859249017547125928906517362680938968014092784259794958870822011550969551759094400847547802276319120636261255361287884524271153482303146234701684918483406622712788591639626633671928193084737366588427096078406816312959176154036440209207366510363811069360215110702197693586275458577234889571013931596020645986228572924666350586045360784383935845998428389368549349885275422885195111927489618462447531091558400}{139} x^{22} + \\frac{22205592939016105490341087528745100198670333229251916963012843242990809025273700087683801993751299789218513846720460695941355633630734953536189303388658981265645741677259686522214287015935272674712409849592257853537011388684958472820814803750820524967319004768733341510288089703695278044046286312093915203324256446299682668476303162392297446150816964411176012042318710587054052189711203288164551410230385561113024960049362921213914782295347339367000093872143962071293979704909519443142734296704475968683808228804737104315697406353451233330408645625492462028074648362396524540315577542245751405684526577228544368937730371493592458632115726533734099991197772758961032880582070947372062518480883714404743240640146439116594639287114921184606000498931138560}{139} x^{20} - \\frac{874339530119398844814335868955537063815421225095997541978485472193755089099867858752406506632644271047821586052534969749322465951917899740769870603669122941173054334910216748161296368361117079915446558829202344506686855063223595631699569094595840191842081880757858460550520388445091953446093291183608070145165511150118473666271724233707434419506219146352826910161351072766194696701424137766289621794725655790210721416910073468309281566006191347110365273215281988982794763918903219944872107101169095977353270867313801063613920244421962031702342422125226739501290044974428337639588514458814445835230679972024108226436291269873954371956459515170822716511545809533793799555560343491633610270951688853130330357891733009725906028402658396197917909057536}{139} x^{18} - \\frac{40667757725115605213403049434747344352777249587807518725953006424754157065816009484233583928382956291103711368905365197865702485744209482727205612301601747061857181312089870943914663545170173167805726812387422263044218841207222764649813922209059288407964204390142211391494547270509193452396570554329821802998952465336593440676763896208864768733133567752616038624753946407280169306819215539517080656784613517949952685700178556052690563772748219017753101902452910870271190149967654823799591982220066000656581215524518457821685575295462427075130814388261762235154996564535328725802672274719442665787700997924689194007948084490219641517206061228481658445634822475372659255131847409546679222343011313263637692654591541474448940845953910812516024320}{139} x^{16} + 11570456799178144708175940842137396357362024410404214111590502507318246057804737265027643941472334133676410357388475847717275136203155872781429041782100146476281610028767666905385412722995107472357461568134009475805073495349455249521522472732204728596397598176485445680354115155954540069041176842596619121480641692955885021719134229192445133110781388277419800753564690516088593347596485855708248428836515650557272123082428533528399584584147890286061351213083570603643866460156381419200751278178647272679293615954657764069184349760738123197948860884168918467923497764335787171397127790713413865570575290414221574470154963616192297230069986726005490399521037773424110573201551131466545717734860748577465914797637201637698633081343549898752 x^{14} + 2006342536427479195548837319031070280201235500881533863362741762514399417752443232386455298298616175758463256146061896921603743268689615729908772970077486409746322025743206524421631884516110324915556354236206372624650371183264883434079006109661046732365367507417716213089517106527029131921476247013419790420516375905326668745492891592624649420204825646254749711295343691854692434437601920798136517914553162000577785900006257285661941489861742743562062055286583965463119788431787244773029416533128753716610089803872063920113927192141798717603406021464551390925285415506622806660362079922129192968705320871220920776554321349336157200507352955808919674947986164133855877442285285730722807414310483536970194874667130151292146914613526528 x^{12} + 44333681532412951449799018151096558148105883408232032292846468078220408542990784641139100920697882583778029775478629777223485855782427250300856279464308935232638993771404044257370380909476699218885568837894563218427211282016379854885062656154815736308962491114588142645545465641145875120846991190940673493467768097858306557882523729461063910231538167208042421700247834953275498701442627606740128726330176494416112101939238382830251483778167768369927947823282851520566543571662741273625927245563630274700308746111109955148670056317012807328495520655826697557117231317596856615955902967749442415556476192501308178266814071910069661927143094769549050158982553732175998216265609481408470481791888578698634736275724100618579003572224 x^{10} + 375791315234274446594631571238015053451854015012670254749418565759281413894586944427935389058304320865975871477402738393182497517441555303660403305391953065171471818063314354083472733293668699850521450138357095397804273398323065699998900913806774929115264558366068853254082704847950077461945675988777667703792556448075147694366459752532710610723958784058207770942266374253383349433610965455280891994318941868988092290791082575142394726846267562444440136637901026945989082770890655992401742422970947923018961678024378507274952348722609772472488671278176786769542616933469256151444487630605424294126826418080891220271514189177114783441105777438200456527331120692463101607095950593739878443976580247371830380211627532339904512 x^{8} - 4060326754525257358025880734256754928235003918124782886601789574258708520402752717289580434757874533360933387438212164960448054267885323414054591983496092133486799183041456543536036226154490851952862424462578295972357616443779897277488093855097050664775920886796665973235299271350266650300450370699303050165941682557526770511969449147571939190817278411638634685499183215342313297161424033509172844226168680710088471274763441221754323248611748288197705034976412981375479822540703993422759743251078469285819801535483250874029189603117104523015976623121244162857500968085001130894197052552494355192547233605612871209159257412556791269702687662080130538699811589384779891212555522088283179029853110057953482128031219712 x^{6} + 11594651820604831013660298778208240155030931109647446553469820232084470205428085562121262185585796179462574509626745766195913628659752695695306992831435878610136195150717344787178246624869470290586232004437501762055144352044599887530569955166908865955536125463866094320319044512178834640526440885248257898109916502234382375328105887760099505067571140110000387199127258573156646731738701154751816749282327820082724573990325338364243151998053529190209613661786419663060322332390562897272450793101247373330454308366361606020493886918891300281526651132435630815684506927851358132915550056532964910281423226866966550883060066159305285896802493171242558483841282355436208867207207656978864181026706910535168819200 x^{4} - 3421550289861650154660988298259339325212725798049675866312785292849447184320819454252726155751467324924175345425985937210349456254644936933602681820549950380097838080845793113682204294156330451262517952530315299135500329762332117442529897469133931475519031274492079273026005346504194016717256337083657325536957498356352453991844720129731992208762649201774267218583562137383263260093102814369200389835976922628681345008532460056925619653541898713767165706917290097304591957492496246179140228901181292656743816027460981610653651060039129610659171654391641024772229762785206447933352956481203919411017250826956911477231382456284555359727621440350684109703143515235347164541125912668463745147651227648 x^{2} + 267017168801975889620773483071915352384790774018395154483129522466123573213216806857406062144348207741552112997489490500551614557189405351549584015058076558214965844062237303764342265893456168434648273979153889830711350223834757345503808780236377461975451558729308817837793624372506111602330833968286172371822671258113712949577319795174692318671487007468328714173385931195458704191836619049185406052425671051211954647005109947426141489403584734823670298186042654510935370911211835510411203709329607425944607296636258085392098702763644088044929764331607704216173010822963227750596640099273852767761268602118379282151640365543510396757218741165544218534247055286610626827734439859840876544" - ], - "text/plain": [ - "632559895040048450895748090921641756886470228306004817227440309623067873398228088069018040251313080535541450992745300209771913835521779702851008199977671534167020726336028849097062217287114441992687321230930303095905972747640853160351660208664959050500217080574852996961414727994443272751786036434872954875250716232070420773759333628797461020047048235438883314149281419343763992629189899241992642798646724391513499355847851338387200722573897704432812196619126617722623406622592983236145079741904401558388992742690851903641091398722543025648433824160021835136234674310742569983816952022083521533801084276938125707406682530227862453357465307279164636566301531780944075120368014853781399659352324804488911308378478698006412255396289309228753762567885043144255897027389133906655733401960480165347379506923302457102765690367959194389553475275566215856622522401289230737466554330152659753698941296424927480901117973044723248858530377801520232634035287951690170368//444254602912010649973439519576625850587386574321*x^240 - 27280401809043582954539709800229226941922256980762099535036499469356024225192847844918313932768028629251329437519101996993970341851293586870895549640347066844386299636910638649798335456186372490446008392012158871353916959299022590903163552882931093272444691187445341146648517946361167018968136826774772113962849465879790102455251348737056479322221709995316094078136416250360990523364461729461850028858705264806880923150961924124407046423932721077201463196081164343322738702781866248034507095968507453401568130160667467602453149314651008726972613943280037431840411263647639241806686969966910099416809803044475402362256227285290811958827145608766272617475011223862153240270515220786858552113698761257356726448825101429564119037578085319198826291782685401319262165064153604466681776942253520673005988389961671405814531881624435876753933251290637808429188046672563460115471178341729235324494283405530920355753033727568907783250422603641548562131288533980151808//1065358759980840887226473668049462471432581713*x^238 + 232781727688990465067222477489171853922170824222830873466758849005239573328709048867518094392804620531802515089304440789999706741203247359411010880719507536004782263325736137280512250590150966116095228081518608802857473947793747485046412665305104447231081157234793691795701848519131673943242523376269499607036769689817868950339864725301942561716706029279975016955889239618870902178157502712755493624125552228706266863442546954850305100467544450803962403261330733415929264661647189816796642033870045716452603276388132054172372105288655556215235864970809421544949965692582195225570574030007138579183752943602616698304283826540504098824790923002425697513101027975260447409809278811131493861078180430317826111038091879066104658578924134511286571046125616886493327306941169067384123338683452219957273712037287725185724815721416507176740389822525808772782494712089600290416123142198812054291146550417774558245587602317169015805421208868749622046871915591312080896//1065358759980840887226473668049462471432581713*x^236 - 3758993000530458366765783957549506760745136386051307348223748071338079611519127833065727474232131961604905229730088398321096278643810703031546911822437302797290870515827568238502269438735671637860549547056291963549031502903648860512060571645648391847249282450865621347569772853808002385065904975114974106958017810622815466202861742541770520592039020449982332544000378957605376424232115993284905966960931388494359223272359699599586557271244614550943856875536929666579766156830934621987749131372576628461470049536615998018330559825577818241755479281216933480857832889657504047559532568866747570109657483082924662568761928243203138043306775861981445171077883775312013987529936871136107637759366662494998169934776550526289902374128653805617083904332525559176539890824830363950838373588061146501921420924637120738634246048219685714450763752353107793036981174516957120448600313786288442925101120848949624988880672895546599018327081353293832012977515363617174716416//3196076279942522661679421004148387414297745139*x^234 + 4771915693316543740571196248631900594483544813493831048812641803482820007024309998671787984013026390019340909507826646499010064123518553972016039376902148883858920728480387862157577188387755145700059701097054462199502159247780885281061225852076092318144917949467124960335562499169718507347189770901845070930440230998681392837399109957098872410833826487341886001590328585280959929530300664435506615694598783095701716331351995800093499285424575162297655852752460937072657600772799901623280762443506618210546484932505294635912707762891945132135352254016297786812089874109894636593069454867437669438653621378878862029770521885421900673525480790277466451720530758288277756432852213403144577285463630174790118910523958522791976643007937037141664054248357468263920162427765318062774207548022124042731670616913209229008641982920513887512242421254129327412379151669156391430900045820818453330830932113863371658984512190838364938549443080223810821927975065750912106496//1065358759980840887226473668049462471432581713*x^232 - 13682036482554749265145723386771800329387662572923750789904285851920874034273938817291495491564239039225113220409684323385774079828867957609528367938822748666211370565995146549079761408968229266344379248810656319713124053106189958829229992135681600488773149230893393585438923357597818076112345322922865367070334614987176300512622691086968652703633940163596119874185617694821958234955936716253892605501555970244382235116476574909250726254448165984547970783827294930588248005759984716993957628399314125113195577576292938187808330846373504159151675510053053073286547579664013470932376927874331838761277481247511260684836446661370527485921433963029106116150329280318677945973025777168309484994612478707832305931526393019563231652745262660798101625828850684626177434920761145452105664133512030575023696245526755323316183229644820489392563772783891954975450604956585203163065327207878980495650893926947277847620131309257461921821677872272797264128523690164107608064//1065358759980840887226473668049462471432581713*x^230 + 92107816235732629800007737485685874417916238981313133441055675759833039191322987802008601314928375044643397070120315430374264951056542750305480832372222827790485970300255920879563937562039745470462727152481590015608682256847002469815890056980255654308979571605728087610134928592113013326122215088757957755780230529115861561238343503732048205744795676281819243547838674380069471673320643806274023347379257476814343909721913154656131271114373129084821316851100658540653077289170206630953530787579317589285411538226794222963632049200222953056804899453930859045368689816271692283282969703081571260241810063816469484239233505503187605837934157030267867096963064245653297572426852631562491677751498503881737191549649773279496810476672359936182933230001237889136160777674763488925363800603573929532683109084951329329146404489554481614600017545035315216383598257380352132471619371501275636918523889851315610374707177297402690000148565485153748847651952689044474822656//3196076279942522661679421004148387414297745139*x^228 - 18451520014489241763171295982448891633568136607154996042957721009014960442727157244812911732402106154875282349513394678277539152017938317576351806986771034761470501730054158325052626889704217243854854991774763104666949677457024020579818533506631082959375019135721142628973423309879160433188933218628148004477863022645325783890806087666424072938204981024126093596401852590365465936318511825038723709200038107947984228346371642437672317697752458231233024900032734027695364845882631691204334443935479367482428893319671696879047473319174454378882005089947400699071283800886493201366394346670327100271515400182670896322959794234545978023886030631777287628426393092999773983174344491649986601834686979655514157845958551661481838700416514771216385839875317894711644363558631367183422384014179475698419115932023215769701045761173994565597369125628305363161128062194007273698172586070344376023286355570529782111570409923541940048371178585229148327442529560829393633280//355119586660280295742157889349820823810860571*x^226 + 195875409639277475135878422873932887276940157067842794535045789482255317814541068243268852562904654661562683393656474512670571491230018579429132046330985380455574318624830855512983051243941562319019481229619119569601974893474228069246236213495889623866664269360418546718467040338778378532196790849225909271658222711141671541762445604877897421495174681741783614196126394846147410740294784924019248440172585884303789384169532716505142468779535502004741301571931008356876028998891883917130920952844232965994102638729953373698219686866470362634789851600525638209803444884201362881191883067246882038096070233279541303654628388570488111254412648877227357918629920335188180027940489296458234803148814508037868392876536599537279450450370742076375893993575859181537993432207636747067499743590705701821045323370728267430219348301017470389608998547851553643424876318723137541735510071777165412946076862403647109020941623487667850157540854923678819008072162121411985408//2554817170217843854260128700358423192883889*x^224 - 2157524506983485030528118190200187767411870950862002482709589848344336495785806992534837409401888049290128101011964560571763010747225146587967342458196473325776253212994580323137047262627408862148115740514865835819013389899113181380944717140140719748057885234108111993037781377748923975117068755931837159406777432138923093004397581528566209118137470734596605552343092791350284459660286371710141469426306308048841919065536259773689675932772969270070371901086741937471771631298669191762433167958512491248922656026122548378067443502527021439560167199776289203005143746606565181632515793135939812013522856789455924933548418030488266960633576432389537168423718195139767332649124068348303784010929634256982456949255474014279723089570991268093324942164491467238392196389672935634920774026679386430929366886317186742230306778511578011216550321728419217138975764954863146466843136861244483917321613709652724488051302546792826885076130338779401324154403261642929340416//22993354531960594688341158303225808735955001*x^222 + 737151319801538188516360212897514327555317788579351774699676051131879766642292937207027062777529116728516977721576392099809455206615028250903540669917615970196733972408666217945833038995219054871175597436342136393522530097750345633422486250793295190066307015111671391580084664464568564838385053356149936393549660580547366706072312578315652908872870441033553623112750233395927312263393693252785724689268673508345410258375681789941925709468548086578628159377526726153578433087509474337358525696366042956147173542369263306543113045414883215326108215652853949845685531664726859862582943945707485266816813690175920298875923615295508002739517404679284984875166124594705067362372909034709629234844838833966763931485319379992528902127636811134073511130495685283622223256693004902270587047997984719695434747457597639795887128502099543331207747773972767873248577544017123553790475725636395612053991804566974300568603619086402047515944399306668104236768366728992260096//7664451510653531562780386101075269578651667*x^220 - 637396936296134275850042228616397336824475458389674518166539059010100404309978927760380834284331790892251875249605567166192041077389701439053791758805400433479304782398186015675112556432212578027148444500265099607422397175715040758669395464476280640809224390372703788300995007849293894025156224621185075041083556782372808450847514324998213985988096015737079999051135313697500951410768565508504579328151468700882950857604611887882365227035741958893064201217428964926745543819711064075726603892201719987571881204786553343096995483193366884369626596366221775787306143396988105559006867594322727498099483917825613087093161437893999958966418817937503070359158538294259689888476558262575213963601444887528655234285435544435447238754515632798754271538616865643990477145050779880495730679162380320348672657916283570780176899488660918702200280248147156724590045307334518606774654723382155998410201844321819873147527812672060376408978065018161108620271374329740001280//7664451510653531562780386101075269578651667*x^218 + 1402969738815753891312977371177508735885912189894563416151516330423347897973211613492249483909206521268728341544722754340923125087510219804800485945066456345056950895009518632621519595922477669068387725441669050641200463218713353364108518787216215513750967154687335953174681104301555598608590456174204641111893172020691674028271745101051440883078903114247578597005973649590657795611939709660186757378597111218894893783457387978556365800690799615416898377198555140541536774605036108905340855031982443602927879717527871403630382647736883681621910945878986309633475144855519470913278531974754654893658314851934115205249416728123842755269312551129302450756686727609562829057939371526937217234615271977689813940958549161261073727704815574184112735510159375680689523018756634536863122089680836016063572309193780447479366318992270937544189116617818546247227378248235746997340844797879249359739650583938848303272032693451042827783393785203383427396902331975504756736//22993354531960594688341158303225808735955001*x^216 - 292828972455305209998818872309471508538419396825037092123609691537566093250436514765987006542063442614206291507376660689033253403614643627040570937834174266662799339687615051761337095437300930564785295145790421939733468875975798321160174471645023816953581954343056931382189521413733255151288697017552613302353437039244073825419772902081007200866566914591322935285940270396402026986970455278390477884878447145701137754163059864105038935521431277759363203778218904573776112772417252561631099606465248526127773804052717724032205282361226005106793841420188537472327271718366528482645609976327408322373768628406300464750253179903073973582145789140929581097587070858145820671912659666215731313721931968180345601173223574666057847349680396771850464009255734865538540315127819565985291852093778480359914485432580110204956621271261294149769989278729390626970827164448643295605241232619263197704149953940832713366245311746796204193156536977414586627540511891702939648//7664451510653531562780386101075269578651667*x^214 + 157686420121134235108388815074478940272770749033150166015931256242799424163678562335270024541154513070355400775052983703498686280723906252230135117178888904922368032757109098094682251809625447315818406982584777736579473477585104691032893340908670996925527613835431449325805623383161583338612419339812133689026731856063751139857805796817288716967633903293968690286587976144110863908896587940311093085109466741880342967926340080059701767564837793733260048195655376175981678772029871391163815622418793987844638022623272916283880206582038466234186006406743949418883536785668399450866123201738322549120388020553820620465899771075947927591473409220975324665846370463923042359740292798244757599848742922542726065470135910685272533816118890400400102693316863780097662828037246614001478705543983641948618328165595050639780174936656591582533145915896757288728124438641543661516062381699340969596625945863683135025661151516043059982744446155685239536542482934947381248//7664451510653531562780386101075269578651667*x^212 - 221743193919270938889586725549866081793965729742812327642276245369795872584416391317997122799132496299038387933596316115052604101137394829388256499083465457792789260964392761640247419178432257299424729525130401654538158098532078237729096697602305635930843911605899269572893884427752534401778258774693445419441262112876162917575632058612238389343435862384524668474424418417144348017078556625064495356925202187569591709603032083096462249443602183196034849113853666634645882987951841731926175827596555952117008499879779532842231768609735641106931142493918745595093468371621077721466363261727726003143044902620009978547449287333027096191870427758172580995293650527655814529093134693464273350762799174476928501538864801236923943866652245031072563680822903938285728391672740321540680404748384162980460304280556400091488984581735138479208018126548969457646114367330337802668984600819530831735901791004045009073034443462622131241974419518631752992119760599100948480//22993354531960594688341158303225808735955001*x^210 + 24556713573473514644921871074142903562375641191750023441023615257165070203149012201233461605257780773206115974320971573594388367132249147268534353946986733002367540061060696760732065567026745809658570246434879824928416864571969032155332541949744709591851722861743060222396550257566530538441327957352311863310669935423447824535312349353454684814296296435283897278003525331041259706246700790483254327666743724004976457795677843063912932745538848393723216893407813049572980612976704179474551931871551080158545272261883291264013488737406279258923138258531288443568709743646535646372297823781556640272606523383508839936525340021222909525226526532708844872261474180779183718644511400295059259146806947740176082736479125282540059748716601853070311009313802368235267795401627391449789703735710286106305886869551867526380992067247246994549940776753456832333185591414037500993463001394837607920440007212008103156323263240932851891351110916364277285135971690479616//6126659880618330585755704317406290630417*x^208 - 9244905953993718435755460876212890903093345076161610921685784783069912603332142904825685095553070875736494297405081460324762046232251629147583839858395426372244056801122847645725184693660496928010094523498766151683848145311177160260846175020137433702234480249725341389428749997469785517381983751443860810844506727658127745018534784560363658323964041994334166193240004135699452488828735643775166507914792632409819684561606987266011473355137192274616694360563047506941948017796659334821058040852002924510740978311116875213362906044833051430403730224763129083199135192779827337181940091138671335547119066308859563025617345449480759054782695363438196741550333228989714497051374800898827806457892948040629611716518532970377089591929607805603130219733236527725667391079300456767937122549859403859540026208100576140133024557575912977275428405933630615081739278319025710777411977594867635256113177514282491413551993139076340932492913472571761399996182356295680//6126659880618330585755704317406290630417*x^206 + 1060787892152857476115046857928047656820363033387676898373423483850061544531886262862131882578719136486020967826575011314945505862422075540544788720571290215627081061998173966861354589668111135856025738733693833216913671816166090024669782174847339502063885136205118471452477254546501845487021642268161753854861208705440283239831795967138445960469448548376005905837569272694765213655723911500213610887747569325709253239167091399272554463884977430595341502642731132060025115293033844997447101274058461841248625243974412852455316989761119113258946172001098034270623385552941950709901278494049236422411442909174003163999178507030889808906999560763136533938305817753705386487475826222227549430418683737635108855796496050033687835542552548363330336295412192618164925080392224957585960328611972531439171817588540174992961382151642103311099738435690865767477916284810540024011903534837847310316348778558492157066652513616769906925009993669745998560346381484032//2042219960206110195251901439135430210139*x^204 - 976006515598873850701987406106764302485881428506485441339504943158735118379436084009482936256390480161802851392364926778366245197670065278745418826079763526178045039580116317943507625750009657944403744136097964524508034862435989117679765352896461345157818919087235920759370517193120739104988164180639520700252373154484120336008414563461663254587466602119790628512859148383476264932573421439346237881939924727070819471922856642257478307297769591314357280225307200870754908550312714806998460990170303518495682906109736764512278841518765720004012876725156798785121804407187444855099690075175255725664153954558767639078725880229563977859357588837411557479893432383321321462568339768235705759500468381834327496311073187377121506502385652742152183858097133271738513160946826580527990976645444854446272587853486878279411424234520205800973601083098012046104614486726897065045963605512267487543880688815920692710705331247764964808540205444595318643136346980352//6126659880618330585755704317406290630417*x^202 + 81897547200734986617961238452721410353565955106751721992638754769623624256529540996071640927821550243210890490480269620406188965427846852630229949464482305624718302833311152245704370129914729728664206500900430549542037046289014922543273839068408389218523461934450499777090634130804654783824797933267055480056168557898545072015862846763910837229623890433854410342776615579878869300503611486456645417374160558752601015740607912339433507148302183607594360844584928652604939574448845067959739929563770627792118685706530047269013449154952871439894101955952686485591976705407265492490329875763092235152439716438062625405551551166385639744517418692963382296351088826967854703597040607762560323218265771869144244019723981785139470121444943763076516674744523384882785916470143105794849242739517646250941718870002765014460929560766292224122988017936416835557738451847072844620535798648862805169513895853396408683207661967765635530955493695124168936527818129408//2042219960206110195251901439135430210139*x^200 - 4674623583193075037277278820391411270988098531531706945216484466308230094717818523402330319618361052931695171417528380316227642087602208707611931698581964448919288500925595382309316074521108271147453087282675026920091305472826490521807000596401418543863459400233750634809559825852002832049445106489555839686491202228521986374798484119053883996988952855891951337196622621273729563519729607720545901661103270895843707161563884410898350099296105214202676275848439596756214017749140525933577536109385265335433569465908297557071457752056305279130122827045579308043351607565711680561432593708132265597323256162240119397457714173685371778316491117057040600970275951626488379140405171954457923105207303739529902136928593090106718579501105740392547760199702556616789964126114249552489597114279821747486016685822989559288449180374550385810777928556875227531171340047585646124314689589067573828053375381094147078854416255642387590534199575089269405337694240768//680739986735370065083967146378476736713*x^198 + 2063569693401612766827045948100013523262195502581690822196828299156220878387054991738539021728209944490851027417999240863319098227676327587831073666447416099030464717357551243161717087698511632284627651759278990576370102744579683989234249783847718497951805264600996596565662117457997758741760891620982160623934007074145353954936935484409317512859047264929774168434812383593049566342929549907284125155655569453903606138545222413612616844420919357328868195008112324804646050364488907448449921356118729255068982820560822621336517302337362663815247416662416931582461999370537571073672440005701626940473858635387464669327081329613448197365257187307383887720016229551342619846793838547102160409551759426315906282217332173369401040401206088515907950469547002305860212847711159719234413625393495451851891562847338310314431584534885407948305725836923939026911557415620912850856415558821009549904880344221804592579776654306865546636138941231897392395143086080//6126659880618330585755704317406290630417*x^196 + 440051627646558741665231894389798328219722560064457713338871511164783623173311989359182503130574575712997127608989552699100000591704679084231339978987634219428156501986363990764913904481173993165419459319907209892680274678189478009548612758405800633146542612418481297598878777784317618853008318071030727307809907701489844182080096576461283577438785431348269013999764583639493202671192244750544635317716707230153348815068391434124459261658298314382816414254291029549546512117529937984131332035905713288957713275407176767420918559693086929596881162953916651320593531678581699220130580203825410488080447626309462611892469211847121287817020599473664625895340866285811271338662707177880985218122339086339721244707581782437947527202344159737151072670201643992024151261470600813311403661139961263442266005167839484209672443654138705423036781926828636238247956800936471041424490498262735660815047228150393033432732530161784133543453414493947736105156608//4897409976513453705640051412794796667*x^194 + 1123977333180560158339759205364497672273570619084199584779265344593633511376378782595564235115785145239624522949815359753691645927026562618130769334323625319159689847943302403441789336519277180203161974944078464912691886778792266248376435936496547895276664857702199806326336938429346493514657597192747482285319320832219060474589323915855353192061196188185862337867180044160863381549588597446612219651749699890851580417060576939025751503113187324236252285484099836526320134617420153682594824092365742459584522280461302379605802292006052760682188000169817423785853828545039015983312252765189855521522204137505292915243837613370555198760810237620576524181418777154192999339705970035241683618784220977391026965020881677295308959993595199041862139208493418817013877074503346798614636389403013474775469727109380105494579467499621052612702078943818168915701123886967358701403578250355808275687707137146614638929813299424433279431290985279949067574575104//14692229929540361116920154238384390001*x^192 - 42693918493639745407656687509375827088113446031840854373047788608488030202444095399053803600070637931997000159216893461393270911539465983260341813090299142731760509907173385037962057039786481340355615429622561551761503272651955925834809114852424621274416722895773256495589098850402611569838819283663452933944424081810264868088010828406690796745684985909421508473716087747333544858635413136852919264371473084979148894586262009705329709413713858338557440012096353058731432724826690745100662122378925087221941540111455094511048243489756915206215328787650360721437504479696112250534519757534513751690474856590096973571610478559290006055320007392845877677738614301583535319039854008470644872554825407901628529382323259482732225127934043577927635419386601843620204705407790123852521504623427493218675754065418964956890139610960036215263196383907700619557578675409912093870283833739640760510502989893703691686551944275262990671532715158664661048492032//544156664057050411737783490310532963*x^190 + 472979646461245649581648713282155790465597450983008342450482034752878355382301690884784062969659724120167224666094255693277023506558788098895475012246054735299943365262463657366091603884447759023161536156727532710617140346962108952524128705423458531309131010693269738724791435509209854719931290535881027891023430070334114727538029479909590830786561740061139399902518614732202735343076234512260948966422009423626423116632876104645834005846100148089094700796234881010446864620171986563367898667749813260373613492468565205346462743297988516442040620246119135662430835393978252982741010163535653320719766595743899133002447410139877279530947737913777205521972142705908538627744733092620513681354427190944622191657180142729375754930235550216245847367636771875032967217063646024127719902201472144583371761891745247579273858261820504468560163780832526764875998232533488731187258912091040603890083780304773785295821048635356247850058775345119624880455680//14692229929540361116920154238384390001*x^188 - 107344385913779489851775186287973499273511829604762589690255430986183211656410004458001920144479311412458170452683527212908475494545389786842615891596962275198817925376994256036365960643063788928368899706858702073101239674839626286115155721663199545087634351577125080401641008203159707331853363545299124697697191863274060904474497023488797990963896298105022635236014076353294251614514034823648917468398423304263471770740593939388626836595240889487685226711393221673988761436255967480651080173619802559836290368284666583767846729516174729968588516320750499550650437280856988557252281212645560789066164730170181593531709074226864655467430147939443237058285259136242469953056677015812744255143741129023040466004946422760693755056956530308056246493468303521424397960688258902670975649152325671223087515960145997416598068946050370836071633216895895363214273600431294567168386731953750830537907495175790044535878883455914885225211538086932494682161152//14692229929540361116920154238384390001*x^186 + 67146474339709181016330465592396928976925426482611734497257286767677557051137744030860351590662150450834953996360037288752590564223519894125563080975455152392503400347431751222873869257893852541504787407957609813432818106326634778070757744011354573660641913356340918853693110205315469006949992363221094178935191248152265203237249885939983011926515071773070297527473893317569922751201211181698429661485167039117495048652633210417619385136965874852611305125349637032316433450937587031696511071349201506550266019656629825187338676749699618659339924536605300940791617570419676371552588751677368041934950615987486850408137047315250992504130291109256793542371736095210341990642096811629784516219441097056679465156027769872788573624634966422184416116344597068764115461137660409223543080820635805740927585851955744842711380999431626335583368733004069634603946824555346335102337244769679919758860346779736871579886276655184672001119810515064655446016//105699495895973820985037080851686259*x^184 + 678617155330273402465464453805030362247999683833754382933828186661835254490177255446270983933039165038703939389969651928132301657193290573868568929935774840671618539529831250113902589079683422955975822724367154331518996903677688348548819798238835083855978050630226802267003030874730720965344828445387544252001118690835563221945826970799238130592586508857763508210781631211826041651295148028970089217134694879614166306918937063654129575160367983996595889196200103294965531566155197703542601707726714713893084696092754987833384555752876907728153430066061226306659370866400836754954143388134320997796167661759370670576604901468950711239765941826201213314748514270767314750241321375320433086261179219282871149662439316935098739717136446401006523116129193735788351755131493850537587646716171997801522630951284711183529260458016390562276460260026909439074110764831538199346958706220226692385076886747907496761301659711115463973854004193366812655616//4897409976513453705640051412794796667*x^182 - 192905313129447033982369591679622242377606096450442440901013040432043791935382430524950426425817512750844593244101742283629910253634380003822124515709775513453336232010708920355795799105248624233712075867283272076838867644935472071720352843777751764718215589778825913144098883711714923618901767568336204217847258272846493027959060800336600861242396715489678119089211135866845421352452172487394315555690165509978678294877847465193892957554950725193830261769229270451745514464681165045644327726555514087030020293629857870872072927440011673042414328490448828786575578252489236075786292481357118074136966460514040514132236461412357933772092848013767347955553055913390299042591692266248417844496168530037535832422925552898254471311916940476327225402617525354222719220935564010407885312942866060327918949422547104964508718452480393146058260338461971290909935466861059112433760747855861749837635677971766413798637592211601094366896376660872249999360//4897409976513453705640051412794796667*x^180 - 3392777261346132047976394974053941082694428592900275255515664515768621920688970479838596410560533495326073036102172325614551229078274749854680192571561260076201431209128979481351565659939632367381276378126681165141585513108894315220549146431054003800324343599662664709223463157234425352677206120387318254336753555916634415338479581639745156667408882506198852540979710628133179150273809330963860132091353032766781804700506419397116110390425388477070542442898306523291947355837413514418965172692435224893684372236257549041103482981650880255300117974559454015048364906410952667470822603018878091867273217738188501677317141728396254044469029896603162729599005519147534450979830120038163285931348488533065019411044594965717432535802574540404016144280985255023971205694766941279590098956007321408025485312010967011819883936433157632418914672898728966813967546135884402253169587611959984497213048669333924428047004941577550195441057353653288960//434977349366147411461057945891713*x^178 + 28787979009750079857457268283990522007721292032239826019559595407711394952207263554364123453848928112686810551444424835607750303864128750908515547934814103714900930730026178875869204569251191390816567867678596407385976338254784749887017353283380830553103768247824919421588554472399166869305575256971829586833313943391922073174383796187571174220162964610345901434264641725576640043472318744454822981407405545220394555208883047363941537489620774248454418892317346844241829043317099859096066973406975627810979252638240291228885392785009803597879130312956659081294732914735552565931315185301236877596827302477176605919274658579127873051526250568723465889804028915828429542362520293356090300077665744312646401001898506362648829132681816023998855976880933928535202671972119579798156918574678478621091730949475429663236232304746107769526421125504974681260267257942679226184926770126913916767127868042355669507550650222228392787029375447856054272//3914796144295326703149521513025417*x^176 - 9668743737618829186009837611081554618588744531817036253555550289225299352071832284532824646364293697069331050462272172181330722971494361906639228827390089683747357082987165098002770960835567243054332249836042418102656413943022684618970297515994231224509406841786832592890455216721423344980617614937680268882527799781077496067014192087139915057484796851962319721232210422301101789558499702774160551460081055123661790935900941185779387241341415231412360611122689836473831390045055756895834040456897756775861104839267702457022334107940719335339272894046920357768914988095399907735778152768577978993642629170041470783246834236598391748963634314831748485355828386062180246234725635825966048126630434365050734453772119204307341962158787511694583267536741367456567217878121286665119583040176842984371694043247056142817592782472336896545625427044026975574592478262410227883373489777651540073760783945422581437796111208274171893351432335252258816//3914796144295326703149521513025417*x^174 + 236395797049204515055762235846439189226502490612619737274830244835363081558074296455334682349435975981191137907360565810928160313132044559530376398586109630269737834761924168267045322663014169290267563570600174741907364831706524833503316967004851413030819666562914843027958444783090411232013794356452706561566464259559197251680740980692190225453739418701884539171950290421033616257735606019024761381910781313971654792594978234799345863262001480352314338379271501207299257514683193161679403685694387599047728259442232484323313705139547803130102844382901069860537977042515322888754675066624265641883605162195647573815985478192681161660263290282396521509500519741858242302743141739068696000676349478466359090257716666893143366168455348175390740158526722154279606554901266279785631925891360635406738655442781963712185667438744613443281290178542678230962665326154604834610935342409021290149625232685838348351605330935696158743791785176203264//434977349366147411461057945891713*x^172 - 342933695806208684814737224561799430591229511955157650660819031380244329553179626008706335465520362126502140608229190557345616473132026588046917894278951318696541444884962234919805424407017941718097071685679196782825321842257885064210587660399278016703895834990680275137621200601511399531971468337697450817310572781872954266591364465177551255229636542493853404073440123913369243480728613033017965842881158644496290274231524364595011523630265981371472897819037907279953998274337185070374857533455566021912706960799059559633532284433632763771750964748692651007609792338993510069407371079761403018290255987455203085806133800434625742911405762747636257533130520947083268720250072842820515095986344574404991757218025377552056315621019094498609473743067095869359996964887831128850236540443273962570225589608882773811693921457985308848400158507299593978013357984638143945487467826989501058471573922930125688291426433650868447641177303143153664//3914796144295326703149521513025417*x^170 + 13789577611957901133347570781359247335059728524925474893923742234425649002383835108450951766871458649083253180664978474526148144629641528547488595437121173482105869919449021852952026026967564825536055739651664668539544529909315746382271025130211238545059408852676581553118780779023161683486880227031505997800568077186570920078913126915853980735296198985580850896529954830204724796855216105559080777048542537431558002020993200041228607465437021126144335271706428203043383561685834169735736763869105884254084939485772219512581860702254670238918853022416927250733391550867780987361549936363161816979899401160178358193379564621577133781105731196953403138208058808163222775390108342467206884913709147072386573959339748897592202396928918893443692412142691680335019949819283955748427513145603965428809940037700903135948242706413949743053669645745358356866883659169958135393350708911862329013123471631654521189058684666666361236534563017064448//1304932048098442234383173837675139*x^168 - 43591075490245781470880842696937710119358118076277735820769824536022657907471008675063934640623389007935331528608130931829451899887041012696320179028471464910775913786591805224600860045428400889175301288299195708555117382290644069448946648120460440514641717279617617547234420412989907171756190023077946876660873699372165086050780382943005314794440889184631288893983831281848588218416789710452258489163639694868780110569230483896033898955850714868707479651116456979538088713598901035380681130968289281467012960929283654075120862600942957956543098048926072433335745490100737323271566856973549602857876679079562446807101536652963002582415405389035374396013505128832051403401663390762356606678856306506321593616891656423452988584638001679258334766686368504210355229064010485585984585358071141130514643732817778706687081233277585312487407373432534031234037459047434767843354820676551275487214494495397444198508821883132612820603682947072//48330816596238601273450882876857*x^166 + 121415762809963544638358643917928220322957232859259751723671010189661452864122273352679275531718220037255510476915626664463286688750867365056919177222408799061368692583570032541731076857709991951709751361361484709315354419964960570384791350200375852402658753395808929829636354668996955698737788925387246004117050667271765871717408475452173493834916086565091919462090171999049828739688232752970829055712920647444382744507491188354712345259202571128716242400617547405757452248567536405388352280098838710645465122182545197624866411705182164901030772026280822102575672127156340755025289385941877037547568122495324024197226760830666932411250582507054894190615155461079630203937606212135326504236952938760300311974372154530950180492753355650615682942448094291046820340493726332397727314689157182914991524065271987414161746012910940577742242669876630225010513664744799871639133111405908507320442073070324445973045734057721435410965463040//3129333448677319506914085941667*x^164 + 20415845205180239100000312400362906420404232448011917756248104040522259063908077672738934824515590823258891901448073520726658667164929518552754320115359634418608015411977529545622895881727287912631808015020237175768580647549840973561574062673405227674517899737795136381755602478708966575545348646069943580340389244433928053113326941517284056895747407270672366615801430996079466750087268763852642335583525954567067899131087963090028126956440901447438914849480128729123076743155756774086657118357484435451395545796207919155589705050712896844053672569786599837132273041556006354936801117912944931088918968743287016595810903112638820698008066321659891121031205989116147611270797215059525225054623546814349063027152607017600934101560725855735612699099616659957837326121478047169382879270207722722773710067042082306460291049203045194168270638475420948056431368411178724916919209971858735119040901742363733345335812347879721505573044224//9388000346031958520742257825001*x^162 - 1111824196789961346781362803557615078200618156377088563151427663195112729913743412504056072322512408515626720094095155109446834462083716462766188884330998083772922504307920638271246484639102127345159094839201600081222014753133907783420061225432018741647334957363155923874019989522433501510426900346795424529839247736470928075339418044980417710057812584845438796141579769200203752824505268273292075340533522438039383778298843376680777362175332282018215614803194863842155028742407546653656735505503160161749556625616235091034770883502902691255279540087346653323963979961395228364211310206771905728738232265229098798120646602542174698452304309967070240058884521541185564126234778532889130454650276517154078862898322851269267485600291129932112307024430640309925021203699798831456862369787851852348058432896795736798121974493894079022296476654049016511345217361144060671153142219907153986539602833755146548240434545541094716668379136//3129333448677319506914085941667*x^160 - 451823983571337459424044959719669966894648358167009453453031604184650843775902995512534719091880244117938005402227158397991069378926034846361121656957214506511219315213922626774429002831454865263255764706907827041081543156295158953393241310403597290667870964719181811631362250150286293770507684060645776121352797248533740254031553992283333485015849291711177920591560628317632130541313218897695348595842232254841867227767327751324378687935543790735952635211017552253454935945106372285225275224620837852352862280586026087685356495100380656908989526037578890363753532635061031634452374330559066360509179838510849499410942441290577445478026364076072388566498941115033864566614781048831034493267533853486727657747148313714318468361181751433165777935760040684502129381531004606964540399933556281534530157873734049844659767146825657777343187571473717998288385133530416282693529130471553456969636547004271646682116681896958894494711808//9388000346031958520742257825001*x^158 + 21785449133648072688654359754936587160741158756025149244945890601978395662674584475335377275015538858170773076496091077645229703406692038761936929400270222053128123967296327143197963605594790582853229328465374360360914029432262744612943088130454168539334554032540090116763675642749856324755521730701338831745102139086391044970296201594443134394147516076962441811393607565764527718669264375321596271585593280335170783847387166655246890638425278452107056829855086576237473813745862877253834159403141836606452952605909978489131344521853700195600772993982206220454121030634072696258558991513434993926449102019521821464867314366517610179296354329368279077122579484686197643852261284467757552074709460611862254335369431221126733519640985969307477905770715026469032213482147363953412756174776636959605993468270811826506072501314849355216737520846791685701529727355089347806511573150203407468671499009969558411084778929854916969103360//1043111149559106502304695313889*x^156 - 31408740809109379477927242200508627325607521391969087945050612276111259327715097133075846198586385290820332267894578422084064325831129975449119087751025643111297052881876585211776376183168616063598950883539762863694971358275572043356498200102361032049554464802701192623627294341252141369200628388826673030030062205168917345522437811172256693477291656470223986045642751047652915396265454623088256228658278701138149807481908437347937305754627107407301114559585845438929368102373224208955595515204832214388647008432289978799246885174952949254153738596165610881311620206951589049406905297750332587875461497375316074718680950924539452668014893283275862612373968305960719662813034591109060327671624178094834542355589459615548117901912493736376077094149662374242458738424835256661786338504969947800292939901079103032548497334353663685649563628959419175644107879275764294433256087783087804358260563936656182390509566302488894728306688//9388000346031958520742257825001*x^154 + 989897437017082465142326105017260134474661831337393168570274094887716908645976871965304438229632214836133535495454028700015939272788672164507936553863581336460624462992007145513779538850232685266159017721552040044333838762414788264136269209844574091073197176679836936992945394874255057015019702045951162781772287191415882345368701605738901168664773057101458205530112617605660337337181612165990542141059385746615234794474824565464954449306260564721382892450648043708206407017692761253560343317016670046239435195845075014585410718360767968528616722970535268695040940328513759420418151062529575469560230523711878320214699485204822049885097275903429008114576358388787623373939408053034654288264386456361023911053162826573500639517132826223177424671483914717669777301668768562911100474348053493559900393255782487537719925239698263185898615692375479264264598862136321495953904610485788657001699654530008374267812763762579166199808//3129333448677319506914085941667*x^152 - 53343806760014081803860380337337858717408310894083843050326522912538476994585349864472264061600638072078813603290599349872320061076368086600835349174983897184207667690359620295496362824271291233465489583668181830832829877074282271229959842660795523963189969026159387582750561138411509663133318602885675718706726075761927240868607553299066798057567794968653311372491948298249967062225309373605889959125461119649040737867676016272912413469591193569867320000929291380085074122949826340641109854684041082140918489060285709368411504031629275310765477422288032534155172433924948268866574887701772296810592990408292784677821218631421486139825226347417700435657522621360809546355237064585408953933289687985578178387941882536432271830696533788905245286054611723485280985680157507499460125200759042338435382701483728953716117795422746026067624635056662674093518341549037859942019326490134559141329013632057990040927260806519499784192//3129333448677319506914085941667*x^150 + 516646319892200457303849547939540600525032395800312254191975072498284683654577772329025743427936877811771254285632958501112703848052829874951044399176912130646944897472479976296159368001040347610115771403394672819489639400208143832606889747683123733979262295508657350390145724164779298319303289800936862175223149772130227406955104797814667067804856052571392342927136137738558047157641426093978243160336232490487991442014778264205710206022953439896006858782228475822085763362726617614917624231945695363086660499494437659109091989251700192746020378834073500395194839074636604111438977534680157779071531348644843836564732557947177081104951284149814176738070991317888521228889167688636248950189439663223197461181072311599996613429189881506612149740767607230593697719494677133434397709323175709701289157594421581379143566732358831186321263479064791394274656844923825422214765084681221363709795780110468347834485054317264896//2501465586472677463560420417*x^148 + 34930768256671184564192974883284174859268370565019107306646615758097430308621028886318482451612926248998924632907562278355143197213617363259497525475311001844976634003120260084410756057723158730867709584111262454434047103391009833640540880357083652825655714963389382835298787576549056536252380921085310943702711370325951972437617032998344313374329880934419674376766196692423716281498550607523193857966714638260393765501217058630589491765706549156955884413067807208299390131657656065967534087417431239364305800967199751347463687978587179226253646980345673073234083613145139752878812971420175599550892255829136476984593824271156000174361129959739162109195420454173784650604454013056266173780424719350656111340793142636782152290054914459041360451767863874319122133167243126440210150164721433753308310327113445267575151219535961115126035991304383462028743615213538834712691578343728692001241177180714674617428695215767552//833821862157559154520140139*x^146 - 868188481765807116869109210267437045473301569505200516091793496691577516730115578854163216880065034955155018314218392142503480972525111489398915864225124420101667998526961258905185439159657088416285332055681854621099013813961753469484437016634961593002210636253289638332964605583347496455675469523274976133389124593551441205197536135522914227466631159128967875136614533842534516508758334811666532964615518318114331001049307257999235372299079945639681293596243445515675447069897756865774392053504614432346440251078141689683694615337384390478383306858322470962280776477624286992890066683988638783177206993864138924418479692892865388208131817706236003546729646824900225244421481173591391099546437930971090535285638608665920297502968023336404510803461024549045582646713248693154639421538555828515505921297811824804052763792364004277300548188667205270096541740627686716567660239721317150637003882620112503384696676155392//277940620719186384840046713*x^144 + 53299001843892340717389639907702930740027026150750173592558292156524970325568416547279092171818268558868985815037385815631346192602716687678338652598222319502702849218218850204179076120236119473818787701066168330035653841453272506661332372696997438186162081281166156519079250592422157319780038157483337231892076576654376769370041859536599570912461863645056430477675007821185183155639281555403303261852518542908314351418063378425506858764821225809393553206208614348260344412750669530422148158421309888990047732785269321769306180222092405697608874876291806663081435807256838777425779347659870510476788520983799971387478970602850341728349147785648259006818144772369464935206238781944529725201310788900513648045130656194174246268369328818778415200637115309599387723100423755548267952891614275013468132850758779126652666780720078423357441250773224887341006657704729069014777282506497957764445381813234832972778188046336//833821862157559154520140139*x^142 + 2712059954210280488431337377260144623175182410154536623068139284543844842932048474335380975647208672156011662361945264436244202533384270170638406790536135930950569867746231105872868914136745918804608695376627174265866412917282224269552448105865000361468197541223648768056760016230904888873678610534421351111766694418893123061284189309163755285165678466766761805128586760650701087584648130161627775347530138337327607724397145279620640404055191035552311868290017433080474259072008743985761155040897274961559339852996866556308718779770610777146440795955191735951960220433168738799147365818716598869700941589799873932187133435597673668964009391599005595108271875437281511408244688299228431861872321972636497685127928547997037630314583442688335367991807421666531991103822813913584688489762192653504029586811695087317247893233248213263069790651827055885550461881876020391326767228045577116812593994173579133856853786624//833821862157559154520140139*x^140 - 186786268128273122657874794230077092014202325322049184592507458800035930663100780532622655491854321502311030561897837415809433663377758254338350415457166418438413523671795364322098727963796432199875676828625334774364988008992042309655058827180520475806952193171051943940904093656800327253247133875060433689061545948621035509003484903893173275828712697280870333614288291478138730663458059398763814867215167484619711034579604050439566700843976687284351316528629619783233569175319971272463033613807860024452098357735777881276288774002335935394349867892222879161236660015441294005578681812852828730534790054542078791170012067086618201608511622821244524228332364608711069826443243685051721944579110132582817815697054162400118138541723566517662414565581508846887026216811367656697305623756250296427869588366231898070858655432638288843753920603187070020479037318267003879902684640553009091151575604166870896565867773952//833821862157559154520140139*x^138 + 2106836211264021589002226134801465392029573079686001432114554557280445526549554661221413569880262157750589062211903817399241204027222473810651163624910941335879298515311944344948448995800712925597975163908971034415184445675121166784787925077477934881887319833371195042327555254178057157428266678221917824127715698485097348902492077317880449637053144454675356348866787102497583115600497178179842999976877072914226437313539992079085559488833015785392498679177555765195680666296569967494522598666867484546259005007812191345979736496520964509118645398685495451082414157523328717480765809272711933294086709123529817839644695811742927004460365626415043951887184844956549008292198429089611666587500363400416484385796129218091401187807374790579720373930852858225421447324923721114681170373954790134535382622503454824777349518611758798480614922353384618036901230467908055853037168975744333100209847395411811775824265216//833821862157559154520140139*x^136 + 395355045081825440938613488878167970878144974406511620485199453147724777998112072500440636303620281771232430359469163954411660147181436551850708209598946442165489257055436703188294326104944067934939933861288610730868798529392180661755319373287611307963814038312197035674736170955105771972446419723538350160901024791161093531904789563029877043437178975069028208572559350801503570187437981893509401538965282513660980572626264322030247004496269878619913924597886609763529372487373424431682460970313622514384069702562008785230814370087433637835190254042665409527243142121893601322071491959962980912984606652130639276443206465962147798729614487048209367342364827184548412768880737472573406567113836722601072434043909827429607875866339575637451727354053232782023794421086951175519425887453960064161062685929877424601580793320037248055094923109572046200298948906184041578482376568399678170198517235091252604567552//1999572810929398452086667*x^134 - 42628286731696015132157672673735345734065512634936710431847997996813849690277220070738744107814180252064673186049527467954175852391096876161200575466501969614534991048646289009721008123673363094520114542256955423145278848009144803471909610878163940098486634659908427653476359887025936358395238502984653867586217588313878001273502602952400785826142346361341932799325900482823316139501108684422292607596983239381948793622941849659556153530793930684033232483312927264521014102400562635319653644785915521051381295535366538930615062337749461200588707428869942044731668518987628746533169265971565252847360556909779728695698829133429933295628197818562396493824038858093295536837942991438131606756458094976202574421021206200849810903121227476707047190492927319541522705110096508236455494851681577308526480229956874291758883688835417843582867696987866276161354282351754138840678303096263349483999816511653870043136//5998718432788195356260001*x^132 - 24038259646073143883732884772285750180158482177182982863115968438580267254952699668047208464959607181285080679109244231718636543289908355285004651077012053769632058444160869853525678444645597450754361287415949102687977308525997987177713258529876153488455016808842430918049988456388404318657523073248009854431985548006031346661973750255282697800314747835625604561015329054307977866016315144691560830390881919736792285751758678926534703867066353362125208035412603470088400815502239211988551897340174743126072150150740352128394389317889460017310283855531223554042411404776480671577695331506094823560887695044355772675644535683417026147839865940197081314420209618679875255468055040881937996078697395788879013273331139415563490195814089644968130348561034188407989278905907614968890563393394678303305311486127418725859145225136802163728536057786573259471739017745660411824849259458525319239492098812798828544//666524270309799484028889*x^130 + 36810701803250446265568085085372586878741958431312382733748108005002082501474267599700627628124535326939513582614813014386180490744288324615849973291849233741756433260412364633227311802882811521522894160511398805198779379683060334948382574914945779674851919725409499400412094031429914307314817705233373368917788208633447702363788721127020508472352981080318013780637610014883922744108581664355638425034044745429558672076488882515833483086793302691184499602905561795143072047740594994961673179379798095750861774279646262343715369591933390249807655138485225594434380030951372212167414789842325281113756182202997927014886787056733649026775393469825509167905207881436538635750229162521283507920786365485008355416156420144339331228459533907456334915540806394942438072679519823576666372081889485581274625703578075093442051330520942711376126033212830423529304153108619203961960774146843475472480912179608944640//5998718432788195356260001*x^128 - 392886378624768369603300160906259159425560034496190200209577450139667163759556374966820170614877127896817112116687861661261764803293012434933685439529521091966922753635399030304942445260801067646700796970653393633839801906308267153396572551429501220069789492680708737290988906520397950684630526349615045259968158995034260159407901192117355618545800071982621983520020864504496022824799986630764896937784115945504390120263400677254968824820406949377088212947277474775388663778503882092604897694719114193135101003606171354473719759540163885225653943417987866076350743616283036669563865651455170983505595663449897570450306161236426447229616997864585165844456965314463852832459291304212528227641974116506513085680023445923018816179410951623352204993843066728646537519220202810424908054081062441763968403155317703180706683909832186100838209216745035150244072982213865638986968413029767693640997696872382464//5998718432788195356260001*x^126 - 17181401537896554808452392498719424194517015398069690435090485083392375212418926208786606422547643885405620528765116683926930337487612794679781837881607671409747566345168374375818303099048631091479335100023091055256112154157693442462560297644261181097022134395601794821049545799741630931129249336698663324636108471543686821714140937049536695148726641631448731498617978265129487845844394152946747669060949908556559685964096773866819666845138956314584904060151818461907211506778968967923710186357155328550556973034187491522868823729200685549003008873959599589900974563325843923392287932045748377729856881713081047939634043840169803429856768972941099917208334842179597341161663040976547097924016532516461751133725494718960898508703452955670838995660094328255296925030304136305161129859979322205517530077938862831774230531543364140184048989164324192456261688675588889632748422890154940608446723560308736//5998718432788195356260001*x^124 + 133598535624129799102914143059172129990722845441810046231786948674090573280071328801061151992463646541615929691179284108432127509904096783631065457888364786194212052732948169572601082074093282293894683714530823584776577225705811343111130716572880881013570484251114390630424013536271167310958458031552173234189205090326603050302851336012863602047616365520888110157340154712849007174907480330186973740966581596274617361228040684555642676239965020901148098544895755146354900077516802501813722987161480551647088272627122809538237540724243248121892188680159960286273069256731483834505678179288360170881747733925004278250293702998273908062027843065625293025596420761962719049990688993478090016282213926763715700585034758972036913776237244433686536498031549506803516452756324614689634520428786850644643891144671567953528163706218244886778620654357401629800429792637199185332052115527515768962344061763584//1999572810929398452086667*x^122 + 4256505824417130273255362716986711238326467912253240147482666856366897085559426984405242488965838194581976316900199020603626413918469331093571586550323814324319269938320333821375527264564222704601532358972420064799732195927387687425960475518170451936767034539878146280402657006254367017633820631525871681779822135454017078451962266016048015171388350439014916576188938865576909423986626725970584346244773949966738696922336384540770515882518246247681326344599788645067087342322476017652020691449451982869335067953174246133439524988683670707913543406177595904442411395239611771032302523158356948702913349821897311318300595115287033404939758662659077767658846454351993501416965716373488766001878868293587995417111275885947234755564551667474063761878664885867608942928778047577711540641854734380623717536113562714660588512827121284050808127105132821817707564306909518123177874197461269953445313380352//5998718432788195356260001*x^120 - 18247905969221488212259240847278684373144082650865433185525023301590790782916227256205711942122516295765524699315407163149514849981914802628402130500928653407530621269394366438309523769616062925301304756390846861320679387687434703187850159207265257781436272603726037577027270717592881075164727823492137415944726281111304885867500208315491343679320527106994030931369027620931096274391583510704973832424877010690420874843445945880607133920307432229221834050673425136947978991029657346892284742652886858989488616295742096288294661709440948446496476985604017643389770660040777097827073882438266726809887714677028347016809563765221861816240553147937086328568358190951927569030008535539872383318392933911473674661515576448898017860870366584609265478834986364132833860075757898359443425714672076194918494325308434995015168885422674421726949482089334066644068277994726904300834609767627333310611456//532793181702477605139*x^118 - 6130890542448792259329269296155100069415270879923670368445341997082033229748544629182793741752436195690499482006396431767861216345581600614606263378820541091356415314334252795439092170141170198493147580207742642653919476221853572454724127709545344368696819623282572863545569965914837861641497221110693666634772842469175966263420665413136868018391076890508298144191306861556191845572295665907436159274833311756068328754919076575286428099923956629518564840391477163564552197767155467118575899244175553453059972926654966099074577232204596267518371101103191211162518396287995012580891001467740926251137061352842874366033268564238635817801626929834586544253613920307907406204116494402952967420971637817869691639399148876796504335999441420095265966970946161887527346310693814538921842966000659736482512710602260561157541509088099106384743282708560320918342196458520982234988632317502701961216//532793181702477605139*x^116 + 18540284057671863957399086082256135943367043622097887751437780666519323351377250046806021217803427520697100140439517736909164730029632163973932338024994825318169990915607796567024145574557966702074686929438986394375510289939752907532206287442860450926238039305030829059952106992704440163027671363432606614713939849680452375943491761480740479774506510385114141577792790922031787874805208664042689530210963009317891592335627572940950606621587029337071226358470390002785107956493864698111481787924394890495217324005687352395486668599171324221413055986749449629860887534043264189977984792092940029795742211125587337129316574485508724464652435082744778553037248176937758157758831171499857719961980725373877661084615909435813348314578149817316863498179145309475836790963341546711881317238717743943701854054123974508706505439889470388608147955365656168292592731660532225120164057825793760296960//1598379545107432815417*x^114 - 11334999615880291567677364503237116388768181819238065680983002096427392694532317211029372522589346999419357555409436043167302644895480588460535675291036568769583813618917537835850653290252003392070866421477240009733302038034778959850885754028556307360199186231491138135998968730187216802430363963777216631474774392786014292482527060493715544955740657378308924927312384200497204761928827501304403207565218977032657714662330047277458192975397469433287199206305896736800912839130615620348214447361390620802846093803220930108273848220715834325346433857818607143022121531197577828524779973263932001482516032147194503486436567117287299800205631069069226104901587587541632679464580147712481432745958543013923979019494944050551866813456550587895914595572891846014838131791705503568512071128861424394614777442938678286706687118946863723285120748237256363129446628955967401335626583658928799744//177597727234159201713*x^112 - 1488483679582091471638313002936652104523949189249473566014804596758656459681365588484938232750835663331826383701232359073218543856054634275219309839327856665695488308173907651317573579595534690508483564025981571094552172631205762330541458345583786770745651058566396180514923201623682977061012476318034139821006458149681918340194309212615599204736267894940161735879514930416816345987166621404434541712610616602713257053781226482251869990334147618710653336684822962767576871175089333576637559995363460117956700770587781262227267635776881787667678363568220523299888831202172761834833092826602819575948758959097124626955820302492693572578150332834242870406292382037863024821109963568100132383797092138813981731191322695903077061628921473924357296343810565626056600712901087861551718835757591846094948418427370790352732334823324969764123047027029249055680472738022452775075236679568588800//532793181702477605139*x^110 + 1664408000842503132157717606415455663696035654417635866737126312963498510136590637284018526080882442496500976405876983564586121433869974757046966272640168390903252066047315251159571751121237983480654030664449018857577751740540486889960911208853691749935194648070656583765015215420009437861436177863733046928154843154997214803774186842730298532808775023328390614155106714114092859611972487263663948513454376701352979759451805968457102650900104852451266737208445788374286302629475460166443672604512718931701286465713864951127661493010323448514808628413704112597313320042732624933886492000823881708845725215311132070389954479780166568316036369138850259280334682871636119272830324953578165234633457607385321960721546514766219296349020034052852297630929186677722256753360068073670618071685145945387334640750074160788916122448088966525826083258953286132718242830832499701684347984674816//59199242411386400571*x^108 + 778425528150531601463186199918337552690228534962571412685778484652031488453340505006459270881403838006333204394084977946583289305478995613640859696644969054822463173493742896229407688772414730306781980022640114240484869115007340346825905412654078033747070672074506210722319505577569941746309635651570127483595978452688398608386656585222928258973426869215666181472102366410338180993786478148708249777028713772689926120143447576907571910078246170374557885350863244947425606611130093725515289162456483247624900798538108813350117160522695757990679259798425021927538735145007405865684778530057025352944836598599842578374159535042156660974000462446316796794135122785828214047325686877689431193740351868199423773630200683820567078537511049593353037629623773646619643139063428955228975145733309701789406356231743957104628863326144377798806511401503732126752738866764442432360498463768576//1598379545107432815417*x^106 - 27576942893523581442227166348358612727248565965358118648542565427467565972776979537277861665989559846111301697922375075832868808162014386386879472896328784913369317880027886962498957302068633223588305164457673134450264313217476438190486934265822611729712599094980187492552185686126924007202272620144797634329166376872945689688787733085423318763902884973678478335367651452460913766087059845030594714685504214715670554109141840005783001812263684655312045123544531660001332125568238638206513308915366302834537743206614456785786297507070852830561790769554605960158120520011250728096607766704712241345999786499814608205662668674974739721791926088856065288316634890602067394366176519618329796546796262021411223255609695570914728854481235281823328338307857022212837562880627738220413907858200582029950881352749060503656940799463233188358724342268962619632537752235619625685403828224//3833044472679695001*x^104 - 76463833047344982510261462919968595978775270697717104388542072607663000048645897009282667565623577748597228382672174039472853410468441525344728616026352454364081070909375362274634286695321740137272191301540378057339171131206521705314274186042721919333262923876013134776159978680623813737270910317583696819588318954037769758892287140244582375693445990051727557920736787054426996860834332666989750170544426048949228264880303302461566799656500897491704814693177719217796067295845524768345423012036755671163109527684791846472949726559810573647091698144277342176201540854039972002612191261007776720519424636956992760007355366808310380047060695652672206927225263242218891013842362478520267276577058259082307796146590712571051974923984924757316802837135763025320560047519603070611264955941820001739420971708781309952148349450986669055984669216459049287087114779849624960593035264//1277681490893231667*x^102 + 1641162891092445588836990255540911603888093339227861425840383321347239785816474629457984306098439469968015226203561454746900024588514326667144757525525839247508622542285310460265915803240548961081036138001431102134534769367296840901512384467785804731605702609862524899436618251971975078212584357447636201549384771608293066834873761665632107071080899033083875997136376940455220458590993687074140021064637485699013714071408691000491998534476896445985198929679262701679329259946997616761141710076456149884335397205902932209061094192859401615284983947804255448744997765078735872145582015559799875155561317290464983347765733106032982937648760068986273820387477985311581643317144369171551288559075853882329107870117931739261146267694549406578180438683394519067442593275278484757103601213291816463199324362914084644962057279897793729438393112787150392489285694505546667903680512//1277681490893231667*x^100 + 17479845072901220931144539360048725605595247811998100522857193734096476469488510481771117909099034210852586875696580466076521810764263952368940296388663884368110418449685555296381480700530462559957145577020005138272147815913040828291559444933009597357472332378060677250383003661837348932633732359003484980612641690402289195720989957788706192414674717291345673136241757300174545207180706409031111967759224659334593285349373663467501248616213175552144764500868351867925302099004763922942120933777350879607888197740390956793007867322149420971010925887970317166248928043378480368126951653721755903928059880722116843623299808965382677370006048115535197390104724534949910980645632231173412214434568407387218617302519526154068514800504966906864405212872634516906346175760525082537675305463318826406619186972365631816916790420509155581252634058713181718048013504417369975422976//3833044472679695001*x^98 - 644092634437450627752966696929888073964179346368039695749853788433516484950876945242887407852877824986290088869370836729184090253461562315104614116797995243822722630697472855562351240280009224607989234347913383325197684335602183939955505714910586944307295581509169206565741063325112689470003417057344343330257075015381612465965480225251178943755639702511785679383631301959101553498748062847317288211642407559965707158822458291417608402207111874669161992404502016116381297983659908751138646865925339958784063349115425705833969028414301539922230179165157315767656744100298996449644873830205386146914796242767898407545308691777377222496768886505206428744880572066343649238654405141650951401325163126829381422194084009192285990548118265060667941612524024627191129892242439587666041760952147798559983953527333977372387528261834038333292307470273530465527309682976755810304//3833044472679695001*x^96 - 257284519211026440151668291100876815249350963058782519586591857664476541544569178962877761773639458515534766923563044872177863899394866716111299077093014472720233537188103706693788154996315246994370330508516308070538171105945293338675491635924768650197041364392234342661994271390009549238059168190391910150802711064632573423107920615758258135989564900853396986010443753686428202347770235117425702035303471772907076313190944419556226542473569059395602426009805207307711318977192384610618225918249939124945182256763572765773495138752660657929208996669852353708309912573472039169509376194365190730370723064865888556396551380770590092670708447067849298091034158346923069918106989136174728891295316819066292639886646791562430293331315133194553601500514856850008292336511450335909910272405419695988171174084961510755291202521954157350780343264458997675469127580737601536//3833044472679695001*x^94 + 6917997182961402578106473423419263381816608171480484309346966682625937214746516533614749430550705631997728453731098910557163844716681045998677952459255887555402413751692126118215375771287851498327209081371036766169692432699583886308140411127904255374910622003563305531917250563614440199123818594812942642772949253352466115083919957577624936389295107008769913795831203863516217386625413061986020886044922716115845337479854054702051621119192947050179762962609890953153006989279237854733908664466823017043465587183713322777715534636870624224506273821119147156088897513352335078822893672933093939414509763204195734610660975908957136611642655929021983319175356360187890096778820058228070743593471688184037797063747169281527724556250103736825278751211700907627428039747703090550400609142031800912075586306377095010324693565554376133327083217226382996463200424635138048//425893830297743889*x^92 - 4803227392278089053138388817570515032911166972164615114215300315226630250826168333438908694436678060494553404865254906470270436351659050386065987121483476074857238889130725700137327943724797768023319877203437426534344346318141769429970361503038650270087641426495498601423370179807774090362047477811912033023400742137360439469499896238620421824772848914058887641267385039911953700679864086427391694130313377803571452710098342602442067317111032590095921098327506592750184087081576230623506911000550158275532992739099975176247005680773601501827767202603312521097320489789549235876327225226338250422034059600609617591403212436631064674848022897485973746575116171056233738028146178092594542400379296590337255253512789223417443742043658000853405127110359773982784696941562051569161228526679995550379436997534025997435302883006834879356117511736402457116056653660160//141964610099247963*x^90 - 1162926029344260822222240028678968529558444496295081667981139779000558229216179433834551758842853589578669893995461544687332246024118292502769907562471595617808422783902317972168762204081879791510351977610946720234106659655236788623842738810785977293814367956451438647583736297892533982686953629282539474096669800803581251963534532721681057201895634482402896605287093737945956974269672528808422739315117726499728866815778697706106257620058475381741421677661432212305104110499370926111419512277197940139976271239112864962461457200440582527686223367090551351186297242808810955569502147760422817999493950375489255885684284411535005501059862717067238836465554823710226523008667292603665912943396498069270582381551477652177294291173363818487554488616226680705664598559203063682447348454931298961412801873443842580203447973105829391513932949033418002367816663040//1021328130210417*x^88 + 576440449921595976416386753543820672945336524278094657908724594773458778243489157650582230848451832294956486486763898312005421710682576724882205506454789167453361406144766029269064886776752775873026419034852642874474398611410947153192265538613118858133221499371944591320326276140250031114518338617258673336495477202116646242227365608077006049430908957746055313929851103935775255587715472900348645046563353745118851601581229794000156160951851767728843120946167879225394475408575799970066519369288612193103769680973512217121953082164879677962850971831037585115160016157929692378429937266273721049401308564655298256055522135860414510356435973701216825110938898959605525998956324186683189463751360033273527738027576803041744353651079477273757135065719377743941930831245937864468474402946548822449348849783886747399267669519964562176080624235695158308372480//113480903356713*x^86 + 55626282811421088851954517838492073193280540989122084191016593473909816171628631767039877943076700794048144201102788645232154408368476691834056345229021547665875113778118253970580671121371614061099346376771986879068636311067363793641828268032933587665718977449913632708654043731871005260735352922991997417673015714125879667385853853846865061879976119484369728231219634704943478985022227670188543572088894178328069323592590379806988679776222683135764318582768249624039998719171678062190674037130861529991466886284465465905788325556521298028553946445816805542902115307720742619798448198966179966262651392012794591481638893303036616179632814695362330316590123107605335310918854387226948199780336671477619680012838798737565538691808093852514623882694451316164553629528298989121783096527822251667060672135137427851345335632200163600759016802844988502179840//1021328130210417*x^84 - 46329971269924857766996879737121752712439288646350019235231602287284342054912966783498152567806282364378964207037711102907676015275615035032779184691051609345581704058922518199356466437833782570995053162796472449650220144021410892684449428856020530442471277099756005998686821136413087265619696332091048114684866500467328141585577438812430164970840889467890187885445673937368682364476842628020589808138783113390797889192915139539104741836394131491551340051323850844355034998292579676343501073070296032511253384333078993667430843237997869160036039542238692088346790826584775249917259747801677213063783946111451946470088248859029458016197156088914006380959871207408338334445308425208448279664614864634056607904875193717987591021696977164859811249082711305064053147027193328704784899298679830821277287932023065313800647758564065959718925607367061012480//113480903356713*x^82 - 1481536254557035510319126270715552779236140357426786114040117691701332592687672108785472710144826645766607113974365884847475705324164300293074480637318835637447269289257031195084960609373021026673442652922995909653557274180238044022434360806508780150779013994670687444410712258204000167574554268815077386383136221324093403032846799793108764351842368399350663156180121702986774299929737845727105033115723711406078578234679661162046636253452236028737277278370100290396431897350005152603990468350669128150565702487752935790139162700072164756908870112962108774101657393563115771473767402277219045816275901526128516575568731430591600889776922323802332812555698085295609602564255271167671225448461298967467598151536757618605889162225499487239391188729869039301124674965553376572806060442364072159612921480074257666324426903851145521705478689235385974784//1021328130210417*x^80 + 7103589470864039928151278139533355661952550009632028378233205324972615882558141318061342764300991747171767024851717018309072056853029034900892519715246361122472975758556799296009785650236117423454312301989120679654988520840993814841590261898055957023493915290142050088935074740471949614941122664705138066129249307280294930002864232795344807169370034442582903743880945225986096837295107335732131839347706243402984613736053931168308537712563072282786871999173942166752444753693134527980271373363406194866132188645344252633756527134416519459627194228479328226809665904114332392819169208307421246193209037659810852081910235193074505788337704355682834891201997445470287618317423802919919829889881843790627060262851050683680312212717837720079551929310200558750955357411296731617977826728775256165925368067786041831448897701081115833218258383214215168//340442710070139*x^78 - 1648341888891879845625543747579520761729425364449227978996420020741988098308396508414847179672826566624757369789460573987037401985733829885751620882490628962352506189372779170436833502360071774888021662484348516906852702848310588222651100547069870895374829381778092095906566637459404233857385303414599402174447857858068399992475935609960536612387495834002361683111443639580532004367132927671695795427255626661535955546572255582358832471074533846270566839111707701952849148904547022918033811155038019554906551673505222007588348933491436273697243229821611994079451075691994165808317812998303518111010119534007251313275029126777684853322034943378963721945292407220382736959907384253479572680082125565720086232705780292091831841492392098940177615817413287599367242195049041711961272552402651329217582506007037586017646710237311226660543927418880//340442710070139*x^76 - 1633490887288740705273023007275192720058347650391442732610225297572738312598258366360344729105809613554138679620228237441547311575621214303048238174425499061817031812023862653007384104172201345302329041011157043646523005834250310358612771525300787525251248215858632089635571699849016156225006618778722606773091054816819498935868115157160371947903418366945815768292922541654735622982730553260107298406021530300496127880101021318122279693555710468872466029538467760828400363577699802847737564465596817025778504954780659774157059342597890883713474984929483439123624921171997141002909682701854131844132677184294717350483517170445277085454493760337780536773752179609877610217341746510641164189489067865144610249060749304530296568123828688443405098775069488157826036365861534132857031020034658500811546869207676934402968229494726464547772694528//2449228130001*x^74 + 5031854982131473801372539322624626234748690093753760854604451213694846841454539934914551124502950919407706503712464138839022714381144356608570451351148048259391530555464945616384853176055481599667800058636235969874923697707273738457350240875049880376763550785869636237273177016131115605839668015872517190717053196935758477864986689985690148937483820113486291472529672894094379299253423892283186272901697096640169812256785419475847438708110644205564434628166830009406103201593738413653877906460508331913870583723955335390310380441436884352055557801867540474065823895835995478792179879663842433000681470442194127833490326797482596921544258461558214385833237111370198566840750175233562511069146758212707393711260930341717821842497236529409542698932782514509237115888557105875882166241647911361935223891078040998453132109891098883502637056//2449228130001*x^72 + 27338149386959562433397009003127116295945439091898660456326738150180271642342011139061132327706707898107892590382749119316242235744511326617683941087461085855772529074455029900040799303229845027991635726887914921532341947229670383300246967570274403883051082755002474807496002669946239541270187671953852204883560341899909806530232428199774529881877943335308042258960553309830416258130914357546422421300647534600753995929424066120912249097490947287623863075008099841000496685278517582984346709100064759975207766291428797335037210131666408282754030927061002633711158304281226532190543369299368579077435568549431287577726716797674027988584487907969782611148954392769546291064280790228420547019854687691466995447374828348055730359553938417459912858931805764465685664542398651324675475361362185170491130484375791411505184522504613404868608//2449228130001*x^70 - 193948704537236222375190280586024329103269899595840986784251281135317193681433095630709006267413935422176523958231174402294684708155298306429857880090960181294152778154081582990944958451529521229128510589519618692477451526900225637660637391987833202437297629177751526407315986386601859439323681902715490288822913812608047644681107133766422806960132482417283635939160065319583505667120043407130824478516866025578045933644254621649891351788290405219309027035500602656917980691185844364205333006291915862618972175034322578023389806582290000321378351691482171074083465845191578867809083791546157011125972225853921534640661638107390684685351554202584988403877675958273410417009035331968348461699281292384652250549812370309274945801195566362658689950718395188616755484755775059498093952749856172444539714616574709580989341111082329047040//2449228130001*x^68 + 1114619928109404305521327239244699743552551301680196952634344224336748147163259838502760166897640567895897907541688833702954848682500874803045700658318752390859983545674984450655734393368374100668865874314820538147396723119201911690894740771724994320229100969201787056722828694649962948241889297586450303218057777392707472923261054327220087610752661461144334637551246498350802245638408729079602735468839274982534580478517256306411127034862628460850044152584137788728706111585816178943843458483697858834685435143460850248010215099158620970188071050368699149521030551187600482616896812604441286030489429436041534546776330749576354627354204046818788076207643794550522980444585095271796834760509894993963241065485438787533944127231269368929519099716155082924210620753592455760144896665063987828312293129937771387689559258642251776//272136458889*x^66 + 129506989053392649536299650614996570425255039854105935388300061967509342533180160563035635224270320255628431261169452075221330144358454111741522047908058259736139968277697843078796546387476331472209231207401517075506078330536897562037207652910594463300073438736347192518811563697787999498385356537375293521118764657199986058894288402174524459175808987338351765126158531453692057371367264646252900220458156482428091087166266221595815599596687035769333289446881973836621061926659114471933267735848429628728237864737693411558755044856755393914797304941427881083141191779076571290256902666372927982577090749274612566799823505577577584804753728889324817624383630781415502136402115826505595925694071647379676301586357167518383664927926289870240235227437304997093016528372410369392216787274246380036939482652367366189347141891129344//90712152963*x^64 - 388101045538223049513911715415293096706548301797609960004698508568693567289110259710225457921540226816252701970142327711662105423021583175100845859643836404668161427164931520540641021815037069263467742139766734763212135726424542073822032612917559531204113190867717491124207994969666281161406602646068327356186083042720777536931875707962196270223409762563986935276349520973754443381082077917890168121460109261604757374289990826021309631248863718175736816732546580691905444095930552047697110632963403169886021735056178875586815635897169655721924110988677395056959732358354862009551345737999511283355432693556765375050839654857744310910699640204522900402554388992032303754362372190801777906896116083415438004851116687133118786944639746119745535574718700218991033718635078804955745182023848624808269785256145834401211294416896//90712152963*x^62 - 88586292180066416315544661103317472660949891758595589968279845877925412058612646300441051143092967353789847084865758096285353880732812468106671813134559292724593862765284291581877182076362252622295119617651836622872099481134568014032298487947494465960921373479166343117288355000134255442444607881800385832451829849077558402501366972590990387575803424757077230987285998162034310531295779344333624599490368292587306116918962779860537545689632209846648387758205038836434591660527185966686213019568130769750778134846065047364035781795496647532232017414572931665736910301998948525133725702767685745837966977508226886394757406605204398478703962259514199831088534131468643318188628439528099360080515534800489197158566997925142811924864269624504234769132875218193096722904365403937556666760923357929134217419213908449110786048//10079128107*x^60 + 19640090838711439500805383076677370168694074906356714409598232092969357940300615541690065573636470603620113109749693350764821119295927501458040919761079031850372099365978322169031216100690686842336778516683038678029800718115873802742248440355093820656768130645630815639557607501065727741045569183858513563818254767447658758372333708850075851024803602129220105071071800551203797843650905073441182264234248595443658472871297276506109031913310735601526691232168721337964266159148663200910119324795960643522774191998746883547689838013595712727068152768134417147851762540146339115820076503360855288216918470760010195329615975064447284330349369729756369534078428467274070132036609216440628803010533324745087354698584031417296003064103531975606685505068684650646182912254642700838362747927022004286424609418892425618784256//217535139*x^58 - 133114345262011598297215707807219360714147510553883071444579569624076289486722809205242179242264354298282811960850052185295359021609436601161375454269497698976058271810543089255800399458397324141057197520566433211088651894426105808808599199451588140283942995812807689453299242379956327551822935401955466403242221922470815081150381624055217017139263063113157460139710517963333880591435624310672638248526294480203039792974444159254220513077212552522206615150730878947145796680390733051589962545873227134312817669834601566349753315862198660110729310673021590710887239496393998406929180960134802174341635912006199775194818969528425572756124092555792291822489185083102144668796597417698736127564946977056926053722605604953897972563323391554606926629067166149754973807129753900680223512777626678612681263893629192110080//652605417*x^56 - 77299801124386367276990592189902450207833560655458735392136648132946006708403461293730224675872353208443219867193168990004051074387522148764596460634585622876529593101042203671551144893066021605073214834012961406242915617216493173227669314170878757588494978261116659270406631239325888009630748871532841099703221281536759130137699819522123647351520249914304647115376743576290628435873957203770768975092392290973292667047579519074843775131445814588272233296160525516657058794594368795205051717716201409567013030870970590217920052386196436711863462316218013214674309817756132966754860974090828500811692883683689304252304330551268176481261331133597566239626123434855553610845552910324001135556860853507030862316910465825067974563883217225667470534440455131270415031855843875895412684886624657283385227261438328832//217535139*x^54 + 906793354467462314654136628855019766285224799222781869461398118887542869918644830131118980440179956861267944402509133837523108312551472287695520753838748085009320558552790664491290553728093658959883387167869504620563027969874177778993489088064225786510322860666310340064992763565000952345060069431308763972822291369578112240937993743961455979152751691506733199640765306358855614433893319922640701072315313718844194500814106419269055126048942725523196318661075507844182622575034414591139245249067597439642126829895052437528702569072285505873139141915267712750370552925763870771954215600412165909128373466815577541090808636227286403903283170732274129298231373051970598577289706129115106724270917287520594520823544507101341394777581289459708753764059704537212869227164502995871949814324194530214047555149365248//217535139*x^52 - 3767190867709502977682707600995845848920848469562379106350564320494411914287866686648590057683323775996936092499416793633528654016493373303572667966989288910785013495076275500720392868445246843350216155483570189171748288966376806958464891472792972645078667139290906814097570382892173979258122949504140446207069456291673170361553608647051282891029031008287964313359418486394728529554639954666140708922414951687607100792537130144374912367978434421815145909361562502070599328748071089788842649892853203627065625827546332438450333982889983095721527384666224910863683928984978130054936614765047559667641091001123480938363382353452697795374919568828980626030126944722929865401448278296047879459040731788655662380269446634763346008537239562591220200429795342185822675765979517256098013450556481864754254535720960//217535139*x^50 + 11251483771563424690255996528025917433075881995021176080749383751197533058573615381934408422337965914654580346043836910303319482351603324737774172793367782140154579257403231905310190121875267071803849543244527760453742812483126659665025090973858879599791461878234370354325401727146075731015352174302335068807993278962250817437969312780786078884730545255572083730931945470285326987443956892258744954655525340562953906581476987885115292753345992872064321991431329674693413910210717891391891767292392261913824884213894430677244150791848000570310606915147617841321902789859691833419420655228645876853631470746268925757497096965539732667691168945805003029819498254091697797009657506582733017481825999311024896430827942297033249720795709841410613928029577888441637774270971459391939605524426566321767142391808//217535139*x^48 - 9323408914029671996101304184916197885560347937157465912514928084822296007853552696414099657853678658235703401317941633113620413461517160565473336619099128724458990669274370206213321843385557280736287229380028957409172157950077781532656577177971844337206200650826832854102810436923490587793667552250953582242296641191824300704882138430952252864460881360249325875259535640564509357189214253440791903862479706819589399510086642682281330773803505400745416413465958478216919095627211112512842104049986856084125762929044141499257752980928553900052560560720719340164004873818007826183631433897802221304790644266619064770337699149307705601089851109790496998304772976514028371899931450211317292114787920908826593684976194713426806573894590101202887158999679969439421431849579443759572693770433438395203059712//72511713*x^46 + 48144416943154023014609586340969472024744909205279196451473761951766834282844344301339479787946685909989965006323954484765672799334607918577038166086193084625847948082077277573294843866615869850593621300851649848038097408866614736109237617277315419531381191250644135200849978864900599429025259811030113641853897953226416824436176962406080354747660866657912504148449563322150387414406051779769897449335268104400417908479564570160467505484455489249512180747081131721280547099273516336115459559649314427641748135569935159095437763913254116689646078018823239123293466809010336475104538799378714190359932763013750242966548390770546728776267708017534330866691754640185964566675592869832333656551640522486482078493440693835854707975846765896185740501599571649327388347826569441536015197004259607445504//173889*x^44 - 29672515224124137774701959591495974944852925372753389795440880726064163036869460750900094120069033541945075195255710522836638598636783107249461981844978864262450340696427117027098606475100258629264352248850980010458784197866386774034973256991816307148686301549676582814604036083895523242834136619685747692771421958765993574675982555472305800721131746636032967130948761501497158730725583960097023081953203603896086940342056561643013995997136312587611824113939889186821770011282659169035785785753569321420919103707387099382558214492757195776217875686938922089138543127652912087591426512543861033283421991423400819259853802955710544196728775232202523841764109412662949535338555169396273412829692349190063240913987920922172659295061356124138267409728722871901120652834786809700600536030972477440//57963*x^42 + 46048047369762612114300226782051404087762860004324266351776083654883556754246697343745955561272071377109638407077395648814227067784361143289601655952589381573990222058445471016644518472240627379656146261540043489691737368220196725235833238795134996346538207541545669891278109873061987360414715729161525003659965119037465849488443520115636124457521338245015480895063791172931020297491637971655031393233713381646038653878929870512260866907635867860141340064537673736637957301436523035442420560763183961012262380144729873373399718515091854022997887663657012790402500634970278491895021727237150028892978330608641120446011576987401251137984778833399375935381879705090996116190185490465061127662464638443294784614380439389368821824157214298061037797553880391784312310571365593433741281701396480//57963*x^40 - 19614693313729789301564700520900566004574776608239673085063587824910173562476004838461694124317263677059298865400179991364404253516542842460785418726286264761261450499815403881948630732939836367812574745538948558322998036977565567729490184252557006747234307895814514959360048305308552038183539218291535714599006751460125497386934468537664372881997461970643531004871365619099473159549114216827621986855785537714737802981774492267109164822105577707925344730814817652589123695957890621790069305025354674656517590503051848642456376114604261540488911002157172359351034246313249651142779686271100307187459198883423341997411709676845515193153854390378172816302311745439558753553091283911684570428515334664969700254210881584692313128948544102076791692320552519634842634035785822789092448927744//19321*x^38 + 20384503949080218811612723006693382567329075722050097540458588150095138087509021704316300716142714813374129201165013763479179611398885989089088625610579229477725855728825291718179661353450363221232630475888199765602839338952590898318754858818585161186780779199475520237072232681916466504346174946536502180849316796295502550384134414509192627344507233224211001648586070304526117645371487665612463314180182698531826752046658147481510023690301718648128338267871322778162268968168771825195652179662134931248954735803302298779539460691027571509689431152576981262841326664016331865300761492991979125457912515665746938629223413393392474727873156885549694994100710614858552044944015985467595066500843185631524497446906039031974805012665977114200053354630969523772030062005073100216983355392//19321*x^36 - 51246814607830925572984225226927208888746033464081384603866031195443529191439021140897280298062855897503193246357037311780775441464489112978006817142048824509713247956658846746278539691125611314341646742325102917308336459065414489198379976374538930953456397434430117124050851851343288090952477455570649035650018719318244093563470494064088968056437812900520421053660937437727790678315123679788663803233611714075267371255146090776212525594699019167819726697656828374222199820926970057900798816516228491114828902358815744166274298637063883442186506606423447557890220916621074167465413937001474494324091664792037492326841007612372700562188533110188999967472871104181990775393990521428835945463051583804557991010309800975131716950219063296694299183291114536482249142670765135461613568//57963*x^34 + 11453488786826085267762548747311409930524266812751327848218719110713014781477686198973588478812091692641170967977425830343949401274511044707771062187438935316390471589818498347158732093792927324073208132116533469312420256591367931459521482938719057103347077764136039875801814346231762837055774639865394646268783025284463608699570357407574278252711671375014855999202927943476961294901268231218676879245619148713539806775991230048541878317167401702436856666143580261279343405340163129298783863467252531975031378533813468728701423009973388572046216981855719562458693750548299199936198330016104741728246332030161034350726538038587844324087562005626960276489725682788403066306378028256592829378054841907882407755796868879183209743631510429400069077933645409448393173835839631785984//19321*x^32 - 6085494245839220017114202103880105526019222639457209375671642547418239631344681053416241354622171002668140903050478658346541164615280671941049060634511487549557643060983812206565954942051201927195728461035129336358905929759885327445574699724124332653389020913280684364165283288893650727924471193981011224973411721126594468694035634056140889574542279880705680823291348831308569668186918488259486864128109781961412565900987225900000773664352255111709441462616655441616604960673526403269246602604625220920424407352905278033328004253799944403265370399440851465628240741310932927480203257951306580859444489421704678440298985912592300422503740039274400779483821492812800859782775747880517507217517371991291794362406803619709902756336505507785166799835890064575577039160588894208//19321*x^30 + 18179623755529819956310688124099054079851095927072299428535371081191437754280411392673518081577455367404605417906815806965616653769190853052931314981910243066914664342722002548752962861533198043966079053839145667764532547048589467794896644838524462938592427815271478147929939815088718312465416075597006279729389722512596480643770927645392543058948584447072195169442514600755225731384687827123759172514036175740650212376802114375049259946385930140229511279629170815131747134997027345049551133654649372129987595704827324775116188003072902892737478931037061666667565534492913201707306235986866127296608094714610292047243635629046401167339015627895858024729175486214425050624572619558538245074032338609903268064558833340530767330784875544920002210061258845278827060396032//139*x^28 - 5775821363344371681989566197347043739947006017660941430159784843540329247374523300994168608276358405881811618955449232350926791065209387727920326687880881581877819189311180447336570076206511548336686649987368706668088044592550890944505040371240809875763563090576215638448459444642040907478641161849530258042703373216116940503071222869370912656047438331067186074653675064670090809981521948780442872226980110590604513790371144231869240543276706128246025136602030522625658211826834169016103406251703931427213595108552683387669021283310235594635888388647183022600904380380762616114080771974347068617753248189043944123629591452882161701340113303485559365971297303280429129066298698262332122178452021566949369588469939157995764914215281875053502654342197240115933216768//139*x^26 + 1356719961299912443182155896325443619306279093450920507874852062336885486199357845674511327396982694362251606666614087682242540205691366264336988233316989727808781343246666603742845984512662218054729840626795448887079980871188497334209259606467283734316278682388115319933881592222439468050496807767343044185744578799471500857224287237740946801678504832901385543182245583266585080372116320438113647824944058967602540669754659609250152367973602254734866770471540271771539595525463953788777051078975963011370456921884785794537066816117447153657555486436233327635548568103012573501357827399890810022394527198104401992024389515424769270600724519741369998955580362768469599830681891809674964151192749134358661125118469895512481231222325042055560566972621294437138432//139*x^24 - 221806683711643020442442331121909447003001255050809395507107878193257907876231563575120249547763049845368719491757504733027330708106830998240183260118385884047195337887952055435204637200653766698991105272691981892619922621114663644424127744668125274232386772688341338205940743486213981281987680523608919307368035909676951956527703382329579830929363782859249017547125928906517362680938968014092784259794958870822011550969551759094400847547802276319120636261255361287884524271153482303146234701684918483406622712788591639626633671928193084737366588427096078406816312959176154036440209207366510363811069360215110702197693586275458577234889571013931596020645986228572924666350586045360784383935845998428389368549349885275422885195111927489618462447531091558400//139*x^22 + 22205592939016105490341087528745100198670333229251916963012843242990809025273700087683801993751299789218513846720460695941355633630734953536189303388658981265645741677259686522214287015935272674712409849592257853537011388684958472820814803750820524967319004768733341510288089703695278044046286312093915203324256446299682668476303162392297446150816964411176012042318710587054052189711203288164551410230385561113024960049362921213914782295347339367000093872143962071293979704909519443142734296704475968683808228804737104315697406353451233330408645625492462028074648362396524540315577542245751405684526577228544368937730371493592458632115726533734099991197772758961032880582070947372062518480883714404743240640146439116594639287114921184606000498931138560//139*x^20 - 874339530119398844814335868955537063815421225095997541978485472193755089099867858752406506632644271047821586052534969749322465951917899740769870603669122941173054334910216748161296368361117079915446558829202344506686855063223595631699569094595840191842081880757858460550520388445091953446093291183608070145165511150118473666271724233707434419506219146352826910161351072766194696701424137766289621794725655790210721416910073468309281566006191347110365273215281988982794763918903219944872107101169095977353270867313801063613920244421962031702342422125226739501290044974428337639588514458814445835230679972024108226436291269873954371956459515170822716511545809533793799555560343491633610270951688853130330357891733009725906028402658396197917909057536//139*x^18 - 40667757725115605213403049434747344352777249587807518725953006424754157065816009484233583928382956291103711368905365197865702485744209482727205612301601747061857181312089870943914663545170173167805726812387422263044218841207222764649813922209059288407964204390142211391494547270509193452396570554329821802998952465336593440676763896208864768733133567752616038624753946407280169306819215539517080656784613517949952685700178556052690563772748219017753101902452910870271190149967654823799591982220066000656581215524518457821685575295462427075130814388261762235154996564535328725802672274719442665787700997924689194007948084490219641517206061228481658445634822475372659255131847409546679222343011313263637692654591541474448940845953910812516024320//139*x^16 + 11570456799178144708175940842137396357362024410404214111590502507318246057804737265027643941472334133676410357388475847717275136203155872781429041782100146476281610028767666905385412722995107472357461568134009475805073495349455249521522472732204728596397598176485445680354115155954540069041176842596619121480641692955885021719134229192445133110781388277419800753564690516088593347596485855708248428836515650557272123082428533528399584584147890286061351213083570603643866460156381419200751278178647272679293615954657764069184349760738123197948860884168918467923497764335787171397127790713413865570575290414221574470154963616192297230069986726005490399521037773424110573201551131466545717734860748577465914797637201637698633081343549898752*x^14 + 2006342536427479195548837319031070280201235500881533863362741762514399417752443232386455298298616175758463256146061896921603743268689615729908772970077486409746322025743206524421631884516110324915556354236206372624650371183264883434079006109661046732365367507417716213089517106527029131921476247013419790420516375905326668745492891592624649420204825646254749711295343691854692434437601920798136517914553162000577785900006257285661941489861742743562062055286583965463119788431787244773029416533128753716610089803872063920113927192141798717603406021464551390925285415506622806660362079922129192968705320871220920776554321349336157200507352955808919674947986164133855877442285285730722807414310483536970194874667130151292146914613526528*x^12 + 44333681532412951449799018151096558148105883408232032292846468078220408542990784641139100920697882583778029775478629777223485855782427250300856279464308935232638993771404044257370380909476699218885568837894563218427211282016379854885062656154815736308962491114588142645545465641145875120846991190940673493467768097858306557882523729461063910231538167208042421700247834953275498701442627606740128726330176494416112101939238382830251483778167768369927947823282851520566543571662741273625927245563630274700308746111109955148670056317012807328495520655826697557117231317596856615955902967749442415556476192501308178266814071910069661927143094769549050158982553732175998216265609481408470481791888578698634736275724100618579003572224*x^10 + 375791315234274446594631571238015053451854015012670254749418565759281413894586944427935389058304320865975871477402738393182497517441555303660403305391953065171471818063314354083472733293668699850521450138357095397804273398323065699998900913806774929115264558366068853254082704847950077461945675988777667703792556448075147694366459752532710610723958784058207770942266374253383349433610965455280891994318941868988092290791082575142394726846267562444440136637901026945989082770890655992401742422970947923018961678024378507274952348722609772472488671278176786769542616933469256151444487630605424294126826418080891220271514189177114783441105777438200456527331120692463101607095950593739878443976580247371830380211627532339904512*x^8 - 4060326754525257358025880734256754928235003918124782886601789574258708520402752717289580434757874533360933387438212164960448054267885323414054591983496092133486799183041456543536036226154490851952862424462578295972357616443779897277488093855097050664775920886796665973235299271350266650300450370699303050165941682557526770511969449147571939190817278411638634685499183215342313297161424033509172844226168680710088471274763441221754323248611748288197705034976412981375479822540703993422759743251078469285819801535483250874029189603117104523015976623121244162857500968085001130894197052552494355192547233605612871209159257412556791269702687662080130538699811589384779891212555522088283179029853110057953482128031219712*x^6 + 11594651820604831013660298778208240155030931109647446553469820232084470205428085562121262185585796179462574509626745766195913628659752695695306992831435878610136195150717344787178246624869470290586232004437501762055144352044599887530569955166908865955536125463866094320319044512178834640526440885248257898109916502234382375328105887760099505067571140110000387199127258573156646731738701154751816749282327820082724573990325338364243151998053529190209613661786419663060322332390562897272450793101247373330454308366361606020493886918891300281526651132435630815684506927851358132915550056532964910281423226866966550883060066159305285896802493171242558483841282355436208867207207656978864181026706910535168819200*x^4 - 3421550289861650154660988298259339325212725798049675866312785292849447184320819454252726155751467324924175345425985937210349456254644936933602681820549950380097838080845793113682204294156330451262517952530315299135500329762332117442529897469133931475519031274492079273026005346504194016717256337083657325536957498356352453991844720129731992208762649201774267218583562137383263260093102814369200389835976922628681345008532460056925619653541898713767165706917290097304591957492496246179140228901181292656743816027460981610653651060039129610659171654391641024772229762785206447933352956481203919411017250826956911477231382456284555359727621440350684109703143515235347164541125912668463745147651227648*x^2 + 267017168801975889620773483071915352384790774018395154483129522466123573213216806857406062144348207741552112997489490500551614557189405351549584015058076558214965844062237303764342265893456168434648273979153889830711350223834757345503808780236377461975451558729308817837793624372506111602330833968286172371822671258113712949577319795174692318671487007468328714173385931195458704191836619049185406052425671051211954647005109947426141489403584734823670298186042654510935370911211835510411203709329607425944607296636258085392098702763644088044929764331607704216173010822963227750596640099273852767761268602118379282151640365543510396757218741165544218534247055286610626827734439859840876544" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "res = (subresultants(f,fy,2)[1])\n", - "#D = collect(factor_squarefree(res))" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "subresultants (generic function with 1 method)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingElement\n", - " if degree(P) < degree(Q)\n", - " P, Q = Q, P\n", - " end\n", - " S = []\n", - " s = leading_coefficient(Q)^(degree(P)-degree(Q))\n", - " A = Q\n", - " B = pseudorem(P,-Q)\n", - " ring = parent(P)\n", - " while true\n", - " d = degree(A)\n", - " e = degree(B)\n", - " if iszero(B)\n", - " return S\n", - " end\n", - " pushfirst!(S, copy(B))\n", - " delta = d - e\n", - " if delta > 1\n", - " if length(S) > 1\n", - " n = degree(S[2]) - degree(S[1]) - 1\n", - " if n == 0\n", - " C = copy(S[1])\n", - " else\n", - " x = leading_coefficient(S[1])\n", - " y = leading_coefficient(S[2])\n", - " a = 1 << (length(bits(ZZ(n))) - 1)\n", - " c = x\n", - " n = n - a\n", - " while a > 1\n", - " a ÷= 2\n", - " c = c^2 / y\n", - " if n >= a\n", - " c = c * x / y\n", - " n = n - a\n", - " end\n", - " end\n", - " C = c * S[1] / y\n", - " end\n", - " else\n", - " C = leading_coefficient(B)^(delta-1) * B / s^(delta-1)\n", - " end\n", - " pushfirst!(S, copy(C))\n", - " else\n", - " C = copy(B)\n", - " end\n", - " if e == 0\n", - " return S\n", - " end\n", - " B = pseudorem(A,-B) / (s^delta * leading_coefficient(A))\n", - " A = copy(C)\n", - " s = leading_coefficient(A)\n", - " end\n", - "end\n" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "-x*y^2 + (x^2 + 6)*y - x^2 - x - 6" - ], - "text/latex": [ - "-x y^{2} + \\left(x^{2} + 6\\right) y - x^{2} - x - 6" - ], - "text/plain": [ - "-x*y^2 + (x^2 + 6)*y - x^2 - x - 6" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "#using Nemo\n", - "R, x = polynomial_ring(QQ, \"x\")\n", - "#f = x^8 + x^6 -3*x^4 -3*x^3 +8*x^2 +2*x -5\n", - "#g = 3*x^6 +5*x^4 -4*x^2 -9*x +21\n", - "S, y = polynomial_ring(R, \"y\")\n", - "f = (y^2 + 6)*(x - 1) - y*(x^2 + 1)\n", - "g = (x^2 + 6)*(y - 1) - x*(y^2 + 1)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "ename": "UndefVarError", - "evalue": "UndefVarError: `g` not defined", - "output_type": "error", - "traceback": [ - "UndefVarError: `g` not defined\n", - "\n", - "Stacktrace:\n", - " [1] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/subresultant.ipynb:1" - ] - } - ], - "source": [ - "subresultants(f,g)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "ename": "ArgumentError", - "evalue": "ArgumentError: not an exact division", - "output_type": "error", - "traceback": [ - "ArgumentError: not an exact division\n", - "\n", - "Stacktrace:\n", - " [1] divexact(x::QQPolyRingElem, y::QQPolyRingElem; check::Bool)\n", - " @ Nemo ~/.julia/packages/Nemo/RGGys/src/flint/fmpq_poly.jl:454\n", - " [2] divexact\n", - " @ ~/.julia/packages/Nemo/RGGys/src/flint/fmpq_poly.jl:449 [inlined]\n", - " [3] inv\n", - " @ ~/.julia/packages/AbstractAlgebra/KwfqS/src/Rings.jl:38 [inlined]\n", - " [4] divrem(f::AbstractAlgebra.Generic.Poly{QQPolyRingElem}, g::AbstractAlgebra.Generic.Poly{QQPolyRingElem})\n", - " @ Nemo ~/.julia/packages/Nemo/RGGys/src/HeckeMiscPoly.jl:450\n", - " [5] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/subresultant.ipynb:1" - ] - } - ], - "source": [ - "divrem(f,-g)[2]" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "64" - ], - "text/latex": [ - "64" - ], - "text/plain": [ - "64" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "prevpow2(ZZ(100))" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Integers" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "parent(degree(f))" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[a, b])" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "RR, (a,b) = Nemo.polynomial_ring(QQ,[:a,:b])" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "a^2 + a*b^2 + a*b + b" - ], - "text/latex": [ - "a^{2} + a b^{2} + a b + b" - ], - "text/plain": [ - "a^2 + a*b^2 + a*b + b" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 196, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "asvar_to_parray (generic function with 1 method)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "function poly_to_array(P::MPolyRingElem)\n", - " # return P as two lists ci and vi of resp. coeffs and exponents\n", - " return [collect(coefficients(P)), collect(exponent_vectors(P))]\n", - "end\n", - "\n", - "function rem_ind(L,i)\n", - " # remove element at index i\n", - " return [ L[1:i-1]; L[i+1:end] ]\n", - "end\n", - "\n", - "function add_ind(L,i,x)\n", - " # add element x at index i\n", - " return [ L[1:i-1]; [x]; L[i:end] ]\n", - "end\n", - "\n", - "function parray_asvar(LP, idx)\n", - " # takes a sparse representation of a poly P \n", - " # and outputs a sparse rpz of P seen as a univariate poly in the i-th variable\n", - " deg = sort(LP[2], by= x->x[idx])[end][idx]\n", - " NLP = [ [[],[]] for _ in 1:deg+1 ]\n", - " for i in eachindex(LP[2])\n", - " di = LP[2][i][idx]+1\n", - " push!(NLP[di][1], LP[1][i])\n", - " push!(NLP[di][2], rem_ind(LP[2][i], idx)) \n", - " end\n", - " return NLP\n", - "end\n", - "\n", - "function array_to_poly(LP, A)\n", - " C = MPolyBuildCtx(A)\n", - " R = base_ring(A)\n", - " for i in eachindex(LP[1])\n", - " push_term!(C, R(LP[1][i]), LP[2][i]);\n", - " end\n", - " return finish(C)\n", - "end\n", - "\n", - "function asvar_to_parray(NLP, idx)\n", - " LP = [[],[]]\n", - " for i in 1:length(NLP)\n", - " for j in eachindex(NLP[i][1])\n", - " push!(LP[1], NLP[i][1][j])\n", - " push!(LP[2], add_ind(NLP[i][2][j], idx, i-1))\n", - " end\n", - " end\n", - " return LP\n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": 133, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "a*b + 1" - ], - "text/latex": [ - "a b + 1" - ], - "text/plain": [ - "a*b + 1" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "Q = a*b+1a" - ] - }, - { - "cell_type": "code", - "execution_count": 217, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "subresultants (generic function with 3 methods)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx) where T <: RingElement\n", - " LPQ = map(poly_to_array, [P,Q])\n", - " ULPQ = [ parray_asvar(lpq, idx) for lpq in LPQ ]\n", - "\n", - " R, x = polynomial_ring(base_ring(parent(P)), \"x\")\n", - " S, y = polynomial_ring(R, \"y\")\n", - "\n", - " UP, UQ = [ S([ array_to_poly(l, R) for l in lpq ]) for lpq in ULPQ ]\n", - "\n", - " sr = subresultants(UP, UQ)\n", - "\n", - " # Get it back to initial polynomial ring\n", - " Lsr = [ [collect(coefficients(csr)) for csr in coefficients(sr)] for sr in sr]\n", - " newsr = []\n", - " for lsr in Lsr\n", - " mlsr = [[],[]]\n", - " for i in 1:length(lsr)\n", - " for j in 1:length(lsr[i])\n", - " push!(mlsr[1], lsr[i][j])\n", - " push!(mlsr[2],add_ind([j-1],idx, i-1))\n", - " end\n", - " end\n", - " push!(newsr, array_to_poly(mlsr, parent(P)))\n", - " end\n", - "\n", - " return newsr\n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "subresultants (generic function with 2 methods)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "include(\"subresultants.jl\")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Multivariate polynomial ring in 2 variables x, y\n", - " over integer ring" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "R, (x,y) = polynomial_ring(ZZ, [:x,:y])\n", - "f = (y^2 + 6)*(x - 1) - y*(x^2 + 1)\n", - "g = (x^2 + 6)*(y - 1) - x*(y^2 + 1)\n", - "idx = 2\n", - "subresultants(x,x,1)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "2-element Vector{Any}:\n", - " 2*x^6 - 22*x^5 + 102*x^4 - 274*x^3 + 488*x^2 - 552*x + 288\n", - " -x^3 - x^2*y + 6*x^2 + 5*x*y - 11*x - 6*y + 6" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "res = subresultants(f,g,idx)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "ename": "MethodError", - "evalue": "MethodError: no method matching keys(::Fac{ZZMPolyRingElem})\n\nClosest candidates are:\n keys(!Matched::Pkg.Registry.RegistryInstance)\n @ Pkg /opt/julia-1.10.1/share/julia/stdlib/v1.10/Pkg/src/Registry/registry_instance.jl:447\n keys(!Matched::Cmd)\n @ Base process.jl:678\n keys(!Matched::Core.SimpleVector)\n @ Base essentials.jl:781\n ...\n", - "output_type": "error", - "traceback": [ - "MethodError: no method matching keys(::Fac{ZZMPolyRingElem})\n", - "\n", - "Closest candidates are:\n", - " keys(!Matched::Pkg.Registry.RegistryInstance)\n", - " @ Pkg /opt/julia-1.10.1/share/julia/stdlib/v1.10/Pkg/src/Registry/registry_instance.jl:447\n", - " keys(!Matched::Cmd)\n", - " @ Base process.jl:678\n", - " keys(!Matched::Core.SimpleVector)\n", - " @ Base essentials.jl:781\n", - " ...\n", - "\n", - "\n", - "Stacktrace:\n", - " [1] top-level scope\n", - " @ ~/Documents/gittravail/AlgCurves/subresultant.ipynb:2" - ] - } - ], - "source": [ - "sq = collect(factor_squarefree(res[1]))\n" - ] - }, - { - "cell_type": "code", - "execution_count": 204, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "2-element Vector{Vector{Any}}:\n", - " [1, 1, 1, 1]\n", - " [[0, 1], [1, 2], [1, 1], [2, 0]]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "NLP = parray_asvar(LP,1)\n", - "asvar_to_parray(NLP,1)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 128, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "y^2 + (x^2 + x)*y + x" - ], - "text/latex": [ - "y^{2} + \\left(x^{2} + x\\right) y + x" - ], - "text/plain": [ - "y^2 + (x^2 + x)*y + x" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "S([ array_to_poly(lp, R) for lp in NLP ])" - ] - }, - { - "cell_type": "code", - "execution_count": 129, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "a^2 + a*b^2 + a*b + b" - ], - "text/latex": [ - "a^{2} + a b^{2} + a b + b" - ], - "text/plain": [ - "a^2 + a*b^2 + a*b + b" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 106, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "4-element Vector{Vector{Int64}}:\n", - " [0, 1]\n", - " [1, 2]\n", - " [1, 1]\n", - " [2, 0]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "idx=1\n", - "sort(LP[2], by= x->x[idx])" - ] - }, - { - "cell_type": "code", - "execution_count": 82, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Base.Generator{UnitRange{Int64}, typeof(identity)}(identity, 1:2)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Julia 1.10.1", - "language": "julia", - "name": "julia-1.10" - }, - "language_info": { - "file_extension": ".jl", - "mimetype": "application/julia", - "name": "julia", - "version": "1.10.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} From 224f3ece0d8fc59653b627732aff9992204272b0 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 12 May 2024 15:13:00 +0200 Subject: [PATCH 014/180] remove tools.jl --- src/connectcurves/subresultants.jl | 8 +-- src/connectcurves/tools.jl | 82 ------------------------------ 2 files changed, 4 insertions(+), 86 deletions(-) delete mode 100644 src/connectcurves/tools.jl diff --git a/src/connectcurves/subresultants.jl b/src/connectcurves/subresultants.jl index 4ecb27a..05e60b4 100644 --- a/src/connectcurves/subresultants.jl +++ b/src/connectcurves/subresultants.jl @@ -15,8 +15,8 @@ function add_ind(L,i,x) end function parray_asvar(LP, idx) - # takes a sparse representation of a poly P - # and outputs a sparse rpz of P seen as a univariate poly in the i-th variable + # takes the above representation of a poly P + # and outputs a representation of P seen as a univariate poly in the i-th variable deg = sort(LP[2], by= x->x[idx])[end][idx] NLP = [ [[],[]] for _ in 1:deg+1 ] for i in eachindex(LP[2]) @@ -66,7 +66,7 @@ function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingEl c = x n = n - a while a > 1 - a ÷= 2 + a /= 2 c = c^2 / y if n >= a c = c * x / y @@ -134,4 +134,4 @@ function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false end return newsr -end \ No newline at end of file +end diff --git a/src/connectcurves/tools.jl b/src/connectcurves/tools.jl deleted file mode 100644 index 7bfc2ef..0000000 --- a/src/connectcurves/tools.jl +++ /dev/null @@ -1,82 +0,0 @@ -#using Nemo -using Singular - -function randQQ(size=3) - fac = 10^(size) - return Nemo.QQ((-1)^(trunc(Int,rand()*10))*trunc(Int,rand()*fac),trunc(Int,rand()*fac)) -end - -function _mpoly_to_singular(f) - @assert Nemo.is_univariate(f) "Not univariate polynomial" - R, x = Singular.polynomial_ring(Singular.QQ, [:x]) - x = first(x) - cf = Nemo.coefficients_of_univariate(f) - return sum([ cf[j]*x^(j-1) for j = eachindex(cf) ]) -end - -function nb_roots_interval(f,a,b) - g = _mpoly_to_singular(f) - return Singular.LibRootsur.sturm(g, Singular.QQ(a), Singular.QQ(b)) -end - -""" - nb_roots_interval_partition(f, a, b) - -Compute the number of real roots of f(x) in the intervals: - (-infinity, a), (a,b), (b, +infinity) - -# Input: -* f: polynomial with involving one variable, with coeffients in QQ -* a,b: rational elements of QQ -# Output: -* [ n(-infinity, a), n(a,b), n(b, +infinity) ] - -""" -function nb_roots_interval_partition(f, a, b) - g = _mpoly_to_singular(f) - M = Singular.LibRootsur.maxabs(g) - a1, b1 = Singular.QQ(a), Singular.QQ(b) - M1, M2 = min(-M, a1), max(b1, M) - B = [ M1-1, a1, b1, M2+1 ] - return [ Singular.LibRootsur.sturm(g, B[i], B[i+1]) for i=1:3 ] -end - -function sturm_habicht_seq(f) - g = _mpoly_to_singular(f) - SH = map(Singular.coefficients_of_univariate, Singular.LibRootsur.sturmhaseq(g)) - return [ vcat(SH[k], [n_Q(0) for _=1:(k-length(SH[k]))]) for k in eachindex(SH) ] -end - -function subresultants_seq(f) - SH = sturm_habicht_seq(f) - d(k) = (-1)^((k*(k+1))>>1) - return [ d(length(SH)-1-k)*SH[k] for k=1:length(SH)-2 ] -end - -function subresultants_seq_biv(f, iv) - iu = iv%2+1 - # Modern computer Algebra Th 6.51. - degs = degrees(f) - n, d = degs[iv], degs[iu] - degsmax = [ (2*n-1-2*k)*d for k=0:d-2 ] - Dmax = degsmax[end]>>1+1 - ## - xs = [ randQQ() for _=1:(degsmax[1]+1) ] - @time begin - Srev = [ subresultants_seq(evaluate(f,[iu],[xx])) for xx in xs ] - end - S,t = Nemo.polynomial_ring(Nemo.QQ,"t") - Sr = [ [ S(0) for _=1:i] for i=1:n-2 ] - for i = 1:n-2 - for j = 1:i - ys = [ Nemo.QQ(Srev[l][i][j]) for l=eachindex(Srev) ] - Sr[i][j] = Nemo.interpolate(S, xs, ys) - end - end - return Sr -end - -#R, (x,y) = Nemo.polynomial_ring(Nemo.QQ, [:x,:y]) -#f = x^7+y^2*x^5-2*x*y^3+1+y^6 -#f = (x^2+y^2-1)*(2*x-y) -#Sr = subresultants_seq_biv(f, 1) From f243af04d5d3dc587ea91d508fed1a1dc1755456 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 12 May 2024 15:26:24 +0200 Subject: [PATCH 015/180] split files --- src/connectcurves/boxes.jl | 59 ++++ src/connectcurves/graph.jl | 48 +++ src/connectcurves/isolate.jl | 17 + src/connectcurves/main.jl | 613 +++++++++++++---------------------- src/connectcurves/plots.jl | 26 ++ src/connectcurves/tools,jl | 27 ++ 6 files changed, 398 insertions(+), 392 deletions(-) create mode 100644 src/connectcurves/boxes.jl create mode 100644 src/connectcurves/graph.jl create mode 100644 src/connectcurves/isolate.jl create mode 100644 src/connectcurves/plots.jl create mode 100644 src/connectcurves/tools,jl diff --git a/src/connectcurves/boxes.jl b/src/connectcurves/boxes.jl new file mode 100644 index 0000000..648f5d1 --- /dev/null +++ b/src/connectcurves/boxes.jl @@ -0,0 +1,59 @@ +function in_inter(I, J) + return J[1] < I[1] && I[2] < J[2] +end + +function overlap_inter(I,J) + return max(I[1], J[1]) <= min(I[2], J[2]) +end + +# To try/do : isolate with usolve, call msolve with only one variable +function intersect_box(f, B; prec=100) + L = Array{Any}(undef, 4) + for i in 1:2 + # Lxi + L[i] = Array{Any}(undef,2) + while true + flag = false + L[i][1] = isolate_eval(f, 2, B[2][i], prec=prec) + L[i][2] = [] + for (j, l) in pairs(L[i][1]) + if in_inter(l, B[1]) + push!(L[i][2], j) + elseif overlap_inter(l, B[1]) + prec *= 2 + #println("Increase precision to ", prec) + flag = true + break + end + end + flag || break + end + # Lyi + L[i+2] = Array{Any}(undef,2) + while true + flag = false + L[i+2][1] = isolate_eval(f, 1, B[1][i], prec=prec) + L[i+2][2] = [] + for (j, l) in pairs(L[i+2][1]) + if in_inter(l, B[2]) + push!(L[i+2][2], j) + elseif overlap_inter(l, B[2]) + prec *= 2 + #println("Increase precision to ", prec) + flag = true + break + end + end + flag || break + end + end + return L +end + +function refine_xboxes(f, LB, prec) + # Implementation of refine_xboxes function goes here + xnew = isolate(f, prec=prec)[2] + for i in eachindex(LB) + LB[i] = [ xnew[i], LB[i][2] ] + end +end diff --git a/src/connectcurves/graph.jl b/src/connectcurves/graph.jl new file mode 100644 index 0000000..f20cea3 --- /dev/null +++ b/src/connectcurves/graph.jl @@ -0,0 +1,48 @@ + +## Graph functions +function connected_components(vert, edges) + adj_list = Dict{Int, Vector{Int}}() + visited = Set{Int}() + components = Vector{Vector{Int}}() + + # Build adjacency list + for (i, j) in edges + push!(get!(adj_list, i, []), j) + push!(get!(adj_list, j, []), i) + end + + # Depth-first search + function dfs(node, component) + push!(visited, node) + push!(component, node) + for neighbor in adj_list[node] + if !(neighbor in visited) + dfs(neighbor, component) + end + end + end + + # Find connected components + for node in keys(adj_list) + if !(node in visited) + component = Vector{Int}() + dfs(node, component) + push!(components, component) + end + end + + # Group edges by connected component + grouped_edges = [Tuple{Int, Int}[] for _ in components] + for (idx, component) in enumerate(components) + for node in component + for neighbor in adj_list[node] + if neighbor > node && neighbor in component + push!(grouped_edges[idx], (node, neighbor)) + end + end + end + end + + grouped_vert = [ [ vert[cv] for cv in c ] for c in components ] + return grouped_vert, grouped_edges +end \ No newline at end of file diff --git a/src/connectcurves/isolate.jl b/src/connectcurves/isolate.jl new file mode 100644 index 0000000..02517e6 --- /dev/null +++ b/src/connectcurves/isolate.jl @@ -0,0 +1,17 @@ +include("src/usolve/usolve.jl") + +function isolate(f; prec = 32, software="usolve") + # Univariate isolation using usolve + @assert is_univariate(f) "Not univariate polynomial" + if software == "usolve" + return usolve(f, precision = prec, uspath="src/usolve/usolve") + end +end + +function isolate_eval(f, ivar, val; prec=64) + # univariate isolation of roots of a bivariate polynomial f + # whose ivar-th variable is evaluated at val + # uses msolve + sols = inter_solutions(Ideal([f, gens(R)[ivar] - val]), precision=prec) + return [ s[ivar%2+1] for s in sols ] +end \ No newline at end of file diff --git a/src/connectcurves/main.jl b/src/connectcurves/main.jl index 4ca4e8b..15162d2 100644 --- a/src/connectcurves/main.jl +++ b/src/connectcurves/main.jl @@ -1,436 +1,265 @@ println("\nLoading libraries and data..") -using Pkg -using Revise -Pkg.activate("AlgebraicSolving.jl-main") -using AlgebraicSolving using Nemo #using Plots, Colors #pythonplot() -include("data.jl") -include("src/usolve/usolve.jl") +include("tools.jl") include("subresultants.jl") - -function order_permut2d(L) - # Create a list of tuples with elements and their corresponding indices - LL = [(L[i][j], (i, j)) for i in eachindex(L) for j in eachindex(L[i])] - # Sort the enumerated list based on the values - sorted_LL = sort(LL, by = x -> x[1]) - # Extract the sorted values and their corresponding indices - sorted_L = [pair[1] for pair in sorted_LL] - sorted_ind = [pair[2] for pair in sorted_LL] - - return sorted_L, sorted_ind -end - -function isolate(f; prec = 32, software="usolve") - @assert is_univariate(f) "Not univariate polynomial" - if software == "usolve" - return usolve(f, precision = prec, uspath="src/usolve/usolve") +include("isolate.jl") +include("boxes.jl") +include("graph.jl") +include("plots.jl") + +function compute_graph(f; generic=false, precx = 100) + R = parent(f) + # Generic change of variables + changemat = [1 0; 0 1] + if !generic + changemat = rand(-500:500, 2, 2) + end + f = evaluate(f, collect(changemat*[x; y])); + + println("\nCompute parametrization of critical pts...") + @time begin + sr = subresultants(f, derivative(f,y),2, list=true); + # Take sqfree factors of the resultant + sqr = collect(factor_squarefree(sr[1][1])) + # Keep only deg>0 factors + filter(t->t[2]>0, sqr) + # Order by multiplicity + sqr = sort(sqr, by=t->t[2]) + # Group by multiplicity + group_sqr = [ [R(1),i] for i in 1:sqr[end][2] ] + for r in sqr + group_sqr[r[2]][1] *= r[1] + end + # Construct the parametrization of the critical points + params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in group_sqr ]; end -end - -function isolate_eval(f, ivar, val; prec=64) - sols = inter_solutions(AlgebraicSolving.Ideal([f, gens(R)[ivar] - val]), precision=prec) - return [ s[ivar%2+1] for s in sols ] -end - -function Arb_to_rat(x) - r = radius(x) - return map(simplest_rational_inside, [x-2*r, x+2*r]) -end - -function rat_to_Arb(x) - x1,x2 = x - xm, xd = RR((x1+x2)/2), RR(x2-x1) - return ball(xm,xd) -end - -function evaluate_Arb(f, x) - cf = coefficients_of_univariate(f) - return evalpoly(RR(x), cf) -end -function in_inter(I, J) - return J[1] < I[1] && I[2] < J[2] -end + ############### + precx = 200; + ############### + # TODO : check that no overlap between different isolations + println("\nIsolating critical values at precision ", precx,"..") + @time begin + xcrit = [ isolate(first(p), prec=precx) for p in params ] + xcrit_usolve = getindex.(xcrit, 1) + xcrit = getindex.(xcrit, 2) + _, xcritpermut = order_permut2d(xcrit); + end -function overlap_inter(I,J) - return max(I[1], J[1]) <= min(I[2], J[2]) -end + println("\nComputing isolating critical boxes using Arb with precision ",max(precx,150),"..") + @time begin + #RR(x) = Arb(x, prec=120) + RR = ArbField(max(precx,150)) + Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1])/evaluate_Arb(params[i][3],xc[1])] for xc in xcrit[i]] for i in eachindex(xcrit) ] + LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ] + end -# To try/do : isolate with usolve, call msolve with only one variable -function intersect_box(f, B; prec=100) - L = Array{Any}(undef, 4) - for i in 1:2 - # Lxi - L[i] = Array{Any}(undef,2) + # Could be improved by handling nodes as extreme boxes: + # when npcside = [2,2,0,0] just take nearest below and above + # intersections b with the curves on the vertical sides + # and change into npcside = [0,0,2,2] + ## TODO : Refine only the intervals that need to be refined + println("\nCompute intersections with critical boxes..") + @time begin + LPCside = Array{Any}(undef,length(LBcrit)) + ndig = maximum([Int(floor(log10(length(LB)))) for LB in LBcrit]) + for i in eachindex(LBcrit) + ndigi = Int(floor(log10(length(LBcrit[i])))) + LPCside[i] = Array{Any}(undef, length(LBcrit[i])) + precxtmp = precx while true flag = false - L[i][1] = isolate_eval(f, 2, B[2][i], prec=prec) - L[i][2] = [] - for (j, l) in pairs(L[i][1]) - if in_inter(l, B[1]) - push!(L[i][2], j) - elseif overlap_inter(l, B[1]) - prec *= 2 - #println("Increase precision to ", prec) + for j in eachindex(LBcrit[i]) + print("mult=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") + pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp) + npcside = [length(n) for (I, n) in pcside] + if i == 1 && sum(npcside) > 2 + print((i,j)," ",npcside) + precxtmp *= 2 + println("\nRefine extreme boxes along x-axis to precision ", precxtmp) + refine_xboxes(params[1][1], LBcrit[1], precxtmp) flag = true break - end - end - flag || break - end - # Lyi - L[i+2] = Array{Any}(undef,2) - while true - flag = false - L[i+2][1] = isolate_eval(f, 1, B[1][i], prec=prec) - L[i+2][2] = [] - for (j, l) in pairs(L[i+2][1]) - if in_inter(l, B[2]) - push!(L[i+2][2], j) - elseif overlap_inter(l, B[2]) - prec *= 2 - #println("Increase precision to ", prec) + elseif i > 1 && sum(npcside[1:2]) != 0 + precxtmp *= 2 + println("\nRefine singular boxes along x-axis to precision ", precxtmp) + refine_xboxes(params[2][1], LBcrit[2], precxtmp) flag = true break end + LPCside[i][j] = pcside end flag || break end + println("") end - return L -end - -function refine_xboxes(f, LB, prec) - # Implementation of refine_xboxes function goes here - xnew = isolate(f, prec=prec)[2] - for i in eachindex(LB) - LB[i] = [ xnew[i], LB[i][2] ] - end -end - -## Plot functions -function plot_graph(V, E) - println("Plotting the graph") - plot(legend=false) - for e in E - xe, ye = map(Float64,[e[1][1], e[2][1]]), map(Float64,[e[1][2], e[2][2]]) - plot!(xe, ye, lc="red", lw=3) - end - scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) - #plt.show(block=true) - plot!() -end - -function plot_graph_comp(V, CE) - println("Plotting the graph") - plot(legend=false) - col = distinguishable_colors(length(CE)+2) - for j in eachindex(CE) - for e in CE[j] - v1, v2 = map(Float64, V[e[1]]), map(Float64, V[e[2]]) - plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=3) - end - end - #plt.show(block=true) - plot!() -end - -## Graph functions -function connected_components(vert, edges) - adj_list = Dict{Int, Vector{Int}}() - visited = Set{Int}() - components = Vector{Vector{Int}}() - - # Build adjacency list - for (i, j) in edges - push!(get!(adj_list, i, []), j) - push!(get!(adj_list, j, []), i) - end - - # Depth-first search - function dfs(node, component) - push!(visited, node) - push!(component, node) - for neighbor in adj_list[node] - if !(neighbor in visited) - dfs(neighbor, component) + LnPCside = [ [[length(indI) for (L, indI) in PB] for PB in lpcside] for lpcside in LPCside ] + + # Update extreme boxes + for j in eachindex(LBcrit[1]) + # If the curve does not intersect the box only on vertical sides + if !(LnPCside[1][j][1:2] == [0, 0]) + PCside, nPCside = LPCside[1][j], LnPCside[1][j] + I = [ l[1] for l in PCside[3:end] ] + nI = [ l[2] for l in PCside[3:end] ] + # Locate the orientation of the extreme point + # s is the index on the side where there are more branches + # s=1: left; s=2: right + s = argmax([length(I[1]), length(I[2])]) + # Ordinate range of the extreme point + ycrit = LBcrit[1][j][2] + # If it intersects on the bottom side + if nPCside[1] == 1 + # yinf: the intersection with the vertical side just below the extreme point + yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[2]]) + # We vertically enlarge the box until it intersects on the horizontal side + push!(LPCside[1][j][s + 2][2], yinf) + LPCside[1][j][1][2] = [] + # We update the intersection numbers + LnPCside[1][j][s + 2] += 1 + LnPCside[1][j][1] = 0 + end + # If it intersects on the top side + if nPCside[2] == 1 + # ymax: the intersection with the vertical side just above the extreme point + ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[1]]) + # We vertically enlarge the box until it intersects on the horizontal side + push!(LPCside[1][j][s + 2][2], ymax) + LPCside[1][j][2][2] = [] + # We update the intersection numbers + LnPCside[1][j][s + 2] += 1 + LnPCside[1][j][2] = 0 end end end - - # Find connected components - for node in keys(adj_list) - if !(node in visited) - component = Vector{Int}() - dfs(node, component) - push!(components, component) - end end - # Group edges by connected component - grouped_edges = [Tuple{Int, Int}[] for _ in components] - for (idx, component) in enumerate(components) - for node in component - for neighbor in adj_list[node] - if neighbor > node && neighbor in component - push!(grouped_edges[idx], (node, neighbor)) - end - end + #print("\nGraph computation :") + #@time begin + # Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot + # And even remove this fiber for the graph + Vert = [] + Edg = [] + Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ] + Viso = [] + ite = 1 + + for ind in 1:length(xcritpermut) + global ite + local i + i, j = xcritpermut[ind] + + if ind > 1 + i1, j1 = xcritpermut[ind - 1] end - end - - grouped_vert = [ [ vert[cv] for cv in c ] for c in components ] - return grouped_vert, grouped_edges -end - -# Generic change of variables -changemat = [1 0; 0 1] -changemat = rand(-500:500, 2, 2) -f = evaluate(f, collect(changemat*[x; y])); - -println("\nCompute parametrization of critical pts...") -@time begin -sr = subresultants(f, derivative(f,y),2, list=true); -# Take sqfree factors of the resultant -sqr = collect(factor_squarefree(sr[1][1])) -# Keep only deg>0 factors -filter(t->t[2]>0, sqr) -# Order by multiplicity -sqr = sort(sqr, by=t->t[2]) -# Group by multiplicity -group_sqr = [ [R(1),i] for i in 1:sqr[end][2] ] -for r in sqr - group_sqr[r[2]][1] *= r[1] -end -# Construct the parametrization of the critical points -params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in group_sqr ]; -end - -############### -precx = 200; -############### -# TODO : check that no overlap between different isolations -println("\nIsolating critical values at precision ", precx,"..") -@time begin -xcrit = [ isolate(first(p), prec=precx) for p in params ] -xcrit_usolve = getindex.(xcrit, 1) -xcrit = getindex.(xcrit, 2) -_, xcritpermut = order_permut2d(xcrit); -end - -println("\nComputing isolating critical boxes using Arb with precision ",max(precx,150),"..") -@time begin -#RR(x) = Arb(x, prec=120) -RR = ArbField(max(precx,150)) -Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1])/evaluate_Arb(params[i][3],xc[1])] for xc in xcrit[i]] for i in eachindex(xcrit) ] -LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ] -end - -# Could be improved by handling nodes as extreme boxes: -# when npcside = [2,2,0,0] just take nearest below and above -# intersections b with the curves on the vertical sides -# and change into npcside = [0,0,2,2] -## TODO : Refine only the intervals that need to be refined -println("\nCompute intersections with critical boxes..") -@time begin -LPCside = Array{Any}(undef,length(LBcrit)) -ndig = maximum([Int(floor(log10(length(LB)))) for LB in LBcrit]) -for i in eachindex(LBcrit) - ndigi = Int(floor(log10(length(LBcrit[i])))) - LPCside[i] = Array{Any}(undef, length(LBcrit[i])) - precxtmp = precx - while true - flag = false - for j in eachindex(LBcrit[i]) - print("mult=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") - pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp) - npcside = [length(n) for (I, n) in pcside] - if i == 1 && sum(npcside) > 2 - print((i,j)," ",npcside) - precxtmp *= 2 - println("\nRefine extreme boxes along x-axis to precision ", precxtmp) - refine_xboxes(params[1][1], LBcrit[1], precxtmp) - flag = true - break - elseif i > 1 && sum(npcside[1:2]) != 0 - precxtmp *= 2 - println("\nRefine singular boxes along x-axis to precision ", precxtmp) - refine_xboxes(params[2][1], LBcrit[2], precxtmp) - flag = true - break - end - LPCside[i][j] = pcside + if ind < length(xcritpermut) + i2, j2 = xcritpermut[ind + 1] + I2L, nI2L = LPCside[i2][j2][3] end - flag || break - end - println("") -end -LnPCside = [ [[length(indI) for (L, indI) in PB] for PB in lpcside] for lpcside in LPCside ] -# Update extreme boxes -for j in eachindex(LBcrit[1]) - # If the curve does not intersect the box only on vertical sides - if !(LnPCside[1][j][1:2] == [0, 0]) - PCside, nPCside = LPCside[1][j], LnPCside[1][j] + PCside, nPCside = LPCside[i][j], LnPCside[i][j] I = [ l[1] for l in PCside[3:end] ] nI = [ l[2] for l in PCside[3:end] ] - # Locate the orientation of the extreme point - # s is the index on the side where there are more branches - # s=1: left; s=2: right - s = argmax([length(I[1]), length(I[2])]) - # Ordinate range of the extreme point - ycrit = LBcrit[1][j][2] - # If it intersects on the bottom side - if nPCside[1] == 1 - # yinf: the intersection with the vertical side just below the extreme point - yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[2]]) - # We vertically enlarge the box until it intersects on the horizontal side - push!(LPCside[1][j][s + 2][2], yinf) - LPCside[1][j][1][2] = [] - # We update the intersection numbers - LnPCside[1][j][s + 2] += 1 - LnPCside[1][j][1] = 0 - end - # If it intersects on the top side - if nPCside[2] == 1 - # ymax: the intersection with the vertical side just above the extreme point - ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[1]]) - # We vertically enlarge the box until it intersects on the horizontal side - push!(LPCside[1][j][s + 2][2], ymax) - LPCside[1][j][2][2] = [] - # We update the intersection numbers - LnPCside[1][j][s + 2] += 1 - LnPCside[1][j][2] = 0 - end - end -end -end - -#print("\nGraph computation :") -#@time begin -# Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot -# And even remove this fiber for the graph -Vert = [] -Edg = [] -Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ] -Viso = [] -ite = 1 - -for ind in 1:length(xcritpermut) - global ite - local i - i, j = xcritpermut[ind] - - if ind > 1 - i1, j1 = xcritpermut[ind - 1] - end - if ind < length(xcritpermut) - i2, j2 = xcritpermut[ind + 1] - I2L, nI2L = LPCside[i2][j2][3] - end - - PCside, nPCside = LPCside[i][j], LnPCside[i][j] - I = [ l[1] for l in PCside[3:end] ] - nI = [ l[2] for l in PCside[3:end] ] - xcmid = sum(LBcrit[i][j][1])//2 - ycmid = sum(LBcrit[i][j][2])//2 + xcmid = sum(LBcrit[i][j][1])//2 + ycmid = sum(LBcrit[i][j][2])//2 - ymincrit = minimum(vcat(nI[1], nI[2], [length(I[1])+1])) - # Construct vertices - ########################### - # On the vertical left side - if ind > 1 - for k in 1:length(I[1]) - push!(Corr[i][j][1], Corr[i1][j1][3][k]) + ymincrit = minimum(vcat(nI[1], nI[2], [length(I[1])+1])) + # Construct vertices + ########################### + # On the vertical left side + if ind > 1 + for k in 1:length(I[1]) + push!(Corr[i][j][1], Corr[i1][j1][3][k]) + end + else + for k in 1:length(I[1]) + push!(Vert, [xcrit[i][j][1], sum(I[1][k])//2]) + push!(Corr[i][j][1], ite) + ite += 1 + end end - else - for k in 1:length(I[1]) - push!(Vert, [xcrit[i][j][1], sum(I[1][k])//2]) - push!(Corr[i][j][1], ite) - ite += 1 + ########################### + # On the vertical right side + if ind < length(xcritpermut) + for k in 1:length(I[2]) + push!(Vert, [(xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4]) + push!(Corr[i][j][3], ite) + ite += 1 + end + else + for k in 1:length(I[2]) + push!(Vert, [xcrit[i][j][2], sum(I[2][k])//2]) + push!(Corr[i][j][3], ite) + ite += 1 + end end - end - ########################### - # On the vertical right side - if ind < length(xcritpermut) - for k in 1:length(I[2]) - push!(Vert, [(xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4]) - push!(Corr[i][j][3], ite) + ########################### + # Below the critical point + + for k in 1:ymincrit-1 + push!(Vert, [xcmid, sum(I[1][k] + I[2][k])// 4]) + push!(Corr[i][j][2][1], ite) + push!(Edg, [Corr[i][j][1][k], ite]) # left + push!(Edg, [ite, Corr[i][j][3][k]]) # right ite += 1 end - else - for k in 1:length(I[2]) - push!(Vert, [xcrit[i][j][2], sum(I[2][k])//2]) - push!(Corr[i][j][3], ite) + ########################### + # The critical point + ########################## + # if it is an isolated point + if isempty(nI[1]) && isempty(nI[2]) + #pass + # We can add the isolated vertex + # push!(Vert, Pcrit[i][j]) + # push!(Corr[i][j][2][1], ite) + # We will subsequently add the vertex in the graph + # push!(Viso, ite) + # ite += 1 + ############################################ + ## TO BE REPLACED BY APPSING IDENTIFICATOR ## + ## works for space curves without nodes ## + ############################################ + # If we are dealing with a node + elseif i == 2 + # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 + push!(Edg, [Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]]]) + push!(Edg, [Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]]]) + else + # We can add the vertex + push!(Vert, [xcmid, ycmid]) + push!(Corr[i][j][2][2], ite) + # We connect to the vertical left side of the critical box + for k in nI[1] + push!(Edg, [Corr[i][j][1][k], ite]) + end + # We connect to the vertical right side of the critical box + for k in nI[2] + push!(Edg, [ite, Corr[i][j][3][k]]) + end ite += 1 end - end - ########################### - # Below the critical point - - for k in 1:ymincrit-1 - push!(Vert, [xcmid, sum(I[1][k] + I[2][k])// 4]) - push!(Corr[i][j][2][1], ite) - push!(Edg, [Corr[i][j][1][k], ite]) # left - push!(Edg, [ite, Corr[i][j][3][k]]) # right - ite += 1 - end - ########################### - # The critical point - ########################## - # if it is an isolated point - if isempty(nI[1]) && isempty(nI[2]) - #pass - # We can add the isolated vertex - # push!(Vert, Pcrit[i][j]) - # push!(Corr[i][j][2][1], ite) - # We will subsequently add the vertex in the graph - # push!(Viso, ite) - # ite += 1 - ############################################ - ## TO BE REPLACED BY APPSING IDENTIFICATOR ## - ## works for space curves without nodes ## - ############################################ - # If we are dealing with a node - elseif i == 2 - # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 - push!(Edg, [Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]]]) - push!(Edg, [Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]]]) - else - # We can add the vertex - push!(Vert, [xcmid, ycmid]) - push!(Corr[i][j][2][2], ite) - # We connect to the vertical left side of the critical box - for k in nI[1] - push!(Edg, [Corr[i][j][1][k], ite]) - end - # We connect to the vertical right side of the critical box - for k in nI[2] - push!(Edg, [ite, Corr[i][j][3][k]]) + ########################### + # Above the critical point + for k=(length(I[1]) - length(nI[1]) - ymincrit+1):-1:1 + push!(Vert, [xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4]) + push!(Corr[i][j][2][3], ite) + push!(Edg, [Corr[i][j][1][end - k + 1], ite]) # left + push!(Edg, [ite, Corr[i][j][3][end - k + 1]]) # right + ite += 1 end - ite += 1 - end - ########################### - # Above the critical point - for k=(length(I[1]) - length(nI[1]) - ymincrit+1):-1:1 - push!(Vert, [xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4]) - push!(Corr[i][j][2][3], ite) - push!(Edg, [Corr[i][j][1][end - k + 1], ite]) # left - push!(Edg, [ite, Corr[i][j][3][end - k + 1]]) # right - ite += 1 end -end -#end + #end -#EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg] -#plot_graph(Vert, EdgPlot) -#gui() + #EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg] + #plot_graph(Vert, EdgPlot) + #gui() -CVert, CEdg = connected_components(Vert, Edg); + CVert, CEdg = connected_components(Vert, Edg); -println("\n## Lifted curve has ", length(CVert), " connected components ##") + println("\n## Lifted curve has ", length(CVert), " connected components ##") -#plot_graph_comp(Vert,CEdg) \ No newline at end of file + #plot_graph_comp(Vert,CEdg) +end \ No newline at end of file diff --git a/src/connectcurves/plots.jl b/src/connectcurves/plots.jl new file mode 100644 index 0000000..b959033 --- /dev/null +++ b/src/connectcurves/plots.jl @@ -0,0 +1,26 @@ +## Plot functions +function plot_graph(V, E) + println("Plotting the graph") + plot(legend=false) + for e in E + xe, ye = map(Float64,[e[1][1], e[2][1]]), map(Float64,[e[1][2], e[2][2]]) + plot!(xe, ye, lc="red", lw=3) + end + scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) + #plt.show(block=true) + plot!() +end + +function plot_graph_comp(V, CE) + println("Plotting the graph") + plot(legend=false) + col = distinguishable_colors(length(CE)+2) + for j in eachindex(CE) + for e in CE[j] + v1, v2 = map(Float64, V[e[1]]), map(Float64, V[e[2]]) + plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=3) + end + end + #plt.show(block=true) + plot!() +end \ No newline at end of file diff --git a/src/connectcurves/tools,jl b/src/connectcurves/tools,jl new file mode 100644 index 0000000..2fbaa11 --- /dev/null +++ b/src/connectcurves/tools,jl @@ -0,0 +1,27 @@ +function order_permut2d(L) + # Create a list of tuples with elements and their corresponding indices + LL = [(L[i][j], (i, j)) for i in eachindex(L) for j in eachindex(L[i])] + # Sort the enumerated list based on the values + sorted_LL = sort(LL, by = x -> x[1]) + # Extract the sorted values and their corresponding indices + sorted_L = [pair[1] for pair in sorted_LL] + sorted_ind = [pair[2] for pair in sorted_LL] + + return sorted_L, sorted_ind +end + +function Arb_to_rat(x) + r = radius(x) + return map(simplest_rational_inside, [x-2*r, x+2*r]) +end + +function rat_to_Arb(x) + x1,x2 = x + xm, xd = RR((x1+x2)/2), RR(x2-x1) + return ball(xm,xd) +end + +function evaluate_Arb(f, x) + cf = coefficients_of_univariate(f) + return evalpoly(RR(x), cf) +end \ No newline at end of file From 5f0817f9fd1cf91dcac9f62965c804c88a5988aa Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 12 May 2024 15:29:37 +0200 Subject: [PATCH 016/180] rename main.jl --- .../{main.jl => connectcurves.jl} | 0 src/connectcurves/tools.jl | 82 +++++++++++++++++++ 2 files changed, 82 insertions(+) rename src/connectcurves/{main.jl => connectcurves.jl} (100%) create mode 100644 src/connectcurves/tools.jl diff --git a/src/connectcurves/main.jl b/src/connectcurves/connectcurves.jl similarity index 100% rename from src/connectcurves/main.jl rename to src/connectcurves/connectcurves.jl diff --git a/src/connectcurves/tools.jl b/src/connectcurves/tools.jl new file mode 100644 index 0000000..7bfc2ef --- /dev/null +++ b/src/connectcurves/tools.jl @@ -0,0 +1,82 @@ +#using Nemo +using Singular + +function randQQ(size=3) + fac = 10^(size) + return Nemo.QQ((-1)^(trunc(Int,rand()*10))*trunc(Int,rand()*fac),trunc(Int,rand()*fac)) +end + +function _mpoly_to_singular(f) + @assert Nemo.is_univariate(f) "Not univariate polynomial" + R, x = Singular.polynomial_ring(Singular.QQ, [:x]) + x = first(x) + cf = Nemo.coefficients_of_univariate(f) + return sum([ cf[j]*x^(j-1) for j = eachindex(cf) ]) +end + +function nb_roots_interval(f,a,b) + g = _mpoly_to_singular(f) + return Singular.LibRootsur.sturm(g, Singular.QQ(a), Singular.QQ(b)) +end + +""" + nb_roots_interval_partition(f, a, b) + +Compute the number of real roots of f(x) in the intervals: + (-infinity, a), (a,b), (b, +infinity) + +# Input: +* f: polynomial with involving one variable, with coeffients in QQ +* a,b: rational elements of QQ +# Output: +* [ n(-infinity, a), n(a,b), n(b, +infinity) ] + +""" +function nb_roots_interval_partition(f, a, b) + g = _mpoly_to_singular(f) + M = Singular.LibRootsur.maxabs(g) + a1, b1 = Singular.QQ(a), Singular.QQ(b) + M1, M2 = min(-M, a1), max(b1, M) + B = [ M1-1, a1, b1, M2+1 ] + return [ Singular.LibRootsur.sturm(g, B[i], B[i+1]) for i=1:3 ] +end + +function sturm_habicht_seq(f) + g = _mpoly_to_singular(f) + SH = map(Singular.coefficients_of_univariate, Singular.LibRootsur.sturmhaseq(g)) + return [ vcat(SH[k], [n_Q(0) for _=1:(k-length(SH[k]))]) for k in eachindex(SH) ] +end + +function subresultants_seq(f) + SH = sturm_habicht_seq(f) + d(k) = (-1)^((k*(k+1))>>1) + return [ d(length(SH)-1-k)*SH[k] for k=1:length(SH)-2 ] +end + +function subresultants_seq_biv(f, iv) + iu = iv%2+1 + # Modern computer Algebra Th 6.51. + degs = degrees(f) + n, d = degs[iv], degs[iu] + degsmax = [ (2*n-1-2*k)*d for k=0:d-2 ] + Dmax = degsmax[end]>>1+1 + ## + xs = [ randQQ() for _=1:(degsmax[1]+1) ] + @time begin + Srev = [ subresultants_seq(evaluate(f,[iu],[xx])) for xx in xs ] + end + S,t = Nemo.polynomial_ring(Nemo.QQ,"t") + Sr = [ [ S(0) for _=1:i] for i=1:n-2 ] + for i = 1:n-2 + for j = 1:i + ys = [ Nemo.QQ(Srev[l][i][j]) for l=eachindex(Srev) ] + Sr[i][j] = Nemo.interpolate(S, xs, ys) + end + end + return Sr +end + +#R, (x,y) = Nemo.polynomial_ring(Nemo.QQ, [:x,:y]) +#f = x^7+y^2*x^5-2*x*y^3+1+y^6 +#f = (x^2+y^2-1)*(2*x-y) +#Sr = subresultants_seq_biv(f, 1) From f28229333602e653567016651ccdf54ff62bb72a Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 12 May 2024 16:07:36 +0200 Subject: [PATCH 017/180] start full integration --- Manifest.toml | 450 +++++++++++++++++++++++++++++ src/AlgebraicSolving.jl | 2 + src/connectcurves/connectcurves.jl | 14 +- src/connectcurves/isolate.jl | 7 +- src/connectcurves/tools,jl | 27 -- src/connectcurves/tools.jl | 97 ++----- 6 files changed, 485 insertions(+), 112 deletions(-) create mode 100644 Manifest.toml delete mode 100644 src/connectcurves/tools,jl diff --git a/Manifest.toml b/Manifest.toml new file mode 100644 index 0000000..be7ef88 --- /dev/null +++ b/Manifest.toml @@ -0,0 +1,450 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.10.1" +manifest_format = "2.0" +project_hash = "92eb5777a40fb58f53c5c7597a7a312dbc129602" + +[[deps.AbstractAlgebra]] +deps = ["InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] +git-tree-sha1 = "3987905620fb20e5b852446b7cb156eb0f71cb49" +uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" +version = "0.41.4" + +[[deps.Adapt]] +deps = ["LinearAlgebra", "Requires"] +git-tree-sha1 = "6a55b747d1812e699320963ffde36f1ebdda4099" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "4.0.4" +weakdeps = ["StaticArrays"] + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" + +[[deps.ArrayInterface]] +deps = ["Adapt", "LinearAlgebra", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "133a240faec6e074e07c31ee75619c90544179cf" +uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" +version = "7.10.0" + + [deps.ArrayInterface.extensions] + ArrayInterfaceBandedMatricesExt = "BandedMatrices" + ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" + ArrayInterfaceCUDAExt = "CUDA" + ArrayInterfaceCUDSSExt = "CUDSS" + ArrayInterfaceChainRulesExt = "ChainRules" + ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" + ArrayInterfaceReverseDiffExt = "ReverseDiff" + ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" + ArrayInterfaceTrackerExt = "Tracker" + + [deps.ArrayInterface.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e" + ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" + GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.BitTwiddlingConvenienceFunctions]] +deps = ["Static"] +git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" +uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" +version = "0.1.5" + +[[deps.CPUSummary]] +deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] +git-tree-sha1 = "601f7e7b3d36f18790e2caf83a882d88e9b71ff1" +uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" +version = "0.2.4" + +[[deps.CloseOpenIntervals]] +deps = ["Static", "StaticArrayInterface"] +git-tree-sha1 = "70232f82ffaab9dc52585e0dd043b5e0c6b714f1" +uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" +version = "0.1.12" + +[[deps.Compat]] +deps = ["TOML", "UUIDs"] +git-tree-sha1 = "b1c55339b7c6c350ee89f2c1604299660525b248" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.15.0" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "1.1.0+0" + +[[deps.CpuId]] +deps = ["Markdown"] +git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" +uuid = "adafc99b-e345-5852-983c-f28acb93d879" +version = "0.3.1" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.3" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.FLINT_jll]] +deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "OpenBLAS32_jll"] +git-tree-sha1 = "4bde447e7bc6de73de36870fc942df02f4dd44b5" +uuid = "e134572f-a0d5-539d-bddf-3cad8db41a82" +version = "300.100.300+0" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.GMP_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" +version = "6.2.1+6" + +[[deps.HostCPUFeatures]] +deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] +git-tree-sha1 = "eb8fed28f4994600e29beef49744639d985a04b2" +uuid = "3e5b6fbb-0976-4d2c-9146-d79de83f2fb0" +version = "0.1.16" + +[[deps.IfElse]] +git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" +uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" +version = "0.1.1" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.JLLWrappers]] +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.5.0" + +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "d986ce2d884d49126836ea94ed5bfb0f12679713" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "15.0.7+0" + +[[deps.LayoutPointers]] +deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] +git-tree-sha1 = "62edfee3211981241b57ff1cedf4d74d79519277" +uuid = "10f19ff3-798f-405d-979b-55457f8fc047" +version = "0.1.15" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.4" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "8.4.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibGit2_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] +uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" +version = "1.6.4+0" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.11.0+1" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[deps.LoopVectorization]] +deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] +git-tree-sha1 = "8f6786d8b2b3248d79db3ad359ce95382d5a6df8" +uuid = "bdcacae8-1622-11e9-2a5c-532679323890" +version = "0.12.170" + + [deps.LoopVectorization.extensions] + ForwardDiffExt = ["ChainRulesCore", "ForwardDiff"] + SpecialFunctionsExt = "SpecialFunctions" + + [deps.LoopVectorization.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" + +[[deps.MPFR_jll]] +deps = ["Artifacts", "GMP_jll", "Libdl"] +uuid = "3a97d323-0669-5f0c-9066-3539efd106a3" +version = "4.2.0+1" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.13" + +[[deps.ManualMemory]] +git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" +uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" +version = "0.1.8" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.2+1" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2023.1.10" + +[[deps.Nemo]] +deps = ["AbstractAlgebra", "FLINT_jll", "Libdl", "LinearAlgebra", "Pkg", "Random", "RandomExtensions", "SHA"] +git-tree-sha1 = "17b059f61e340a3a2e59826c3d182a1184a582d3" +uuid = "2edaba10-b0f1-5616-af89-8c11ac63239a" +version = "0.45.1" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.OffsetArrays]] +git-tree-sha1 = "e64b4f5ea6b7389f6f046d13d4896a8f9c1ba71e" +uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" +version = "1.14.0" +weakdeps = ["Adapt"] + + [deps.OffsetArrays.extensions] + OffsetArraysAdaptExt = "Adapt" + +[[deps.OpenBLAS32_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6065c4cff8fee6c6770b277af45d5082baacdba1" +uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" +version = "0.3.24+0" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" +version = "0.3.23+4" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.10.0" + +[[deps.PolyesterWeave]] +deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] +git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" +uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" +version = "0.2.1" + +[[deps.PrecompileTools]] +deps = ["Preferences"] +git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" +uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" +version = "1.2.1" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.4.3" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.Random]] +deps = ["SHA"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[deps.RandomExtensions]] +deps = ["Random", "SparseArrays"] +git-tree-sha1 = "b8a399e95663485820000f26b6a43c794e166a49" +uuid = "fb686558-2515-59ef-acaa-46db3789a887" +version = "0.4.4" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" + +[[deps.SIMDTypes]] +git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" +uuid = "94e857df-77ce-4151-89e5-788b33177be4" +version = "0.1.0" + +[[deps.SLEEFPirates]] +deps = ["IfElse", "Static", "VectorizationBase"] +git-tree-sha1 = "3aac6d68c5e57449f5b9b865c9ba50ac2970c4cf" +uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" +version = "0.6.42" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SparseArrays]] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +version = "1.10.0" + +[[deps.Static]] +deps = ["IfElse"] +git-tree-sha1 = "d2fdac9ff3906e27f7a618d47b676941baa6c80c" +uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" +version = "0.8.10" + +[[deps.StaticArrayInterface]] +deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] +git-tree-sha1 = "5d66818a39bb04bf328e92bc933ec5b4ee88e436" +uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" +version = "1.5.0" +weakdeps = ["OffsetArrays", "StaticArrays"] + + [deps.StaticArrayInterface.extensions] + StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" + StaticArrayInterfaceStaticArraysExt = "StaticArrays" + +[[deps.StaticArrays]] +deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] +git-tree-sha1 = "bf074c045d3d5ffd956fa0a461da38a44685d6b2" +uuid = "90137ffa-7385-5640-81b9-e52037218182" +version = "1.9.3" + + [deps.StaticArrays.extensions] + StaticArraysChainRulesCoreExt = "ChainRulesCore" + StaticArraysStatisticsExt = "Statistics" + + [deps.StaticArrays.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + +[[deps.StaticArraysCore]] +git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" +uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +version = "1.4.2" + +[[deps.SuiteSparse]] +deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] +uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" + +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "7.2.1+1" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.ThreadingUtilities]] +deps = ["ManualMemory"] +git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" +uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" +version = "0.5.2" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.VectorizationBase]] +deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static", "StaticArrayInterface"] +git-tree-sha1 = "6129a4faf6242e7c3581116fbe3270f3ab17c90d" +uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" +version = "0.21.67" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+1" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" +version = "5.8.0+1" + +[[deps.msolve_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "FLINT_jll", "GMP_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl", "MPFR_jll"] +git-tree-sha1 = "00d6ebe337ec3935bf6a356f6c6060933c8b73e8" +uuid = "6d01cc9a-e8f6-580e-8c54-544227e08205" +version = "0.600.501+0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.52.0+1" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+2" diff --git a/src/AlgebraicSolving.jl b/src/AlgebraicSolving.jl index 8c65390..385be73 100644 --- a/src/AlgebraicSolving.jl +++ b/src/AlgebraicSolving.jl @@ -18,4 +18,6 @@ include("siggb/siggb.jl") include("examples/katsura.jl") include("examples/cyclic.jl") +include("connectcurves/connectcurves.jl") + end # module AlgebraicSolving diff --git a/src/connectcurves/connectcurves.jl b/src/connectcurves/connectcurves.jl index 15162d2..ef86f09 100644 --- a/src/connectcurves/connectcurves.jl +++ b/src/connectcurves/connectcurves.jl @@ -1,7 +1,10 @@ -println("\nLoading libraries and data..") -using Nemo +#println("\nLoading libraries and data..") +#using Nemo #using Plots, Colors #pythonplot() + +export compute_graph + include("tools.jl") include("subresultants.jl") include("isolate.jl") @@ -11,6 +14,7 @@ include("plots.jl") function compute_graph(f; generic=false, precx = 100) R = parent(f) + x, y = gens(R) # Generic change of variables changemat = [1 0; 0 1] if !generic @@ -20,7 +24,7 @@ function compute_graph(f; generic=false, precx = 100) println("\nCompute parametrization of critical pts...") @time begin - sr = subresultants(f, derivative(f,y),2, list=true); + sr = subresultants(f, derivative(f,y), 2, list=true); # Take sqfree factors of the resultant sqr = collect(factor_squarefree(sr[1][1])) # Keep only deg>0 factors @@ -36,9 +40,6 @@ function compute_graph(f; generic=false, precx = 100) params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in group_sqr ]; end - ############### - precx = 200; - ############### # TODO : check that no overlap between different isolations println("\nIsolating critical values at precision ", precx,"..") @time begin @@ -50,7 +51,6 @@ function compute_graph(f; generic=false, precx = 100) println("\nComputing isolating critical boxes using Arb with precision ",max(precx,150),"..") @time begin - #RR(x) = Arb(x, prec=120) RR = ArbField(max(precx,150)) Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1])/evaluate_Arb(params[i][3],xc[1])] for xc in xcrit[i]] for i in eachindex(xcrit) ] LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ] diff --git a/src/connectcurves/isolate.jl b/src/connectcurves/isolate.jl index 02517e6..84314f0 100644 --- a/src/connectcurves/isolate.jl +++ b/src/connectcurves/isolate.jl @@ -1,10 +1,13 @@ include("src/usolve/usolve.jl") -function isolate(f; prec = 32, software="usolve") +function isolate(f; prec = 32, software="msolve") # Univariate isolation using usolve @assert is_univariate(f) "Not univariate polynomial" if software == "usolve" return usolve(f, precision = prec, uspath="src/usolve/usolve") + else + fvar = vars(f)[1] + return inter_solutions(Ideal(vcat([f], [ t for t in gens(parent(f)) if t!=fvar ])), precision=prec) end end @@ -12,6 +15,6 @@ function isolate_eval(f, ivar, val; prec=64) # univariate isolation of roots of a bivariate polynomial f # whose ivar-th variable is evaluated at val # uses msolve - sols = inter_solutions(Ideal([f, gens(R)[ivar] - val]), precision=prec) + sols = inter_solutions(Ideal([f, gens(parent(f))[ivar] - val]), precision=prec) return [ s[ivar%2+1] for s in sols ] end \ No newline at end of file diff --git a/src/connectcurves/tools,jl b/src/connectcurves/tools,jl deleted file mode 100644 index 2fbaa11..0000000 --- a/src/connectcurves/tools,jl +++ /dev/null @@ -1,27 +0,0 @@ -function order_permut2d(L) - # Create a list of tuples with elements and their corresponding indices - LL = [(L[i][j], (i, j)) for i in eachindex(L) for j in eachindex(L[i])] - # Sort the enumerated list based on the values - sorted_LL = sort(LL, by = x -> x[1]) - # Extract the sorted values and their corresponding indices - sorted_L = [pair[1] for pair in sorted_LL] - sorted_ind = [pair[2] for pair in sorted_LL] - - return sorted_L, sorted_ind -end - -function Arb_to_rat(x) - r = radius(x) - return map(simplest_rational_inside, [x-2*r, x+2*r]) -end - -function rat_to_Arb(x) - x1,x2 = x - xm, xd = RR((x1+x2)/2), RR(x2-x1) - return ball(xm,xd) -end - -function evaluate_Arb(f, x) - cf = coefficients_of_univariate(f) - return evalpoly(RR(x), cf) -end \ No newline at end of file diff --git a/src/connectcurves/tools.jl b/src/connectcurves/tools.jl index 7bfc2ef..2fbaa11 100644 --- a/src/connectcurves/tools.jl +++ b/src/connectcurves/tools.jl @@ -1,82 +1,27 @@ -#using Nemo -using Singular - -function randQQ(size=3) - fac = 10^(size) - return Nemo.QQ((-1)^(trunc(Int,rand()*10))*trunc(Int,rand()*fac),trunc(Int,rand()*fac)) -end - -function _mpoly_to_singular(f) - @assert Nemo.is_univariate(f) "Not univariate polynomial" - R, x = Singular.polynomial_ring(Singular.QQ, [:x]) - x = first(x) - cf = Nemo.coefficients_of_univariate(f) - return sum([ cf[j]*x^(j-1) for j = eachindex(cf) ]) -end - -function nb_roots_interval(f,a,b) - g = _mpoly_to_singular(f) - return Singular.LibRootsur.sturm(g, Singular.QQ(a), Singular.QQ(b)) -end - -""" - nb_roots_interval_partition(f, a, b) - -Compute the number of real roots of f(x) in the intervals: - (-infinity, a), (a,b), (b, +infinity) - -# Input: -* f: polynomial with involving one variable, with coeffients in QQ -* a,b: rational elements of QQ -# Output: -* [ n(-infinity, a), n(a,b), n(b, +infinity) ] - -""" -function nb_roots_interval_partition(f, a, b) - g = _mpoly_to_singular(f) - M = Singular.LibRootsur.maxabs(g) - a1, b1 = Singular.QQ(a), Singular.QQ(b) - M1, M2 = min(-M, a1), max(b1, M) - B = [ M1-1, a1, b1, M2+1 ] - return [ Singular.LibRootsur.sturm(g, B[i], B[i+1]) for i=1:3 ] -end - -function sturm_habicht_seq(f) - g = _mpoly_to_singular(f) - SH = map(Singular.coefficients_of_univariate, Singular.LibRootsur.sturmhaseq(g)) - return [ vcat(SH[k], [n_Q(0) for _=1:(k-length(SH[k]))]) for k in eachindex(SH) ] +function order_permut2d(L) + # Create a list of tuples with elements and their corresponding indices + LL = [(L[i][j], (i, j)) for i in eachindex(L) for j in eachindex(L[i])] + # Sort the enumerated list based on the values + sorted_LL = sort(LL, by = x -> x[1]) + # Extract the sorted values and their corresponding indices + sorted_L = [pair[1] for pair in sorted_LL] + sorted_ind = [pair[2] for pair in sorted_LL] + + return sorted_L, sorted_ind end -function subresultants_seq(f) - SH = sturm_habicht_seq(f) - d(k) = (-1)^((k*(k+1))>>1) - return [ d(length(SH)-1-k)*SH[k] for k=1:length(SH)-2 ] +function Arb_to_rat(x) + r = radius(x) + return map(simplest_rational_inside, [x-2*r, x+2*r]) end -function subresultants_seq_biv(f, iv) - iu = iv%2+1 - # Modern computer Algebra Th 6.51. - degs = degrees(f) - n, d = degs[iv], degs[iu] - degsmax = [ (2*n-1-2*k)*d for k=0:d-2 ] - Dmax = degsmax[end]>>1+1 - ## - xs = [ randQQ() for _=1:(degsmax[1]+1) ] - @time begin - Srev = [ subresultants_seq(evaluate(f,[iu],[xx])) for xx in xs ] - end - S,t = Nemo.polynomial_ring(Nemo.QQ,"t") - Sr = [ [ S(0) for _=1:i] for i=1:n-2 ] - for i = 1:n-2 - for j = 1:i - ys = [ Nemo.QQ(Srev[l][i][j]) for l=eachindex(Srev) ] - Sr[i][j] = Nemo.interpolate(S, xs, ys) - end - end - return Sr +function rat_to_Arb(x) + x1,x2 = x + xm, xd = RR((x1+x2)/2), RR(x2-x1) + return ball(xm,xd) end -#R, (x,y) = Nemo.polynomial_ring(Nemo.QQ, [:x,:y]) -#f = x^7+y^2*x^5-2*x*y^3+1+y^6 -#f = (x^2+y^2-1)*(2*x-y) -#Sr = subresultants_seq_biv(f, 1) +function evaluate_Arb(f, x) + cf = coefficients_of_univariate(f) + return evalpoly(RR(x), cf) +end \ No newline at end of file From 6f38113da3d86bff604dfaa76a4b281018f8296c Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 12 May 2024 19:45:18 +0200 Subject: [PATCH 018/180] graph methods --- src/connectcurves/boxes.jl | 2 +- src/connectcurves/connectcurves.jl | 67 +++++++++++++----------------- src/connectcurves/graph.jl | 13 +++++- src/connectcurves/isolate.jl | 5 ++- src/connectcurves/plots.jl | 1 + src/connectcurves/tools.jl | 8 ++-- 6 files changed, 49 insertions(+), 47 deletions(-) diff --git a/src/connectcurves/boxes.jl b/src/connectcurves/boxes.jl index 648f5d1..ef6632e 100644 --- a/src/connectcurves/boxes.jl +++ b/src/connectcurves/boxes.jl @@ -52,7 +52,7 @@ end function refine_xboxes(f, LB, prec) # Implementation of refine_xboxes function goes here - xnew = isolate(f, prec=prec)[2] + xnew = isolate(f, prec=prec) for i in eachindex(LB) LB[i] = [ xnew[i], LB[i][2] ] end diff --git a/src/connectcurves/connectcurves.jl b/src/connectcurves/connectcurves.jl index ef86f09..7f14a6d 100644 --- a/src/connectcurves/connectcurves.jl +++ b/src/connectcurves/connectcurves.jl @@ -3,7 +3,7 @@ #using Plots, Colors #pythonplot() -export compute_graph +export compute_graph, connected_components, number_connected_components include("tools.jl") include("subresultants.jl") @@ -18,7 +18,7 @@ function compute_graph(f; generic=false, precx = 100) # Generic change of variables changemat = [1 0; 0 1] if !generic - changemat = rand(-500:500, 2, 2) + changemat = map(QQ,rand(-500:500, 2, 2)) end f = evaluate(f, collect(changemat*[x; y])); @@ -44,15 +44,14 @@ function compute_graph(f; generic=false, precx = 100) println("\nIsolating critical values at precision ", precx,"..") @time begin xcrit = [ isolate(first(p), prec=precx) for p in params ] - xcrit_usolve = getindex.(xcrit, 1) - xcrit = getindex.(xcrit, 2) _, xcritpermut = order_permut2d(xcrit); end println("\nComputing isolating critical boxes using Arb with precision ",max(precx,150),"..") @time begin - RR = ArbField(max(precx,150)) - Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1])/evaluate_Arb(params[i][3],xc[1])] for xc in xcrit[i]] for i in eachindex(xcrit) ] + #RR = ArbField(max(precx,150)) + precArb = max(precx,150) + Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1], precArb)/evaluate_Arb(params[i][3],xc[1],precArb)] for xc in xcrit[i]] for i in eachindex(xcrit) ] LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ] end @@ -136,19 +135,15 @@ function compute_graph(f; generic=false, precx = 100) end end - #print("\nGraph computation :") - #@time begin + println("Graph computation") # Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot # And even remove this fiber for the graph Vert = [] Edg = [] Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ] Viso = [] - ite = 1 for ind in 1:length(xcritpermut) - global ite - local i i, j = xcritpermut[ind] if ind > 1 @@ -177,8 +172,7 @@ function compute_graph(f; generic=false, precx = 100) else for k in 1:length(I[1]) push!(Vert, [xcrit[i][j][1], sum(I[1][k])//2]) - push!(Corr[i][j][1], ite) - ite += 1 + push!(Corr[i][j][1], length(Vert)) end end ########################### @@ -186,25 +180,24 @@ function compute_graph(f; generic=false, precx = 100) if ind < length(xcritpermut) for k in 1:length(I[2]) push!(Vert, [(xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4]) - push!(Corr[i][j][3], ite) - ite += 1 + push!(Corr[i][j][3], length(Vert)) end else for k in 1:length(I[2]) push!(Vert, [xcrit[i][j][2], sum(I[2][k])//2]) - push!(Corr[i][j][3], ite) - ite += 1 + push!(Corr[i][j][3], length(Vert)) end end ########################### # Below the critical point - + #println() + #println(map(length,I)) + #println(vcat(nI[1], nI[2], [length(I[1])+1])) for k in 1:ymincrit-1 push!(Vert, [xcmid, sum(I[1][k] + I[2][k])// 4]) - push!(Corr[i][j][2][1], ite) - push!(Edg, [Corr[i][j][1][k], ite]) # left - push!(Edg, [ite, Corr[i][j][3][k]]) # right - ite += 1 + push!(Corr[i][j][2][1], length(Vert)) + push!(Edg, [Corr[i][j][1][k], length(Vert)]) # left + push!(Edg, [length(Vert), Corr[i][j][3][k]]) # right end ########################### # The critical point @@ -214,10 +207,9 @@ function compute_graph(f; generic=false, precx = 100) #pass # We can add the isolated vertex # push!(Vert, Pcrit[i][j]) - # push!(Corr[i][j][2][1], ite) + # push!(Corr[i][j][2][1], length(Vert)) # We will subsequently add the vertex in the graph - # push!(Viso, ite) - # ite += 1 + # push!(Viso, length(Vert)) ############################################ ## TO BE REPLACED BY APPSING IDENTIFICATOR ## ## works for space curves without nodes ## @@ -230,36 +222,35 @@ function compute_graph(f; generic=false, precx = 100) else # We can add the vertex push!(Vert, [xcmid, ycmid]) - push!(Corr[i][j][2][2], ite) + push!(Corr[i][j][2][2], length(Vert)) # We connect to the vertical left side of the critical box for k in nI[1] - push!(Edg, [Corr[i][j][1][k], ite]) + push!(Edg, [Corr[i][j][1][k], length(Vert)]) end # We connect to the vertical right side of the critical box for k in nI[2] - push!(Edg, [ite, Corr[i][j][3][k]]) + push!(Edg, [length(Vert), Corr[i][j][3][k]]) end - ite += 1 end ########################### # Above the critical point for k=(length(I[1]) - length(nI[1]) - ymincrit+1):-1:1 push!(Vert, [xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4]) - push!(Corr[i][j][2][3], ite) - push!(Edg, [Corr[i][j][1][end - k + 1], ite]) # left - push!(Edg, [ite, Corr[i][j][3][end - k + 1]]) # right - ite += 1 + push!(Corr[i][j][2][3], length(Vert)) + push!(Edg, [Corr[i][j][1][end - k + 1], length(Vert)]) # left + push!(Edg, [length(Vert), Corr[i][j][3][end - k + 1]]) # right end end - #end #EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg] #plot_graph(Vert, EdgPlot) #gui() - CVert, CEdg = connected_components(Vert, Edg); - - println("\n## Lifted curve has ", length(CVert), " connected components ##") - #plot_graph_comp(Vert,CEdg) + # Operate inverse change of variable if necessary + if !(generic) + Vert = [ map(QQ,v) for v in Vert ] + end + + return Vert, Edg end \ No newline at end of file diff --git a/src/connectcurves/graph.jl b/src/connectcurves/graph.jl index f20cea3..6691e58 100644 --- a/src/connectcurves/graph.jl +++ b/src/connectcurves/graph.jl @@ -1,6 +1,11 @@ +## TODO : deal with isolated vertices (not appearing in the edges) +############################ + +function connected_components(G) + # Group the vert and edges w.r.t the connected components they belong to + ########### + vert, edges = G -## Graph functions -function connected_components(vert, edges) adj_list = Dict{Int, Vector{Int}}() visited = Set{Int}() components = Vector{Vector{Int}}() @@ -45,4 +50,8 @@ function connected_components(vert, edges) grouped_vert = [ [ vert[cv] for cv in c ] for c in components ] return grouped_vert, grouped_edges +end + +function number_connected_components(G) + return length(first(connected_components(G))) end \ No newline at end of file diff --git a/src/connectcurves/isolate.jl b/src/connectcurves/isolate.jl index 84314f0..414967e 100644 --- a/src/connectcurves/isolate.jl +++ b/src/connectcurves/isolate.jl @@ -4,10 +4,11 @@ function isolate(f; prec = 32, software="msolve") # Univariate isolation using usolve @assert is_univariate(f) "Not univariate polynomial" if software == "usolve" - return usolve(f, precision = prec, uspath="src/usolve/usolve") + return getindex.(usolve(f, precision = prec, uspath="src/usolve/usolve"),2) else fvar = vars(f)[1] - return inter_solutions(Ideal(vcat([f], [ t for t in gens(parent(f)) if t!=fvar ])), precision=prec) + sols = inter_solutions(Ideal(vcat([f], [ t for t in gens(parent(f)) if t!=fvar ])), precision=prec) + return getindex.(sols, var_index(fvar)) end end diff --git a/src/connectcurves/plots.jl b/src/connectcurves/plots.jl index b959033..040d70f 100644 --- a/src/connectcurves/plots.jl +++ b/src/connectcurves/plots.jl @@ -1,3 +1,4 @@ + ## Plot functions function plot_graph(V, E) println("Plotting the graph") diff --git a/src/connectcurves/tools.jl b/src/connectcurves/tools.jl index 2fbaa11..2a41af8 100644 --- a/src/connectcurves/tools.jl +++ b/src/connectcurves/tools.jl @@ -15,13 +15,13 @@ function Arb_to_rat(x) return map(simplest_rational_inside, [x-2*r, x+2*r]) end -function rat_to_Arb(x) +function rat_to_Arb(x, prec) x1,x2 = x - xm, xd = RR((x1+x2)/2), RR(x2-x1) + xm, xd = ArbField(prec)((x1+x2)/2), ArbField(prec)(x2-x1) return ball(xm,xd) end -function evaluate_Arb(f, x) +function evaluate_Arb(f, x, prec) cf = coefficients_of_univariate(f) - return evalpoly(RR(x), cf) + return evalpoly(ArbField(prec)(x), cf) end \ No newline at end of file From b9d0b12be0eb9a96d68204a8f204ab1bf3b8d577 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 12 May 2024 22:34:58 +0200 Subject: [PATCH 019/180] add dependancies --- Manifest.toml | 829 ++++++++++++++++++++++++++++- Project.toml | 10 +- src/AlgebraicSolving.jl | 5 +- src/connectcurves/boxes.jl | 4 +- src/connectcurves/connectcurves.jl | 19 +- src/connectcurves/graph.jl | 13 +- src/connectcurves/plots.jl | 51 +- src/imports.jl | 3 + 8 files changed, 900 insertions(+), 34 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index be7ef88..8800004 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.10.1" manifest_format = "2.0" -project_hash = "92eb5777a40fb58f53c5c7597a7a312dbc129602" +project_hash = "7a6e412edf7e0069b27986b55a45575b55f508bb" [[deps.AbstractAlgebra]] deps = ["InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] @@ -58,24 +58,77 @@ uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +[[deps.BitFlags]] +git-tree-sha1 = "2dc09997850d68179b69dafb58ae806167a32b1b" +uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" +version = "0.1.8" + [[deps.BitTwiddlingConvenienceFunctions]] deps = ["Static"] git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" version = "0.1.5" +[[deps.Bzip2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.8+1" + [[deps.CPUSummary]] deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] git-tree-sha1 = "601f7e7b3d36f18790e2caf83a882d88e9b71ff1" uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" version = "0.2.4" +[[deps.Cairo_jll]] +deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "a4c43f59baa34011e303e76f5c8c91bf58415aaf" +uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" +version = "1.18.0+1" + [[deps.CloseOpenIntervals]] deps = ["Static", "StaticArrayInterface"] git-tree-sha1 = "70232f82ffaab9dc52585e0dd043b5e0c6b714f1" uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" version = "0.1.12" +[[deps.CodecZlib]] +deps = ["TranscodingStreams", "Zlib_jll"] +git-tree-sha1 = "59939d8a997469ee05c4b4944560a820f9ba0d73" +uuid = "944b1d66-785c-5afd-91f1-9de20f533193" +version = "0.7.4" + +[[deps.ColorSchemes]] +deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] +git-tree-sha1 = "4b270d6465eb21ae89b732182c20dc165f8bf9f2" +uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" +version = "3.25.0" + +[[deps.ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.11.5" + +[[deps.ColorVectorSpace]] +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] +git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249" +uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" +version = "0.10.0" + + [deps.ColorVectorSpace.extensions] + SpecialFunctionsExt = "SpecialFunctions" + + [deps.ColorVectorSpace.weakdeps] + SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" + +[[deps.Colors]] +deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] +git-tree-sha1 = "fc08e5930ee9a4e03f84bfb5211cb54e7769758a" +uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" +version = "0.12.10" + [[deps.Compat]] deps = ["TOML", "UUIDs"] git-tree-sha1 = "b1c55339b7c6c350ee89f2c1604299660525b248" @@ -91,16 +144,44 @@ deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" version = "1.1.0+0" +[[deps.ConcurrentUtilities]] +deps = ["Serialization", "Sockets"] +git-tree-sha1 = "6cbbd4d241d7e6579ab354737f4dd95ca43946e1" +uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" +version = "2.4.1" + +[[deps.Contour]] +git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8" +uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" +version = "0.6.3" + [[deps.CpuId]] deps = ["Markdown"] git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" uuid = "adafc99b-e345-5852-983c-f28acb93d879" version = "0.3.1" +[[deps.DataAPI]] +git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.16.0" + +[[deps.DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "1d0a14036acb104d9e89698bd408f63ab58cdc82" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.20" + [[deps.Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +[[deps.DelimitedFiles]] +deps = ["Mmap"] +git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" +version = "1.9.1" + [[deps.DocStringExtensions]] deps = ["LibGit2"] git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" @@ -112,6 +193,36 @@ deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" version = "1.6.0" +[[deps.EpollShim_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8e9441ee83492030ace98f9789a654a6d0b1f643" +uuid = "2702e6a9-849d-5ed8-8c21-79e8b8f9ee43" +version = "0.0.20230411+0" + +[[deps.ExceptionUnwrapping]] +deps = ["Test"] +git-tree-sha1 = "dcb08a0d93ec0b1cdc4af184b26b591e9695423a" +uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" +version = "0.1.10" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1c6317308b9dc757616f0b5cb379db10494443a7" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.6.2+0" + +[[deps.FFMPEG]] +deps = ["FFMPEG_jll"] +git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" +uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" +version = "0.4.1" + +[[deps.FFMPEG_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "466d45dc38e15794ec7d5d63ec03d776a9aff36e" +uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" +version = "4.4.4+1" + [[deps.FLINT_jll]] deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "OpenBLAS32_jll"] git-tree-sha1 = "4bde447e7bc6de73de36870fc942df02f4dd44b5" @@ -121,11 +232,93 @@ version = "300.100.300+0" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" +[[deps.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.4" + +[[deps.Fontconfig_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"] +git-tree-sha1 = "db16beca600632c95fc8aca29890d83788dd8b23" +uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" +version = "2.13.96+0" + +[[deps.Format]] +git-tree-sha1 = "9c68794ef81b08086aeb32eeaf33531668d5f5fc" +uuid = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8" +version = "1.3.7" + +[[deps.FreeType2_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "d8db6a5a2fe1381c1ea4ef2cab7c69c2de7f9ea0" +uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" +version = "2.13.1+0" + +[[deps.FriBidi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1ed150b39aebcc805c26b93a8d0122c940f64ce2" +uuid = "559328eb-81f9-559d-9380-de523a88c83c" +version = "1.0.14+0" + +[[deps.GLFW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] +git-tree-sha1 = "ff38ba61beff76b8f4acad8ab0c97ef73bb670cb" +uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" +version = "3.3.9+0" + [[deps.GMP_jll]] deps = ["Artifacts", "Libdl"] uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" version = "6.2.1+6" +[[deps.GR]] +deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Preferences", "Printf", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "p7zip_jll"] +git-tree-sha1 = "ddda044ca260ee324c5fc07edb6d7cf3f0b9c350" +uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" +version = "0.73.5" + +[[deps.GR_jll]] +deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "278e5e0f820178e8a26df3184fcb2280717c79b1" +uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" +version = "0.73.5+0" + +[[deps.Gettext_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" +uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" +version = "0.21.0+0" + +[[deps.Glib_jll]] +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "359a1ba2e320790ddbe4ee8b4d54a305c0ea2aff" +uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" +version = "2.80.0+0" + +[[deps.Graphite2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" +version = "1.3.14+0" + +[[deps.Grisu]] +git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" +uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" +version = "1.0.2" + +[[deps.HTTP]] +deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] +git-tree-sha1 = "d1d712be3164d61d1fb98e7ce9bcbc6cc06b45ed" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "1.10.8" + +[[deps.HarfBuzz_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] +git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" +uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" +version = "2.8.1+1" + [[deps.HostCPUFeatures]] deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] git-tree-sha1 = "eb8fed28f4994600e29beef49744639d985a04b2" @@ -141,18 +334,78 @@ version = "0.1.1" deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +[[deps.IrrationalConstants]] +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.2.2" + +[[deps.JLFzf]] +deps = ["Pipe", "REPL", "Random", "fzf_jll"] +git-tree-sha1 = "a53ebe394b71470c7f97c2e7e170d51df21b17af" +uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" +version = "0.1.7" + [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" version = "1.5.0" +[[deps.JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.4" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "c84a835e1a09b289ffcd2271bf2a337bbdda6637" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "3.0.3+0" + +[[deps.LAME_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "170b660facf5df5de098d866564877e119141cbd" +uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" +version = "3.100.2+0" + +[[deps.LERC_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" +uuid = "88015f11-f218-50d7-93a8-a6af411a945d" +version = "3.0.0+1" + [[deps.LLVMOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] git-tree-sha1 = "d986ce2d884d49126836ea94ed5bfb0f12679713" uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" version = "15.0.7+0" +[[deps.LZO_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "70c5da094887fd2cae843b8db33920bac4b6f07d" +uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" +version = "2.10.2+0" + +[[deps.LaTeXStrings]] +git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.3.1" + +[[deps.Latexify]] +deps = ["Format", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] +git-tree-sha1 = "e0b5cd21dc1b44ec6e64f351976f961e6f31d6c4" +uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" +version = "0.16.3" + + [deps.Latexify.extensions] + DataFramesExt = "DataFrames" + SymEngineExt = "SymEngine" + + [deps.Latexify.weakdeps] + DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" + SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" + [[deps.LayoutPointers]] deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] git-tree-sha1 = "62edfee3211981241b57ff1cedf4d74d79519277" @@ -186,13 +439,83 @@ version = "1.11.0+1" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" +[[deps.Libffi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" +version = "3.2.2+1" + +[[deps.Libgcrypt_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll"] +git-tree-sha1 = "9fd170c4bbfd8b935fdc5f8b7aa33532c991a673" +uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" +version = "1.8.11+0" + +[[deps.Libglvnd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" +version = "1.6.0+0" + +[[deps.Libgpg_error_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "fbb1f2bef882392312feb1ede3615ddc1e9b99ed" +uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" +version = "1.49.0+0" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.17.0+0" + +[[deps.Libmount_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "0c4f9c4f1a50d8f35048fa0532dabbadf702f81e" +uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" +version = "2.40.1+0" + +[[deps.Libtiff_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "2da088d113af58221c52828a80378e16be7d037a" +uuid = "89763e89-9b03-5906-acba-b20f662cd828" +version = "4.5.1+1" + +[[deps.Libuuid_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "5ee6203157c120d79034c748a2acba45b82b8807" +uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" +version = "2.40.1+0" + [[deps.LinearAlgebra]] deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +[[deps.LogExpFunctions]] +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "18144f3e9cbe9b15b070288eef858f71b291ce37" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.27" + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" + + [deps.LogExpFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +[[deps.LoggingExtras]] +deps = ["Dates", "Logging"] +git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" +uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" +version = "1.0.3" + [[deps.LoopVectorization]] deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] git-tree-sha1 = "8f6786d8b2b3248d79db3ad359ce95382d5a6df8" @@ -228,15 +551,41 @@ version = "0.1.8" deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" +[[deps.MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] +git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.1.9" + [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" version = "2.28.2+1" +[[deps.Measures]] +git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" +uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" +version = "0.3.2" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.2.0" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" version = "2023.1.10" +[[deps.NaNMath]] +deps = ["OpenLibm_jll"] +git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "1.0.2" + [[deps.Nemo]] deps = ["AbstractAlgebra", "FLINT_jll", "Libdl", "LinearAlgebra", "Pkg", "Random", "RandomExtensions", "SHA"] git-tree-sha1 = "17b059f61e340a3a2e59826c3d182a1184a582d3" @@ -256,6 +605,12 @@ weakdeps = ["Adapt"] [deps.OffsetArrays.extensions] OffsetArraysAdaptExt = "Adapt" +[[deps.Ogg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" +version = "1.3.5+1" + [[deps.OpenBLAS32_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] git-tree-sha1 = "6065c4cff8fee6c6770b277af45d5082baacdba1" @@ -267,11 +622,93 @@ deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" version = "0.3.23+4" +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" +version = "0.8.1+2" + +[[deps.OpenSSL]] +deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] +git-tree-sha1 = "38cb508d080d21dc1128f7fb04f20387ed4c0af4" +uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" +version = "1.4.3" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "3da7367955dcc5c54c1ba4d402ccdc09a1a3e046" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "3.0.13+1" + +[[deps.Opus_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" +uuid = "91d4177d-7536-5919-b921-800302f37372" +version = "1.3.2+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.6.3" + +[[deps.PCRE2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" +version = "10.42.0+1" + +[[deps.Parsers]] +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "2.8.1" + +[[deps.Pipe]] +git-tree-sha1 = "6842804e7867b115ca9de748a0cf6b364523c16d" +uuid = "b98c9c47-44ae-5843-9183-064241ee97a0" +version = "1.3.0" + +[[deps.Pixman_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] +git-tree-sha1 = "35621f10a7531bc8fa58f74610b1bfb70a3cfc6b" +uuid = "30392449-352a-5448-841d-b1acce4e97dc" +version = "0.43.4+0" + [[deps.Pkg]] deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" version = "1.10.0" +[[deps.PlotThemes]] +deps = ["PlotUtils", "Statistics"] +git-tree-sha1 = "1f03a2d339f42dca4a4da149c7e15e9b896ad899" +uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" +version = "3.1.0" + +[[deps.PlotUtils]] +deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] +git-tree-sha1 = "7b1a9df27f072ac4c9c7cbe5efb198489258d1f5" +uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" +version = "1.4.1" + +[[deps.Plots]] +deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] +git-tree-sha1 = "442e1e7ac27dd5ff8825c3fa62fbd1e86397974b" +uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" +version = "1.40.4" + + [deps.Plots.extensions] + FileIOExt = "FileIO" + GeometryBasicsExt = "GeometryBasics" + IJuliaExt = "IJulia" + ImageInTerminalExt = "ImageInTerminal" + UnitfulExt = "Unitful" + + [deps.Plots.weakdeps] + FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" + GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" + IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" + ImageInTerminal = "d8c32880-2388-543b-8c61-d9f865259254" + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" + [[deps.PolyesterWeave]] deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" @@ -294,6 +731,12 @@ version = "1.4.3" deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" +[[deps.Qt6Base_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Vulkan_Loader_jll", "Xorg_libSM_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_cursor_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "libinput_jll", "xkbcommon_jll"] +git-tree-sha1 = "37b7bb7aabf9a085e0044307e1717436117f2b3b" +uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" +version = "6.5.3+1" + [[deps.REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" @@ -308,6 +751,29 @@ git-tree-sha1 = "b8a399e95663485820000f26b6a43c794e166a49" uuid = "fb686558-2515-59ef-acaa-46db3789a887" version = "0.4.4" +[[deps.RecipesBase]] +deps = ["PrecompileTools"] +git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" +uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" +version = "1.3.4" + +[[deps.RecipesPipeline]] +deps = ["Dates", "NaNMath", "PlotUtils", "PrecompileTools", "RecipesBase"] +git-tree-sha1 = "45cf9fd0ca5839d06ef333c8201714e888486342" +uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" +version = "0.6.12" + +[[deps.Reexport]] +git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "1.2.2" + +[[deps.RelocatableFolders]] +deps = ["SHA", "Scratch"] +git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" +uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" +version = "1.0.1" + [[deps.Requires]] deps = ["UUIDs"] git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" @@ -329,12 +795,35 @@ git-tree-sha1 = "3aac6d68c5e57449f5b9b865c9ba50ac2970c4cf" uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" version = "0.6.42" +[[deps.Scratch]] +deps = ["Dates"] +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.2.1" + [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +[[deps.Showoff]] +deps = ["Dates", "Grisu"] +git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" +uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" +version = "1.0.3" + +[[deps.SimpleBufferStream]] +git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" +uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" +version = "1.1.0" + [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.2.1" + [[deps.SparseArrays]] deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" @@ -376,6 +865,23 @@ git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" version = "1.4.2" +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.10.0" + +[[deps.StatsAPI]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.7.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "5cf7606d6cef84b543b483848d4ae08ad9832b21" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.34.3" + [[deps.SuiteSparse]] deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" @@ -395,6 +901,12 @@ deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" version = "1.10.0" +[[deps.TensorCore]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" +uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" +version = "0.1.1" + [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" @@ -405,6 +917,20 @@ git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" version = "0.5.2" +[[deps.TranscodingStreams]] +git-tree-sha1 = "5d54d076465da49d6746c647022f3b3674e64156" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.10.8" +weakdeps = ["Random", "Test"] + + [deps.TranscodingStreams.extensions] + TestExt = ["Test", "Random"] + +[[deps.URIs]] +git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.5.1" + [[deps.UUIDs]] deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" @@ -417,28 +943,311 @@ version = "1.0.2" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" +[[deps.UnicodeFun]] +deps = ["REPL"] +git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" +uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" +version = "0.4.1" + +[[deps.Unitful]] +deps = ["Dates", "LinearAlgebra", "Random"] +git-tree-sha1 = "3c793be6df9dd77a0cf49d80984ef9ff996948fa" +uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" +version = "1.19.0" + + [deps.Unitful.extensions] + ConstructionBaseUnitfulExt = "ConstructionBase" + InverseFunctionsUnitfulExt = "InverseFunctions" + + [deps.Unitful.weakdeps] + ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.UnitfulLatexify]] +deps = ["LaTeXStrings", "Latexify", "Unitful"] +git-tree-sha1 = "e2d817cc500e960fdbafcf988ac8436ba3208bfd" +uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728" +version = "1.6.3" + +[[deps.Unzip]] +git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" +uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" +version = "0.2.0" + [[deps.VectorizationBase]] deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static", "StaticArrayInterface"] git-tree-sha1 = "6129a4faf6242e7c3581116fbe3270f3ab17c90d" uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" version = "0.21.67" +[[deps.Vulkan_Loader_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Wayland_jll", "Xorg_libX11_jll", "Xorg_libXrandr_jll", "xkbcommon_jll"] +git-tree-sha1 = "2f0486047a07670caad3a81a075d2e518acc5c59" +uuid = "a44049a8-05dd-5a78-86c9-5fde0876e88c" +version = "1.3.243+0" + +[[deps.Wayland_jll]] +deps = ["Artifacts", "EpollShim_jll", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "7558e29847e99bc3f04d6569e82d0f5c54460703" +uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" +version = "1.21.0+1" + +[[deps.Wayland_protocols_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "93f43ab61b16ddfb2fd3bb13b3ce241cafb0e6c9" +uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" +version = "1.31.0+0" + +[[deps.XML2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] +git-tree-sha1 = "532e22cf7be8462035d092ff21fada7527e2c488" +uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" +version = "2.12.6+0" + +[[deps.XSLT_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" +uuid = "aed1982a-8fda-507f-9586-7b0439959a61" +version = "1.1.34+0" + +[[deps.XZ_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "ac88fb95ae6447c8dda6a5503f3bafd496ae8632" +uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" +version = "5.4.6+0" + +[[deps.Xorg_libICE_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "326b4fea307b0b39892b3e85fa451692eda8d46c" +uuid = "f67eecfb-183a-506d-b269-f58e52b52d7c" +version = "1.1.1+0" + +[[deps.Xorg_libSM_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libICE_jll"] +git-tree-sha1 = "3796722887072218eabafb494a13c963209754ce" +uuid = "c834827a-8449-5923-a945-d239c165b7dd" +version = "1.2.4+0" + +[[deps.Xorg_libX11_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" +version = "1.8.6+0" + +[[deps.Xorg_libXau_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" +version = "1.0.11+0" + +[[deps.Xorg_libXcursor_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" +uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" +version = "1.2.0+4" + +[[deps.Xorg_libXdmcp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" +version = "1.1.4+0" + +[[deps.Xorg_libXext_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85" +uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" +version = "1.3.6+0" + +[[deps.Xorg_libXfixes_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" +uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" +version = "5.0.3+4" + +[[deps.Xorg_libXi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] +git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" +uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" +version = "1.7.10+4" + +[[deps.Xorg_libXinerama_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] +git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" +uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" +version = "1.1.4+4" + +[[deps.Xorg_libXrandr_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" +uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" +version = "1.5.2+4" + +[[deps.Xorg_libXrender_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "47e45cd78224c53109495b3e324df0c37bb61fbe" +uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" +version = "0.9.11+0" + +[[deps.Xorg_libpthread_stubs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" +version = "0.1.1+0" + +[[deps.Xorg_libxcb_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "b4bfde5d5b652e22b9c790ad00af08b6d042b97d" +uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" +version = "1.15.0+0" + +[[deps.Xorg_libxkbfile_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "730eeca102434283c50ccf7d1ecdadf521a765a4" +uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" +version = "1.1.2+0" + +[[deps.Xorg_xcb_util_cursor_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_jll", "Xorg_xcb_util_renderutil_jll"] +git-tree-sha1 = "04341cb870f29dcd5e39055f895c39d016e18ccd" +uuid = "e920d4aa-a673-5f3a-b3d7-f755a4d47c43" +version = "0.1.4+0" + +[[deps.Xorg_xcb_util_image_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" +uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] +git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" +uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_keysyms_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" +uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_renderutil_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" +uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" +version = "0.3.9+1" + +[[deps.Xorg_xcb_util_wm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" +uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" +version = "0.4.1+1" + +[[deps.Xorg_xkbcomp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxkbfile_jll"] +git-tree-sha1 = "330f955bc41bb8f5270a369c473fc4a5a4e4d3cb" +uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" +version = "1.4.6+0" + +[[deps.Xorg_xkeyboard_config_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"] +git-tree-sha1 = "691634e5453ad362044e2ad653e79f3ee3bb98c3" +uuid = "33bec58e-1273-512f-9401-5d533626f822" +version = "2.39.0+0" + +[[deps.Xorg_xtrans_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" +version = "1.5.0+0" + [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" version = "1.2.13+1" +[[deps.Zstd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e678132f07ddb5bfa46857f0d7620fb9be675d3b" +uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" +version = "1.5.6+0" + +[[deps.eudev_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "gperf_jll"] +git-tree-sha1 = "431b678a28ebb559d224c0b6b6d01afce87c51ba" +uuid = "35ca27e7-8b34-5b7f-bca9-bdc33f59eb06" +version = "3.2.9+0" + +[[deps.fzf_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "a68c9655fbe6dfcab3d972808f1aafec151ce3f8" +uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" +version = "0.43.0+0" + +[[deps.gperf_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "3516a5630f741c9eecb3720b1ec9d8edc3ecc033" +uuid = "1a1c6b14-54f6-533d-8383-74cd7377aa70" +version = "3.1.1+0" + +[[deps.libaom_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" +uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" +version = "3.4.0+0" + +[[deps.libass_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" +uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" +version = "0.15.1+0" + [[deps.libblastrampoline_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" version = "5.8.0+1" +[[deps.libevdev_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "141fe65dc3efabb0b1d5ba74e91f6ad26f84cc22" +uuid = "2db6ffa8-e38f-5e21-84af-90c45d0032cc" +version = "1.11.0+0" + +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" +uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" +version = "2.0.2+0" + +[[deps.libinput_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "eudev_jll", "libevdev_jll", "mtdev_jll"] +git-tree-sha1 = "ad50e5b90f222cfe78aa3d5183a20a12de1322ce" +uuid = "36db933b-70db-51c0-b978-0f229ee0e533" +version = "1.18.0+0" + +[[deps.libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "d7015d2e18a5fd9a4f47de711837e980519781a4" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.43+1" + +[[deps.libvorbis_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] +git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" +uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" +version = "1.3.7+1" + [[deps.msolve_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "FLINT_jll", "GMP_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl", "MPFR_jll"] git-tree-sha1 = "00d6ebe337ec3935bf6a356f6c6060933c8b73e8" uuid = "6d01cc9a-e8f6-580e-8c54-544227e08205" version = "0.600.501+0" +[[deps.mtdev_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "814e154bdb7be91d78b6802843f76b6ece642f11" +uuid = "009596ad-96f7-51b1-9f1b-5ce2d5e8a71e" +version = "1.1.6+0" + [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" @@ -448,3 +1257,21 @@ version = "1.52.0+1" deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" version = "17.4.0+2" + +[[deps.x264_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" +uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" +version = "2021.5.5+0" + +[[deps.x265_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" +uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" +version = "3.5.0+0" + +[[deps.xkbcommon_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] +git-tree-sha1 = "9c304562909ab2bab0262639bd4f444d7bc2be37" +uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" +version = "1.4.1+1" diff --git a/Project.toml b/Project.toml index db0396e..64fc080 100644 --- a/Project.toml +++ b/Project.toml @@ -4,11 +4,13 @@ authors = ["ederc ", "Mohab Safey El Din 2 - print((i,j)," ",npcside) precxtmp *= 2 println("\nRefine extreme boxes along x-axis to precision ", precxtmp) refine_xboxes(params[1][1], LBcrit[1], precxtmp) @@ -249,8 +258,8 @@ function compute_graph(f; generic=false, precx = 100) #plot_graph_comp(Vert,CEdg) # Operate inverse change of variable if necessary if !(generic) - Vert = [ map(QQ,v) for v in Vert ] + Vert = [ changemat*v for v in Vert ] end - + return Vert, Edg end \ No newline at end of file diff --git a/src/connectcurves/graph.jl b/src/connectcurves/graph.jl index 6691e58..c932ed2 100644 --- a/src/connectcurves/graph.jl +++ b/src/connectcurves/graph.jl @@ -1,8 +1,12 @@ ## TODO : deal with isolated vertices (not appearing in the edges) ############################ +function index_of(x, L) + return findfirst(t->t==x,L) +end + function connected_components(G) - # Group the vert and edges w.r.t the connected components they belong to + # Outputs subgraphs of the connected components ########### vert, edges = G @@ -42,16 +46,15 @@ function connected_components(G) for node in component for neighbor in adj_list[node] if neighbor > node && neighbor in component - push!(grouped_edges[idx], (node, neighbor)) + push!(grouped_edges[idx], (index_of(node,component), index_of(neighbor,component))) end end end end - grouped_vert = [ [ vert[cv] for cv in c ] for c in components ] - return grouped_vert, grouped_edges + return [ [[ vert[cv] for cv in components[i] ], grouped_edges[i]] for i in eachindex(components) ] end function number_connected_components(G) - return length(first(connected_components(G))) + return length(connected_components(G)) end \ No newline at end of file diff --git a/src/connectcurves/plots.jl b/src/connectcurves/plots.jl index 040d70f..d586e00 100644 --- a/src/connectcurves/plots.jl +++ b/src/connectcurves/plots.jl @@ -1,27 +1,50 @@ ## Plot functions -function plot_graph(V, E) +function plot_graph(G; color="red", width=3, vert = true) println("Plotting the graph") + V, E = G plot(legend=false) for e in E - xe, ye = map(Float64,[e[1][1], e[2][1]]), map(Float64,[e[1][2], e[2][2]]) - plot!(xe, ye, lc="red", lw=3) + v1, v2 = [ map(Float64, V[ee]) for ee in e ] + plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=color, lw=width) end - scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) - #plt.show(block=true) - plot!() + if vert + scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) + end + gui() end -function plot_graph_comp(V, CE) +function plot_graphs(CG; width=3, vert=true) println("Plotting the graph") plot(legend=false) - col = distinguishable_colors(length(CE)+2) - for j in eachindex(CE) - for e in CE[j] - v1, v2 = map(Float64, V[e[1]]), map(Float64, V[e[2]]) - plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=3) + col = distinguishable_colors(length(CG)+2) + for j in eachindex(CG) + V, E = CG[j] + for e in E + v1, v2 = [ map(Float64, V[ee]) for ee in e ] + plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=width) + end + if vert + scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) + end + end + gui() +end + +function plot_graph_comp(G; width=3, vert=true) + println("Plotting the graph") + plot(legend=false) + CG = connected_components(G) + col = distinguishable_colors(length(CG)+2) + for j in eachindex(CG) + V, E = CG[j] + for e in E + v1, v2 = [ map(Float64, V[ee]) for ee in e ] + plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=width) + end + if vert + scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) end end - #plt.show(block=true) - plot!() + gui() end \ No newline at end of file diff --git a/src/imports.jl b/src/imports.jl index ccf335a..492178b 100644 --- a/src/imports.jl +++ b/src/imports.jl @@ -6,6 +6,9 @@ using LinearAlgebra using StaticArrays using LoopVectorization +import Plots: plot, plot!, scatter!, gui, gr, pythonplot +import Colors: distinguishable_colors + import Random: MersenneTwister import Logging: ConsoleLogger, with_logger, Warn, Info import Printf: @sprintf From a57894477d62ca9b712beab9c9f8bb8f9dfc94e1 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Wed, 15 May 2024 15:38:29 +0200 Subject: [PATCH 020/180] compute boxes with msolve --- src/connectcurves/boxes.jl | 8 +++++- src/connectcurves/connectcurves.jl | 39 +++++++++++++++++++----------- src/connectcurves/tools.jl | 4 +-- 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/src/connectcurves/boxes.jl b/src/connectcurves/boxes.jl index 9b6885c..c78442e 100644 --- a/src/connectcurves/boxes.jl +++ b/src/connectcurves/boxes.jl @@ -51,9 +51,15 @@ function intersect_box(f, B; prec=100) end function refine_xboxes(f, LB, prec) - # Implementation of refine_xboxes function goes here + # Refine LB along first axis, being roots of f xnew = isolate(f, prec=prec) for i in eachindex(LB) LB[i] = [ xnew[i], LB[i][2] ] end end + +function refine_ith_xboxes(f, LB, i, prec) + # Refine only LB[i] along first axis, being i-th root of f + xnew = isolate(f, prec=prec) + LB[i] = [ xnew[i], LB[i][2] ] +end diff --git a/src/connectcurves/connectcurves.jl b/src/connectcurves/connectcurves.jl index d569ca2..0299839 100644 --- a/src/connectcurves/connectcurves.jl +++ b/src/connectcurves/connectcurves.jl @@ -12,11 +12,12 @@ include("boxes.jl") include("graph.jl") include("plots.jl") -function compute_graph(f; generic=false, precx = 100,v=0) +function compute_graph(f; generic=false, precx = 150,v=0, arb=false) println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") println("!! Careful: this is a WIP version !!") println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") +@time begin R = parent(f) x, y = gens(R) # Generic change of variables @@ -45,19 +46,28 @@ function compute_graph(f; generic=false, precx = 100,v=0) params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in group_sqr ]; end - # TODO : check that no overlap between different isolations - println("\nIsolating critical values at precision ", precx,"..") - @time begin - xcrit = [ isolate(first(p), prec=precx) for p in params ] - _, xcritpermut = order_permut2d(xcrit); - end + if arb + # TODO : check that no overlap between different isolations + println("\nIsolating critical values with precision ", precx,"..") + @time begin + xcrit = [ isolate(first(p), prec=precx) for p in params ] + xcritpermut = order_permut2d(xcrit); + end - println("\nComputing isolating critical boxes using Arb with precision ",max(precx,150),"..") - @time begin - #RR = ArbField(max(precx,150)) - precArb = max(precx,150) - Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1], precArb)/evaluate_Arb(params[i][3],xc[1],precArb)] for xc in xcrit[i]] for i in eachindex(xcrit) ] - LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ] + println("\nComputing isolating critical boxes using Arb with precision ",max(precx,150),"..") + @time begin + #RR = ArbField(max(precx,150)) + precArb =precx + Pcrit = [ [ [xc, evaluate_Arb(params[i][2], xc[1], precArb)/evaluate_Arb(params[i][3],xc[1],precArb)] for xc in xcrit[i]] for i in eachindex(xcrit) ] + LBcrit = [ [ [ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for pcrit in Pcrit ] + end + else + println("\nCompute critical boxes with msolve with precision ", precx,"..") + @time begin + LBcrit = [ sort(inter_solutions(AlgebraicSolving.Ideal([p[1], p[3]*y-p[2]]), precision=precx),by=t->t[1]) for p in params ] + xcrit = [ [ B[1] for B in lbcrit ] for lbcrit in LBcrit ] + xcritpermut = order_permut2d(xcrit); + end end print("\nTest for identifying singular boxes");ts=time(); @@ -260,6 +270,7 @@ function compute_graph(f; generic=false, precx = 100,v=0) if !(generic) Vert = [ changemat*v for v in Vert ] end - +println("Total time:") +end return Vert, Edg end \ No newline at end of file diff --git a/src/connectcurves/tools.jl b/src/connectcurves/tools.jl index 2a41af8..e7b0b25 100644 --- a/src/connectcurves/tools.jl +++ b/src/connectcurves/tools.jl @@ -4,10 +4,10 @@ function order_permut2d(L) # Sort the enumerated list based on the values sorted_LL = sort(LL, by = x -> x[1]) # Extract the sorted values and their corresponding indices - sorted_L = [pair[1] for pair in sorted_LL] + #sorted_L = [pair[1] for pair in sorted_LL] sorted_ind = [pair[2] for pair in sorted_LL] - return sorted_L, sorted_ind + return sorted_ind end function Arb_to_rat(x) From 43204b3cb36f5b103a4b22e58692a39b4c399913 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sun, 19 May 2024 00:44:01 +0200 Subject: [PATCH 021/180] improvements --- src/connectcurves/arbtools.jl | 20 ++++++++++++++++++++ src/connectcurves/connectcurves.jl | 1 + src/connectcurves/tools.jl | 24 ++++++++++++------------ 3 files changed, 33 insertions(+), 12 deletions(-) create mode 100644 src/connectcurves/arbtools.jl diff --git a/src/connectcurves/arbtools.jl b/src/connectcurves/arbtools.jl new file mode 100644 index 0000000..4721a75 --- /dev/null +++ b/src/connectcurves/arbtools.jl @@ -0,0 +1,20 @@ +function Arb_to_rat(x) + r = radius(x) + return map(simplest_rational_inside, [x-2*r, x+2*r]) +end + +function rat_to_Arb(x, prec) + x1,x2 = x + xm, xd = ArbField(prec)((x1+x2)/2), ArbField(prec)(x2-x1) + return ball(xm,xd) +end + +function evaluate_Arb(f, x, prec) + cf = coefficients_of_univariate(f) + return evalpoly(ArbField(prec)(x), cf) +end + +function Arb_eval(f, B, prec) + BA = [ rat_to_Arb(b, prec) for b in B ] + return evaluate(change_base_ring(ArbField(prec), f), BA) +end \ No newline at end of file diff --git a/src/connectcurves/connectcurves.jl b/src/connectcurves/connectcurves.jl index 0299839..6dfc2e8 100644 --- a/src/connectcurves/connectcurves.jl +++ b/src/connectcurves/connectcurves.jl @@ -11,6 +11,7 @@ include("isolate.jl") include("boxes.jl") include("graph.jl") include("plots.jl") +include("arbtools.jl") function compute_graph(f; generic=false, precx = 150,v=0, arb=false) println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") diff --git a/src/connectcurves/tools.jl b/src/connectcurves/tools.jl index e7b0b25..9bf0b0b 100644 --- a/src/connectcurves/tools.jl +++ b/src/connectcurves/tools.jl @@ -10,18 +10,18 @@ function order_permut2d(L) return sorted_ind end -function Arb_to_rat(x) - r = radius(x) - return map(simplest_rational_inside, [x-2*r, x+2*r]) +function diff(p, v, n) + dp = p + for j in 1:n + dp = derivative(dp, v) + end + return dp end -function rat_to_Arb(x, prec) - x1,x2 = x - xm, xd = ArbField(prec)((x1+x2)/2), ArbField(prec)(x2-x1) - return ball(xm,xd) -end - -function evaluate_Arb(f, x, prec) - cf = coefficients_of_univariate(f) - return evalpoly(ArbField(prec)(x), cf) +function diff_list(p, v, n) + Ldp = [p] + for j in 1:n + push!(Ldb,derivative(Ldp[end], v)) + end + return Ldp end \ No newline at end of file From 6e1a83697cb713101dc1e4eb2061fba5a49b19fa Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 20 May 2024 12:31:14 +0200 Subject: [PATCH 022/180] add interpolation parmetrization --- src/connectcurves/connectcurves.jl | 4 +- src/connectcurves/param-curve.jl | 79 ++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 src/connectcurves/param-curve.jl diff --git a/src/connectcurves/connectcurves.jl b/src/connectcurves/connectcurves.jl index 6dfc2e8..141004b 100644 --- a/src/connectcurves/connectcurves.jl +++ b/src/connectcurves/connectcurves.jl @@ -3,7 +3,8 @@ #using Plots, Colors #pythonplot() -export compute_graph, connected_components, number_connected_components, plot_graph, plot_graphs, plot_graph_comp +export compute_graph, connected_components, number_connected_components, + plot_graph, plot_graphs, plot_graph_comp, compute_param include("tools.jl") include("subresultants.jl") @@ -12,6 +13,7 @@ include("boxes.jl") include("graph.jl") include("plots.jl") include("arbtools.jl") +include("param-curve.jl") function compute_graph(f; generic=false, precx = 150,v=0, arb=false) println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") diff --git a/src/connectcurves/param-curve.jl b/src/connectcurves/param-curve.jl new file mode 100644 index 0000000..e90092c --- /dev/null +++ b/src/connectcurves/param-curve.jl @@ -0,0 +1,79 @@ + +function repl_ind(L,i,x) + # replace by element x at index i + return [ L[1:i-1]; x; L[i+1:end] ] +end + +function rem_var(f, i, A) + CE = [collect(coefficients(f)), collect(exponent_vectors(f))] + CE[2] = [ rem_ind(e, i) for e in CE[2]] + return array_to_poly(CE, A) +end + +function deg_Alg(F, dim) + # Compute the degree of the the alg set of dimension dim + # defined by F + if dim <= 0 + r = rational_parametrization(AlgebraicSolving.Ideal(F)) + else + vars = gens(parent(first(F))) + planes = [ sum([ rand(-100:100)*v for v in vcat(vars,1) ]) for _ in 1:dim] + r = rational_parametrization(AlgebraicSolving.Ideal(vcat(F,planes))) + end + return degree(r.elim) +end + + +function compute_param(F) + varias = gens(parent(first(F))) + N = length(varias) + + if N == 2 + return F + end + + DEG = deg_Alg(F,1) + if deg_Alg(vcat(F,varias[N-1]-rand(-100:100)),0) != DEG + error("The curve is not in generic position") + end + + PARAM = [] + rr = 0 + _values, i = [], 1 + A, (s,t) = polynomial_ring(QQ,[:s,:t]) + while length(_values) < DEG+2 + try + Feval = [ evaluate(f, repl_ind(varias, N-1, QQ(i))) for f in F ] + Feval = [ rem_var(f, N-1, A) for f in Feval ] + r = rational_parametrization(AlgebraicSolving.Ideal(Feval)) + #ivev = findfirst(t->t==R.S[end-1],r.vars) + lc = leading_coefficient(r.elim) + rr = [ p/lc for p in vcat(r.elim,r.param) ] + push!(PARAM, rr) + push!(_values, QQ(i)) + i+=1 + catch + error("bad specialization choice") + end + end + + CURVEPARAM = [] + + T, (x1,x2) = polynomial_ring(QQ, [:x1,:x2]) + + for count in 1:N-1 + COEFFS = [] + for deg in 0:DEG + _evals = [ coeff(PARAM[i][count],deg) for i in 1:length(PARAM)] + S, u = polynomial_ring(QQ,"u") + push!(COEFFS, interpolate(S, map(QQ,_values[1:length(PARAM)]), _evals)) + end + + C = [ collect(coefficients(c)) for c in COEFFS ] + POL = sum([ C[i][j]*x1^(j-1)*x2^(i-1) for i in 1:length(C) for j in 1:length(C[i])]) + + push!(CURVEPARAM, POL) + end + + return CURVEPARAM +end From 880de67edf29496263abb5b7b5eeb46e1008fb83 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 20 May 2024 12:38:38 +0200 Subject: [PATCH 023/180] interface with parametrization --- src/connectcurves/connectcurves.jl | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/connectcurves/connectcurves.jl b/src/connectcurves/connectcurves.jl index 141004b..5f32ee6 100644 --- a/src/connectcurves/connectcurves.jl +++ b/src/connectcurves/connectcurves.jl @@ -15,8 +15,20 @@ include("plots.jl") include("arbtools.jl") include("param-curve.jl") -function compute_graph(f; generic=false, precx = 150,v=0, arb=false) - println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") +function compute_graph(F; param=false, generic=false, precx=150, v=0, arb=false) + + if !(param) + println("Compute rational parametrization...") + @time begin + Fparam = compute_param(F) + end + end + + return compute_graph_param(Fparam[1], generic=generic, precx=precx, v=v, arb=arb) +end + +function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) + println("\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") println("!! Careful: this is a WIP version !!") println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") From d1d6a60ccc19fdd8a2a3033517a4dd06576d02ed Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 21 May 2024 22:53:45 +0200 Subject: [PATCH 024/180] better change of variables --- src/connectcurves/connectcurves.jl | 6 +++--- src/connectcurves/param-curve.jl | 2 +- src/connectcurves/tools.jl | 8 ++++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/connectcurves/connectcurves.jl b/src/connectcurves/connectcurves.jl index 5f32ee6..92fe951 100644 --- a/src/connectcurves/connectcurves.jl +++ b/src/connectcurves/connectcurves.jl @@ -20,7 +20,7 @@ function compute_graph(F; param=false, generic=false, precx=150, v=0, arb=false) if !(param) println("Compute rational parametrization...") @time begin - Fparam = compute_param(F) + Fparam = compute_param(F, generic=generic) end end @@ -38,7 +38,7 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) # Generic change of variables changemat = [1 0; 0 1] if !generic - changemat = map(QQ,rand(-500:500, 2, 2)) + changemat = trimat_rand(QQ, 2, range=-500:500) end f = evaluate(f, collect(changemat*[x; y])); @@ -288,4 +288,4 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) println("Total time:") end return Vert, Edg -end \ No newline at end of file +end diff --git a/src/connectcurves/param-curve.jl b/src/connectcurves/param-curve.jl index e90092c..828c608 100644 --- a/src/connectcurves/param-curve.jl +++ b/src/connectcurves/param-curve.jl @@ -24,7 +24,7 @@ function deg_Alg(F, dim) end -function compute_param(F) +function compute_param(F; generic=false) varias = gens(parent(first(F))) N = length(varias) diff --git a/src/connectcurves/tools.jl b/src/connectcurves/tools.jl index 9bf0b0b..5e75709 100644 --- a/src/connectcurves/tools.jl +++ b/src/connectcurves/tools.jl @@ -24,4 +24,12 @@ function diff_list(p, v, n) push!(Ldb,derivative(Ldp[end], v)) end return Ldp +end + +function trimat_rand(A, n; up=true, range=-100:100) + if up + return [ i==j ? one(A) : (ij ? A(rand(range)) : zero(A)) for i in 1:3, j in 1:3 ] + end end \ No newline at end of file From f027e45ff5371560c9d8f7358316b9605446e98c Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 5 Aug 2024 21:10:33 +0200 Subject: [PATCH 025/180] maj code connectivity --- Manifest.toml | 335 ++++++------------ Project.toml | 8 +- src/AlgebraicSolving.jl | 7 +- src/connectcurves/param-curve.jl | 79 ----- src/connectivity/Cannytools.jl | 174 +++++++++ .../arbtools.jl | 0 src/{connectcurves => connectivity}/boxes.jl | 0 src/connectivity/computeRM.jl | 80 +++++ .../connectcurves.jl | 49 ++- src/{connectcurves => connectivity}/graph.jl | 0 .../isolate.jl | 4 +- src/connectivity/paramcurve.jl | 153 ++++++++ src/{connectcurves => connectivity}/plots.jl | 0 .../src/resultant/Makefile | 0 .../__pycache__/bresultant.cpython-310.pyc | Bin .../src/resultant/bresultant | Bin .../src/resultant/bresultant.jl | 0 .../src/resultant/bresultant.sage | 0 .../src/resultant/data.c | 0 .../src/resultant/data.h | 0 .../src/resultant/flint_euclide.c | 0 .../src/resultant/flint_resultant.c | 0 .../src/resultant/io.c | 0 .../src/resultant/main.c | 0 .../src/resultant/out.txt | 0 .../src/resultant/ratreconstruct.c | 0 .../src/usolve/usolve | Bin .../src/usolve/usolve.jl | 0 .../subresultants.jl | 0 src/{connectcurves => connectivity}/tools.jl | 0 src/imports.jl | 8 +- 31 files changed, 549 insertions(+), 348 deletions(-) delete mode 100644 src/connectcurves/param-curve.jl create mode 100644 src/connectivity/Cannytools.jl rename src/{connectcurves => connectivity}/arbtools.jl (100%) rename src/{connectcurves => connectivity}/boxes.jl (100%) create mode 100644 src/connectivity/computeRM.jl rename src/{connectcurves => connectivity}/connectcurves.jl (89%) rename src/{connectcurves => connectivity}/graph.jl (100%) rename src/{connectcurves => connectivity}/isolate.jl (73%) create mode 100644 src/connectivity/paramcurve.jl rename src/{connectcurves => connectivity}/plots.jl (100%) rename src/{connectcurves => connectivity}/src/resultant/Makefile (100%) rename src/{connectcurves => connectivity}/src/resultant/__pycache__/bresultant.cpython-310.pyc (100%) rename src/{connectcurves => connectivity}/src/resultant/bresultant (100%) rename src/{connectcurves => connectivity}/src/resultant/bresultant.jl (100%) rename src/{connectcurves => connectivity}/src/resultant/bresultant.sage (100%) rename src/{connectcurves => connectivity}/src/resultant/data.c (100%) rename src/{connectcurves => connectivity}/src/resultant/data.h (100%) rename src/{connectcurves => connectivity}/src/resultant/flint_euclide.c (100%) rename src/{connectcurves => connectivity}/src/resultant/flint_resultant.c (100%) rename src/{connectcurves => connectivity}/src/resultant/io.c (100%) rename src/{connectcurves => connectivity}/src/resultant/main.c (100%) rename src/{connectcurves => connectivity}/src/resultant/out.txt (100%) rename src/{connectcurves => connectivity}/src/resultant/ratreconstruct.c (100%) rename src/{connectcurves => connectivity}/src/usolve/usolve (100%) rename src/{connectcurves => connectivity}/src/usolve/usolve.jl (100%) rename src/{connectcurves => connectivity}/subresultants.jl (100%) rename src/{connectcurves => connectivity}/tools.jl (100%) diff --git a/Manifest.toml b/Manifest.toml index 8800004..34b82dd 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,56 +2,18 @@ julia_version = "1.10.1" manifest_format = "2.0" -project_hash = "7a6e412edf7e0069b27986b55a45575b55f508bb" +project_hash = "41b78713eea3ae65743b4a45ba2e4e27496d5a74" [[deps.AbstractAlgebra]] deps = ["InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] -git-tree-sha1 = "3987905620fb20e5b852446b7cb156eb0f71cb49" +git-tree-sha1 = "82d5966bba732eaf9972d9b2e3e725de7288c9d7" uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" -version = "0.41.4" - -[[deps.Adapt]] -deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "6a55b747d1812e699320963ffde36f1ebdda4099" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "4.0.4" -weakdeps = ["StaticArrays"] - - [deps.Adapt.extensions] - AdaptStaticArraysExt = "StaticArrays" +version = "0.42.0" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.1" -[[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "133a240faec6e074e07c31ee75619c90544179cf" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.10.0" - - [deps.ArrayInterface.extensions] - ArrayInterfaceBandedMatricesExt = "BandedMatrices" - ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" - ArrayInterfaceCUDAExt = "CUDA" - ArrayInterfaceCUDSSExt = "CUDSS" - ArrayInterfaceChainRulesExt = "ChainRules" - ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" - ArrayInterfaceReverseDiffExt = "ReverseDiff" - ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" - ArrayInterfaceTrackerExt = "Tracker" - - [deps.ArrayInterface.weakdeps] - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e" - ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" - GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" @@ -59,15 +21,9 @@ uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[deps.BitFlags]] -git-tree-sha1 = "2dc09997850d68179b69dafb58ae806167a32b1b" +git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.8" - -[[deps.BitTwiddlingConvenienceFunctions]] -deps = ["Static"] -git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" -uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" -version = "0.1.5" +version = "0.1.9" [[deps.Bzip2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -75,35 +31,23 @@ git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" version = "1.0.8+1" -[[deps.CPUSummary]] -deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] -git-tree-sha1 = "601f7e7b3d36f18790e2caf83a882d88e9b71ff1" -uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" -version = "0.2.4" - [[deps.Cairo_jll]] deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "a4c43f59baa34011e303e76f5c8c91bf58415aaf" +git-tree-sha1 = "a2f1c8c668c8e3cb4cca4e57a8efdb09067bb3fd" uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.18.0+1" - -[[deps.CloseOpenIntervals]] -deps = ["Static", "StaticArrayInterface"] -git-tree-sha1 = "70232f82ffaab9dc52585e0dd043b5e0c6b714f1" -uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" -version = "0.1.12" +version = "1.18.0+2" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "59939d8a997469ee05c4b4944560a820f9ba0d73" +git-tree-sha1 = "b8fe8546d52ca154ac556809e10c75e6e7430ac8" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.4" +version = "0.7.5" [[deps.ColorSchemes]] deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] -git-tree-sha1 = "4b270d6465eb21ae89b732182c20dc165f8bf9f2" +git-tree-sha1 = "b5278586822443594ff615963b0c09755771b3e0" uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.25.0" +version = "3.26.0" [[deps.ColorTypes]] deps = ["FixedPointNumbers", "Random"] @@ -125,9 +69,9 @@ version = "0.10.0" [[deps.Colors]] deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] -git-tree-sha1 = "fc08e5930ee9a4e03f84bfb5211cb54e7769758a" +git-tree-sha1 = "362a287c3aa50601b0bc359053d5c2468f0e7ce0" uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.12.10" +version = "0.12.11" [[deps.Compat]] deps = ["TOML", "UUIDs"] @@ -146,21 +90,15 @@ version = "1.1.0+0" [[deps.ConcurrentUtilities]] deps = ["Serialization", "Sockets"] -git-tree-sha1 = "6cbbd4d241d7e6579ab354737f4dd95ca43946e1" +git-tree-sha1 = "ea32b83ca4fefa1768dc84e504cc0a94fb1ab8d1" uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.4.1" +version = "2.4.2" [[deps.Contour]] git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8" uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" version = "0.6.3" -[[deps.CpuId]] -deps = ["Markdown"] -git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" -uuid = "adafc99b-e345-5852-983c-f28acb93d879" -version = "0.3.1" - [[deps.DataAPI]] git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" @@ -176,6 +114,12 @@ version = "0.18.20" deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +[[deps.Dbus_jll]] +deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "fc173b380865f70627d7dd1190dc2fce6cc105af" +uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab" +version = "1.14.10+0" + [[deps.DelimitedFiles]] deps = ["Mmap"] git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" @@ -234,9 +178,9 @@ uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[deps.FixedPointNumbers]] deps = ["Statistics"] -git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" +git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.8.4" +version = "0.8.5" [[deps.Fontconfig_jll]] deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"] @@ -251,9 +195,9 @@ version = "1.3.7" [[deps.FreeType2_jll]] deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "d8db6a5a2fe1381c1ea4ef2cab7c69c2de7f9ea0" +git-tree-sha1 = "5c1d8ae0efc6c2e7b1fc502cbe25def8f661b7bc" uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.13.1+0" +version = "2.13.2+0" [[deps.FriBidi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -262,10 +206,10 @@ uuid = "559328eb-81f9-559d-9380-de523a88c83c" version = "1.0.14+0" [[deps.GLFW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] -git-tree-sha1 = "ff38ba61beff76b8f4acad8ab0c97ef73bb670cb" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll", "libdecor_jll", "xkbcommon_jll"] +git-tree-sha1 = "532f9126ad901533af1d4f5c198867227a7bb077" uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" -version = "3.3.9+0" +version = "3.4.0+1" [[deps.GMP_jll]] deps = ["Artifacts", "Libdl"] @@ -273,16 +217,16 @@ uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" version = "6.2.1+6" [[deps.GR]] -deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Preferences", "Printf", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "p7zip_jll"] -git-tree-sha1 = "ddda044ca260ee324c5fc07edb6d7cf3f0b9c350" +deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Preferences", "Printf", "Qt6Wayland_jll", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "p7zip_jll"] +git-tree-sha1 = "629693584cef594c3f6f99e76e7a7ad17e60e8d5" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.73.5" +version = "0.73.7" [[deps.GR_jll]] deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "278e5e0f820178e8a26df3184fcb2280717c79b1" +git-tree-sha1 = "a8863b69c2a0859f2c2c87ebdc4c6712e88bdf0d" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.73.5+0" +version = "0.73.7+0" [[deps.Gettext_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] @@ -292,9 +236,9 @@ version = "0.21.0+0" [[deps.Glib_jll]] deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "359a1ba2e320790ddbe4ee8b4d54a305c0ea2aff" +git-tree-sha1 = "7c82e6a6cd34e9d935e9aa4051b66c6ff3af59ba" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.80.0+0" +version = "2.80.2+0" [[deps.Graphite2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -319,17 +263,6 @@ git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" version = "2.8.1+1" -[[deps.HostCPUFeatures]] -deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] -git-tree-sha1 = "eb8fed28f4994600e29beef49744639d985a04b2" -uuid = "3e5b6fbb-0976-4d2c-9146-d79de83f2fb0" -version = "0.1.16" - -[[deps.IfElse]] -git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" -uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" -version = "0.1.1" - [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" @@ -394,9 +327,9 @@ version = "1.3.1" [[deps.Latexify]] deps = ["Format", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] -git-tree-sha1 = "e0b5cd21dc1b44ec6e64f351976f961e6f31d6c4" +git-tree-sha1 = "5b0d630f3020b82c0775a51d05895852f8506f50" uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" -version = "0.16.3" +version = "0.16.4" [deps.Latexify.extensions] DataFramesExt = "DataFrames" @@ -406,12 +339,6 @@ version = "0.16.3" DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" -[[deps.LayoutPointers]] -deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "62edfee3211981241b57ff1cedf4d74d79519277" -uuid = "10f19ff3-798f-405d-979b-55457f8fc047" -version = "0.1.15" - [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" @@ -493,9 +420,9 @@ uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[deps.LogExpFunctions]] deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "18144f3e9cbe9b15b070288eef858f71b291ce37" +git-tree-sha1 = "a2d09619db4e765091ee5c6ffe8872849de0feea" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.27" +version = "0.3.28" [deps.LogExpFunctions.extensions] LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" @@ -516,21 +443,6 @@ git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" version = "1.0.3" -[[deps.LoopVectorization]] -deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] -git-tree-sha1 = "8f6786d8b2b3248d79db3ad359ce95382d5a6df8" -uuid = "bdcacae8-1622-11e9-2a5c-532679323890" -version = "0.12.170" - - [deps.LoopVectorization.extensions] - ForwardDiffExt = ["ChainRulesCore", "ForwardDiff"] - SpecialFunctionsExt = "SpecialFunctions" - - [deps.LoopVectorization.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" - [[deps.MPFR_jll]] deps = ["Artifacts", "GMP_jll", "Libdl"] uuid = "3a97d323-0669-5f0c-9066-3539efd106a3" @@ -542,11 +454,6 @@ git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" version = "0.5.13" -[[deps.ManualMemory]] -git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" -uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" -version = "0.1.8" - [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" @@ -588,23 +495,14 @@ version = "1.0.2" [[deps.Nemo]] deps = ["AbstractAlgebra", "FLINT_jll", "Libdl", "LinearAlgebra", "Pkg", "Random", "RandomExtensions", "SHA"] -git-tree-sha1 = "17b059f61e340a3a2e59826c3d182a1184a582d3" +git-tree-sha1 = "df48747041f75651a434a42f1ee1b8bc61f9301a" uuid = "2edaba10-b0f1-5616-af89-8c11ac63239a" -version = "0.45.1" +version = "0.46.0" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" -[[deps.OffsetArrays]] -git-tree-sha1 = "e64b4f5ea6b7389f6f046d13d4896a8f9c1ba71e" -uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.14.0" -weakdeps = ["Adapt"] - - [deps.OffsetArrays.extensions] - OffsetArraysAdaptExt = "Adapt" - [[deps.Ogg_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" @@ -635,9 +533,9 @@ version = "1.4.3" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "3da7367955dcc5c54c1ba4d402ccdc09a1a3e046" +git-tree-sha1 = "a028ee3cb5641cccc4c24e90c36b0a4f7707bdf5" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.13+1" +version = "3.0.14+0" [[deps.Opus_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -655,6 +553,12 @@ deps = ["Artifacts", "Libdl"] uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" version = "10.42.0+1" +[[deps.Pango_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "cb5a2ab6763464ae0f19c86c56c63d4a2b0f5bda" +uuid = "36c8627f-9965-5494-a995-c6b170f724f3" +version = "1.52.2+0" + [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" @@ -679,9 +583,9 @@ version = "1.10.0" [[deps.PlotThemes]] deps = ["PlotUtils", "Statistics"] -git-tree-sha1 = "1f03a2d339f42dca4a4da149c7e15e9b896ad899" +git-tree-sha1 = "6e55c6841ce3411ccb3457ee52fc48cb698d6fb0" uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" -version = "3.1.0" +version = "3.2.0" [[deps.PlotUtils]] deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] @@ -690,10 +594,10 @@ uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" version = "1.4.1" [[deps.Plots]] -deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] -git-tree-sha1 = "442e1e7ac27dd5ff8825c3fa62fbd1e86397974b" +deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "TOML", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] +git-tree-sha1 = "082f0c4b70c202c37784ce4bfbc33c9f437685bf" uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.40.4" +version = "1.40.5" [deps.Plots.extensions] FileIOExt = "FileIO" @@ -709,12 +613,6 @@ version = "1.40.4" ImageInTerminal = "d8c32880-2388-543b-8c61-d9f865259254" Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" -[[deps.PolyesterWeave]] -deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] -git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" -uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" -version = "0.2.1" - [[deps.PrecompileTools]] deps = ["Preferences"] git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" @@ -733,9 +631,27 @@ uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" [[deps.Qt6Base_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Vulkan_Loader_jll", "Xorg_libSM_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_cursor_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "libinput_jll", "xkbcommon_jll"] -git-tree-sha1 = "37b7bb7aabf9a085e0044307e1717436117f2b3b" +git-tree-sha1 = "492601870742dcd38f233b23c3ec629628c1d724" uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" -version = "6.5.3+1" +version = "6.7.1+1" + +[[deps.Qt6Declarative_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6ShaderTools_jll"] +git-tree-sha1 = "e5dd466bf2569fe08c91a2cc29c1003f4797ac3b" +uuid = "629bc702-f1f5-5709-abd5-49b8460ea067" +version = "6.7.1+2" + +[[deps.Qt6ShaderTools_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll"] +git-tree-sha1 = "1a180aeced866700d4bebc3120ea1451201f16bc" +uuid = "ce943373-25bb-56aa-8eca-768745ed7b5a" +version = "6.7.1+1" + +[[deps.Qt6Wayland_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6Declarative_jll"] +git-tree-sha1 = "729927532d48cf79f49070341e1d918a65aba6b0" +uuid = "e99dba38-086e-5de3-a5b1-6e4c66e897c3" +version = "6.7.1+1" [[deps.REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] @@ -784,17 +700,6 @@ version = "1.3.0" uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" version = "0.7.0" -[[deps.SIMDTypes]] -git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" -uuid = "94e857df-77ce-4151-89e5-788b33177be4" -version = "0.1.0" - -[[deps.SLEEFPirates]] -deps = ["IfElse", "Static", "VectorizationBase"] -git-tree-sha1 = "3aac6d68c5e57449f5b9b865c9ba50ac2970c4cf" -uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" -version = "0.6.42" - [[deps.Scratch]] deps = ["Dates"] git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" @@ -829,28 +734,11 @@ deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" version = "1.10.0" -[[deps.Static]] -deps = ["IfElse"] -git-tree-sha1 = "d2fdac9ff3906e27f7a618d47b676941baa6c80c" -uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.8.10" - -[[deps.StaticArrayInterface]] -deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] -git-tree-sha1 = "5d66818a39bb04bf328e92bc933ec5b4ee88e436" -uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.5.0" -weakdeps = ["OffsetArrays", "StaticArrays"] - - [deps.StaticArrayInterface.extensions] - StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" - StaticArrayInterfaceStaticArraysExt = "StaticArrays" - [[deps.StaticArrays]] deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "bf074c045d3d5ffd956fa0a461da38a44685d6b2" +git-tree-sha1 = "eeafab08ae20c62c44c8399ccb9354a04b80db50" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.3" +version = "1.9.7" [deps.StaticArrays.extensions] StaticArraysChainRulesCoreExt = "ChainRulesCore" @@ -861,9 +749,9 @@ version = "1.9.3" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" [[deps.StaticArraysCore]] -git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" +git-tree-sha1 = "192954ef1208c7019899fbf8049e717f92959682" uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.2" +version = "1.4.3" [[deps.Statistics]] deps = ["LinearAlgebra", "SparseArrays"] @@ -882,10 +770,6 @@ git-tree-sha1 = "5cf7606d6cef84b543b483848d4ae08ad9832b21" uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" version = "0.34.3" -[[deps.SuiteSparse]] -deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] -uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" - [[deps.SuiteSparse_jll]] deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" @@ -911,16 +795,10 @@ version = "0.1.1" deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -[[deps.ThreadingUtilities]] -deps = ["ManualMemory"] -git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" -uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" -version = "0.5.2" - [[deps.TranscodingStreams]] -git-tree-sha1 = "5d54d076465da49d6746c647022f3b3674e64156" +git-tree-sha1 = "96612ac5365777520c3c5396314c8cf7408f436a" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.10.8" +version = "0.11.1" weakdeps = ["Random", "Test"] [deps.TranscodingStreams.extensions] @@ -935,11 +813,6 @@ version = "1.5.1" deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" -[[deps.UnPack]] -git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "1.0.2" - [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" @@ -951,9 +824,9 @@ version = "0.4.1" [[deps.Unitful]] deps = ["Dates", "LinearAlgebra", "Random"] -git-tree-sha1 = "3c793be6df9dd77a0cf49d80984ef9ff996948fa" +git-tree-sha1 = "d95fe458f26209c66a187b1114df96fd70839efd" uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.19.0" +version = "1.21.0" [deps.Unitful.extensions] ConstructionBaseUnitfulExt = "ConstructionBase" @@ -965,21 +838,15 @@ version = "1.19.0" [[deps.UnitfulLatexify]] deps = ["LaTeXStrings", "Latexify", "Unitful"] -git-tree-sha1 = "e2d817cc500e960fdbafcf988ac8436ba3208bfd" +git-tree-sha1 = "975c354fcd5f7e1ddcc1f1a23e6e091d99e99bc8" uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728" -version = "1.6.3" +version = "1.6.4" [[deps.Unzip]] git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" version = "0.2.0" -[[deps.VectorizationBase]] -deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "6129a4faf6242e7c3581116fbe3270f3ab17c90d" -uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" -version = "0.21.67" - [[deps.Vulkan_Loader_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Wayland_jll", "Xorg_libX11_jll", "Xorg_libXrandr_jll", "xkbcommon_jll"] git-tree-sha1 = "2f0486047a07670caad3a81a075d2e518acc5c59" @@ -1000,15 +867,15 @@ version = "1.31.0+0" [[deps.XML2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "532e22cf7be8462035d092ff21fada7527e2c488" +git-tree-sha1 = "d9717ce3518dc68a99e6b96300813760d887a01d" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.12.6+0" +version = "2.13.1+0" [[deps.XSLT_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "a54ee957f4c86b526460a720dbc882fa5edcbefc" uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.34+0" +version = "1.1.41+0" [[deps.XZ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1096,9 +963,9 @@ version = "0.1.1+0" [[deps.Xorg_libxcb_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "b4bfde5d5b652e22b9c790ad00af08b6d042b97d" +git-tree-sha1 = "bcd466676fef0878338c61e655629fa7bbc69d8e" uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.15.0+0" +version = "1.17.0+0" [[deps.Xorg_libxkbfile_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] @@ -1190,10 +1057,10 @@ uuid = "1a1c6b14-54f6-533d-8383-74cd7377aa70" version = "3.1.1+0" [[deps.libaom_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1827acba325fdcdf1d2647fc8d5301dd9ba43a9d" uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" -version = "3.4.0+0" +version = "3.9.0+0" [[deps.libass_jll]] deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] @@ -1206,6 +1073,12 @@ deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" version = "5.8.0+1" +[[deps.libdecor_jll]] +deps = ["Artifacts", "Dbus_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pango_jll", "Wayland_jll", "xkbcommon_jll"] +git-tree-sha1 = "9bf7903af251d2050b467f76bdbe57ce541f7f4f" +uuid = "1183f4f0-6f2a-5f1a-908b-139f9cdfea6f" +version = "0.2.2+0" + [[deps.libevdev_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "141fe65dc3efabb0b1d5ba74e91f6ad26f84cc22" @@ -1232,15 +1105,15 @@ version = "1.6.43+1" [[deps.libvorbis_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] -git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" +git-tree-sha1 = "490376214c4721cdaca654041f635213c6165cb3" uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.7+1" +version = "1.3.7+2" [[deps.msolve_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "FLINT_jll", "GMP_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl", "MPFR_jll"] -git-tree-sha1 = "00d6ebe337ec3935bf6a356f6c6060933c8b73e8" +git-tree-sha1 = "b2e3c462bc0587672d3137d657a491c7b06751ea" uuid = "6d01cc9a-e8f6-580e-8c54-544227e08205" -version = "0.600.501+0" +version = "0.700.100+0" [[deps.mtdev_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] diff --git a/Project.toml b/Project.toml index 64fc080..18d20c8 100644 --- a/Project.toml +++ b/Project.toml @@ -1,13 +1,12 @@ name = "AlgebraicSolving" uuid = "66b61cbe-0446-4d5d-9090-1ff510639f9d" authors = ["ederc ", "Mohab Safey El Din "] -version = "0.4.15" +version = "0.6.0" [deps] Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" -LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" @@ -20,12 +19,11 @@ msolve_jll = "6d01cc9a-e8f6-580e-8c54-544227e08205" [compat] LinearAlgebra = "1.6" Logging = "1.6" -LoopVectorization = "0.12" Markdown = "1.6" -Nemo = "0.43, 0.44, 0.45" +Nemo = "0.43, 0.44, 0.45, 0.46" Printf = "1.6" Random = "1.6" StaticArrays = "1" Test = "1.6" julia = "1.6" -msolve_jll = "0.600.501" +msolve_jll = "0.700.100" diff --git a/src/AlgebraicSolving.jl b/src/AlgebraicSolving.jl index 0ff4474..ba4f00f 100644 --- a/src/AlgebraicSolving.jl +++ b/src/AlgebraicSolving.jl @@ -14,9 +14,12 @@ include("algorithms/normal-forms.jl") include("algorithms/solvers.jl") #= siggb =# include("siggb/siggb.jl") -#= Connectivity on alg. curves=# -include("connectcurves/connectcurves.jl") +#= connectivity =# +include("connectivity/computeRM.jl") +include("connectivity/paramcurve.jl") +include("connectivity/connectcurves.jl") #= examples =# include("examples/katsura.jl") include("examples/cyclic.jl") + end # module AlgebraicSolving diff --git a/src/connectcurves/param-curve.jl b/src/connectcurves/param-curve.jl deleted file mode 100644 index 828c608..0000000 --- a/src/connectcurves/param-curve.jl +++ /dev/null @@ -1,79 +0,0 @@ - -function repl_ind(L,i,x) - # replace by element x at index i - return [ L[1:i-1]; x; L[i+1:end] ] -end - -function rem_var(f, i, A) - CE = [collect(coefficients(f)), collect(exponent_vectors(f))] - CE[2] = [ rem_ind(e, i) for e in CE[2]] - return array_to_poly(CE, A) -end - -function deg_Alg(F, dim) - # Compute the degree of the the alg set of dimension dim - # defined by F - if dim <= 0 - r = rational_parametrization(AlgebraicSolving.Ideal(F)) - else - vars = gens(parent(first(F))) - planes = [ sum([ rand(-100:100)*v for v in vcat(vars,1) ]) for _ in 1:dim] - r = rational_parametrization(AlgebraicSolving.Ideal(vcat(F,planes))) - end - return degree(r.elim) -end - - -function compute_param(F; generic=false) - varias = gens(parent(first(F))) - N = length(varias) - - if N == 2 - return F - end - - DEG = deg_Alg(F,1) - if deg_Alg(vcat(F,varias[N-1]-rand(-100:100)),0) != DEG - error("The curve is not in generic position") - end - - PARAM = [] - rr = 0 - _values, i = [], 1 - A, (s,t) = polynomial_ring(QQ,[:s,:t]) - while length(_values) < DEG+2 - try - Feval = [ evaluate(f, repl_ind(varias, N-1, QQ(i))) for f in F ] - Feval = [ rem_var(f, N-1, A) for f in Feval ] - r = rational_parametrization(AlgebraicSolving.Ideal(Feval)) - #ivev = findfirst(t->t==R.S[end-1],r.vars) - lc = leading_coefficient(r.elim) - rr = [ p/lc for p in vcat(r.elim,r.param) ] - push!(PARAM, rr) - push!(_values, QQ(i)) - i+=1 - catch - error("bad specialization choice") - end - end - - CURVEPARAM = [] - - T, (x1,x2) = polynomial_ring(QQ, [:x1,:x2]) - - for count in 1:N-1 - COEFFS = [] - for deg in 0:DEG - _evals = [ coeff(PARAM[i][count],deg) for i in 1:length(PARAM)] - S, u = polynomial_ring(QQ,"u") - push!(COEFFS, interpolate(S, map(QQ,_values[1:length(PARAM)]), _evals)) - end - - C = [ collect(coefficients(c)) for c in COEFFS ] - POL = sum([ C[i][j]*x1^(j-1)*x2^(i-1) for i in 1:length(C) for j in 1:length(C[i])]) - - push!(CURVEPARAM, POL) - end - - return CURVEPARAM -end diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl new file mode 100644 index 0000000..6de2262 --- /dev/null +++ b/src/connectivity/Cannytools.jl @@ -0,0 +1,174 @@ + +function remfirstvars(F::Vector{P}, irem) where {P <: MPolyRingElem} + R = parent(first(F)) + istart = irem+1 + S, vars = polynomial_ring(base_ring(R), ["x$i" for i in istart:nvars(R)]) + res = typeof(first(F))[] + for f in F + ctx = MPolyBuildCtx(S) + for (e, c) in zip(exponent_vectors(f), coefficients(f)) + @assert(all([ e[i]==0 for i in 1:irem ]), "Occurence of first variable.s found!") + push_term!(ctx, c, e[istart:end]) + end + push!(res, finish(ctx)) + end + return res +end + +function remvars(F::Vector{P}; irem::Vector{Int64}) where {P <: MPolyRingElem} + R = parent(first(F)) + ikeep = [ i for i in 1:nvars(R) if !(i in irem) ] + S, vars = polynomial_ring(base_ring(R), ["x$i" for i in ikeep]) + res = typeof(first(F))[] + for f in F + ctx = MPolyBuildCtx(S) + for (e, c) in zip(exponent_vectors(f), coefficients(f)) + @assert(all([ e[i]==0 for i in irem ]), "Occurence of removed variable.s found!") + push_term!(ctx, c, [ e[i] for i in ikeep ]) + end + push!(res, finish(ctx)) + end + return res +end + +function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0) + # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj + @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" + R = parent(V) + n, hV = R.nvars, V.gens + c = n - dimV + + JW = [ derivative(f, k) for k=j+1:n, f in hV ] + sizeminors = c + dimproj - (j-1) + hW = vcat(hV, compute_minors(sizeminors, JW, R)) + output_functions = Dict( + "minors" => x -> x, + "groebner" => x -> groebner_basis(x, info_level=verb), + "real" => x -> real_solutions(x, info_level=verb), + "interval" => x -> real_solutions(x, interval=true, info_level=verb), + #"interval" => x -> inter_solutions(x, info_level=verb), + "parametric" => x -> rational_parametrization(x, info_level=verb) + ) + + return output_functions[output](AlgebraicSolving.Ideal(hW)) +end + +function compute_minors(p, A, R) + #Computes the p-minors of a matrix A + n, m = size(A) + rowsmins = collect(combinations(1:n, p)) + colsmins = collect(combinations(1:m, p)) + mins = Vector{eltype(A)}(undef, length(rowsmins) * length(colsmins)) + k = 1 + for rowsmin in rowsmins + for colsmin in colsmins + mins[k] = detmpoly(A[rowsmin, colsmin], R) + k += 1 + end + end + + return mins +end + +function combinations(a, n) + # Helper function to recursively generate combinations + function _combinations(a, n, start, chosen) + if length(chosen) == n + return [chosen] + elseif start > length(a) + return [] + else + # Include the current element and recurse + include_current = _combinations(a, n, start + 1, [chosen; a[start]]) + # Exclude the current element and recurse + exclude_current = _combinations(a, n, start + 1, chosen) + return vcat(include_current, exclude_current) + end + end + return _combinations(a, n, 1, []) +end + +function detmpoly(A::Matrix{QQMPolyRingElem}, R) + # Get the size of the matrix + n = size(A, 1) + if n != size(A, 2) + throw(ArgumentError("Matrix must be square")) + end + + if n == 1 + return A[1, 1] + end + + # Initialize the determinant polynomial + detA = QQMPolyRingElem(R,0) + + # Compute the determinant polynomial + for j = 1:n + submatrix = A[2:end, [i for i = 1:n if i != j]] + detA += (-1)^(1+j)*A[1, j] * detmpoly(submatrix, R) + end + + return detA +end + +function contfrac_convergents(x::Rational{Int}) + q = Rational{Int}[] + fpart, ipart = modf(x) + push!(q, ipart) + na, da, nb, db = Int(1), Int(0), Int(ipart), Int(1) + while true + fpart == 0 && return q + x = inv(fpart) + fpart, ipart = modf(x) + na, da, nb, db = nb, db, na+ipart*nb, da+ipart*db + push!(q, nb//db) + end +end + +function modfQQ(x::QQFieldElem) + ipart, fpart = [ f(numerator(x), denominator(x)) for f in [div, rem]] + return QQFieldElem(fpart, denominator(x)), ipart +end + +function small_mid_point(a::QQFieldElem,b::QQFieldElem) + a == b && return a + if b < a + a, b = b, a + end + x = (a+b)/ QQFieldElem(2) + fpart, ipart = modfQQ(x) + println("\n",fpart," , ", ipart) + q1, q2 = QQFieldElem(1//0), QQFieldElem(ipart,1) + while true + #println("(",q1," ; ",q2,")") + if numerator(fpart) == 0 || (q2 > a && q2 < b) + return q2 + end + x = inv(fpart) + fpart, ipart = modfQQ(x) + println(fpart," , ", ipart) + q1, q2 = q2, QQFieldElem(numerator(q1) + ipart*numerator(q2), denominator(q1) + ipart*denominator(q2)) + end +end + +function MidRationalPoints(S::Vector{Vector{QQFieldElem}}) + # S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] + # such that the [l_i, r_i] are rational and disjoint open intervals. + # + # It orders the [l_i,r_i] and computes the simplest + # rational points between these intervals. + n = length(S) + if n==0 + return Vector{QQFieldElem}(undef, 0) + end + S1 = sort(S, lt=(x, y) -> x[2] <= y[1]) + ratioP = Vector{QQFieldElem}(undef, n-1) + for i in 1:(n- 1) + ri, li1 = S1[i][2], S1[i+1][1] + @assert ri < li1 "The intervals are not disjoint." + #ratioP[i] = small_mid_point(ri, li1) + ratioP[i] = simplest_between(ri, li1) + end + return ratioP +end + diff --git a/src/connectcurves/arbtools.jl b/src/connectivity/arbtools.jl similarity index 100% rename from src/connectcurves/arbtools.jl rename to src/connectivity/arbtools.jl diff --git a/src/connectcurves/boxes.jl b/src/connectivity/boxes.jl similarity index 100% rename from src/connectcurves/boxes.jl rename to src/connectivity/boxes.jl diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl new file mode 100644 index 0000000..1cb7963 --- /dev/null +++ b/src/connectivity/computeRM.jl @@ -0,0 +1,80 @@ +#using Pkg +#Pkg.activate("AlgebraicSolving.jl") +#using Revise +#using AlgebraicSolving +#using Nemo + +export computeRM + +include("Cannytools.jl") + +function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{Vector{QQFieldElem}}([[]]) ) + # V is a variety of dimension dimV + # Q are base points with rational coefficients + # C are query points with rational coefficients + + A = parent(V) + varias, nvarias = gens(A), nvars(A) + hV = V.gens + #println(Q) + e = length(first(Q)) + fixvarias, newvarias = varias[1:e], varias[e+1:nvarias] + + R = Vector{AlgebraicSolving.Ideal{QQMPolyRingElem}}(undef,0) + + for q in Q + ## Fq ## + if e > 0 + hFq = remfirstvars([evaluate(h, fixvarias, q) for h in V.gens], e) + Fq = AlgebraicSolving.Ideal(hFq) + else + Fq = V + end + + if dimV - e <= 1 + push!(R, AlgebraicSolving.Ideal(vcat(Fq.gens, [fixvarias[j] - q[j] for j in 1:e]))) + + else + ## sing(Fq) ## + #println("Compute first the singular points") + singFq = computepolarproj(0, Fq, dimV-e, newvarias, output="real", verb=0) + @assert(length(singFq)==0, "Non-emtpy real sing locus!") + #@assert(degree(singFq.elim)==0, "Non-emtpy sing locus!") + + ## K(pi_1,Fq) ## + K1Fq = computepolarproj(1, Fq, dimV-e, newvarias, output="interval", verb=0) + + ## K(pi_2, Fq) ## + K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors") + push!(R, AlgebraicSolving.Ideal(vcat(K2Fq.gens, [fixvarias[j] - q[j] for j in 1:e]))) + + ## Points with vertical tg in K(pi_2, Fq) ## + K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=0) + + ## New base points ## + K1W = vcat(K1Fq, K1WmFq) + K1WRat = MidRationalPoints(getindex.(K1W,1)) + newQ = [ vcat(q, [kv]) for kv in K1WRat ] + + RFq = computeRM(V, dimV, newQ) + + R = vcat(R, RFq) + end + end + + return R +end + +#= +## Test ## +R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) +#h = x1^2+x2^2+x3^2+x4^2-1 +h = (x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2) +h = evaluate(h,[x1,x2,x3],[x1+rand(-10:10)*x2+rand(-10:10)*x3+rand(-10:10)*x4,x2+rand(-10:10)*x3+rand(-10:10)*x4,x3+rand(-10:10)*x4]) +V = AlgebraicSolving.Ideal([h]) + +carte = (computeRM(V, 3, [Vector{QQFieldElem}(undef,0)])) +#println(carte) +=# + + diff --git a/src/connectcurves/connectcurves.jl b/src/connectivity/connectcurves.jl similarity index 89% rename from src/connectcurves/connectcurves.jl rename to src/connectivity/connectcurves.jl index 92fe951..b25379d 100644 --- a/src/connectcurves/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -13,18 +13,18 @@ include("boxes.jl") include("graph.jl") include("plots.jl") include("arbtools.jl") -include("param-curve.jl") function compute_graph(F; param=false, generic=false, precx=150, v=0, arb=false) - if !(param) println("Compute rational parametrization...") @time begin - Fparam = compute_param(F, generic=generic) + Fparam = compute_param(F)[3] end + else + Fparam = F[1] end - return compute_graph_param(Fparam[1], generic=generic, precx=precx, v=v, arb=arb) + return compute_graph_param(Fparam, generic=generic, precx=precx, v=v, arb=arb) end function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) @@ -32,7 +32,6 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) println("!! Careful: this is a WIP version !!") println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") -@time begin R = parent(f) x, y = gens(R) # Generic change of variables @@ -79,7 +78,7 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) else println("\nCompute critical boxes with msolve with precision ", precx,"..") @time begin - LBcrit = [ sort(inter_solutions(AlgebraicSolving.Ideal([p[1], p[3]*y-p[2]]), precision=precx),by=t->t[1]) for p in params ] + LBcrit = [ sort(real_solutions(AlgebraicSolving.Ideal([p[1], p[3]*y-p[2]]), precision=precx, interval=true),by=t->t[1]) for p in params ] xcrit = [ [ B[1] for B in lbcrit ] for lbcrit in LBcrit ] xcritpermut = order_permut2d(xcrit); end @@ -96,7 +95,6 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) # and change into npcside = [0,0,2,2] ## TODO : Refine only the intervals that need to be refined println("\nCompute intersections with critical boxes..") - @time begin LPCside = Array{Any}(undef,length(LBcrit)) ndig = maximum([Int(floor(log10(length(LB)))) for LB in LBcrit]) for i in eachindex(LBcrit) @@ -167,7 +165,6 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) end end end - end println("Graph computation") # Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot @@ -236,23 +233,25 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) ########################### # The critical point ########################## - # if it is an isolated point - if isempty(nI[1]) && isempty(nI[2]) - #pass - # We can add the isolated vertex - # push!(Vert, Pcrit[i][j]) - # push!(Corr[i][j][2][1], length(Vert)) - # We will subsequently add the vertex in the graph - # push!(Viso, length(Vert)) - ############################################ - ## TO BE REPLACED BY APPSING IDENTIFICATOR ## - ## works for space curves without nodes ## - ############################################ # If we are dealing with a node - elseif i == 2 - # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 - push!(Edg, [Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]]]) - push!(Edg, [Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]]]) + if i == 2 + # if it is an isolated point + if isempty(nI[1]) && isempty(nI[2]) + #pass + # We can add the isolated vertex + # push!(Vert, [xcmid, ycmid]) + # push!(Corr[i][j][2][1], length(Vert)) + # We will subsequently add the vertex in the graph + # push!(Viso, length(Vert)) + ############################################ + ## TO BE REPLACED BY APPSING IDENTIFICATOR ## + ## works for space curves without nodes ## + ############################################ + else + # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 + push!(Edg, [Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]]]) + push!(Edg, [Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]]]) + end else # We can add the vertex push!(Vert, [xcmid, ycmid]) @@ -274,7 +273,6 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) push!(Edg, [Corr[i][j][1][end - k + 1], length(Vert)]) # left push!(Edg, [length(Vert), Corr[i][j][3][end - k + 1]]) # right end - end #EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg] #plot_graph(Vert, EdgPlot) @@ -285,7 +283,6 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) if !(generic) Vert = [ changemat*v for v in Vert ] end -println("Total time:") end return Vert, Edg end diff --git a/src/connectcurves/graph.jl b/src/connectivity/graph.jl similarity index 100% rename from src/connectcurves/graph.jl rename to src/connectivity/graph.jl diff --git a/src/connectcurves/isolate.jl b/src/connectivity/isolate.jl similarity index 73% rename from src/connectcurves/isolate.jl rename to src/connectivity/isolate.jl index 414967e..4dce6ca 100644 --- a/src/connectcurves/isolate.jl +++ b/src/connectivity/isolate.jl @@ -7,7 +7,7 @@ function isolate(f; prec = 32, software="msolve") return getindex.(usolve(f, precision = prec, uspath="src/usolve/usolve"),2) else fvar = vars(f)[1] - sols = inter_solutions(Ideal(vcat([f], [ t for t in gens(parent(f)) if t!=fvar ])), precision=prec) + sols = real_solutions(Ideal(vcat([f], [ t for t in gens(parent(f)) if t!=fvar ])), precision=prec, interval=true) return getindex.(sols, var_index(fvar)) end end @@ -16,6 +16,6 @@ function isolate_eval(f, ivar, val; prec=64) # univariate isolation of roots of a bivariate polynomial f # whose ivar-th variable is evaluated at val # uses msolve - sols = inter_solutions(Ideal([f, gens(parent(f))[ivar] - val]), precision=prec) + sols = real_solutions(Ideal([f, gens(parent(f))[ivar] - val]), precision=prec, interval=true) return [ s[ivar%2+1] for s in sols ] end \ No newline at end of file diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl new file mode 100644 index 0000000..f71da3f --- /dev/null +++ b/src/connectivity/paramcurve.jl @@ -0,0 +1,153 @@ +#println("Loading libraries and data..") +#using Pkg +#using Revise +#Pkg.activate("AlgebraicSolving.jl-official") +#using AlgebraicSolving +#import Nemo: coefficients, exponent_vectors, coeff, interpolate, MPolyBuildCtx, push_term!, finish, gens + +export compute_param + +function rem_var(f, i) + # Remove the occurence of the ith variable + R = parent(f) + A, Avars = polynomial_ring(base_ring(R), rem_ind(R.S, i)) + CE = [collect(coefficients(f)), collect(exponent_vectors(f))] + CE[2] = [ rem_ind(e, i) for e in CE[2]] + + # Reconstruct the polynomial in the ring A + C = MPolyBuildCtx(A) + R = base_ring(A) + for i in eachindex(CE[1]) + push_term!(C, R(CE[1][i]), CE[2][i]); + end + return finish(C) +end + +function rem_ind(L,i::Int) + # remove element at index i + return [ L[1:i-1]; L[i+1:end] ] +end + +function deg_Alg(F, dim) + if dim <= 0 + r = rational_parametrization(Ideal(F)) + else + varias = gens(parent(first(F))) + planes = [ sum([ rand(-100:100)*v for v in vcat(varias,1) ]) for _ in 1:dim] + r = rational_parametrization(Ideal(vcat(F,planes))) + end + return degree(r.elim) +end + + +function compute_param(F) + R = parent(first(F)) + varias, N = gens(R), nvars(R) + + # Identification of two generic variables for the parametrization") + ivarias_gen = Vector{Int}(undef,0) + DEG = deg_Alg(F,1) + ind = N + while true + NEW_DEG = deg_Alg(vcat(F, varias[ind]-rand(-100:100)), 0) + if NEW_DEG == DEG + push!(ivarias_gen, ind) + end + (length(ivarias_gen) < 2 && ind > 0) || break + ind -= 1 + end + reverse!(ivarias_gen) + nb_lf = 2-length(ivarias_gen) + + if ivarias_gen != [N-1,N] + # Add new generic variables at the end if necessary + newvarias_S = [R.S[i] for i in vcat(setdiff(1:N, ivarias_gen), ivarias_gen)] + append!(newvarias_S, [:A,:B][nb_lf:-1:1] ) + + # We change the polynomial ring and add linear form(s) if necessary + Rold, Nold = R, N + R, varias = polynomial_ring(base_ring(Rold), newvarias_S) + N = length(varias) + + index_permut = Dict((v, i) for (i, v) in enumerate(newvarias_S)) + permut_varias = [ index_permut[v] for v in Rold.S ] + # TODO: permut exponents and use polynomial constructor + F = [ evaluate(f, [ varias[permut_varias[i]] for i in 1:Nold ]) for f in F ] + + if nb_lf > 0 + lf_cfs = [ rand(ZZ(-100):ZZ(100), N) for _ in 1:nb_lf] + append!(F, [ transpose(lf)*varias for lf in lf_cfs ]) + else + lf_cfs = Vector{Vector{ZZRingElem}}(undef,0) + end + else + lf_cfs = Vector{Vector{ZZRingElem}}(undef,0) + end + + # Compute DEG+1 evaluations of the param (whose deg is bounded by DEG) + PARAM = Vector{Vector{AlgebraicSolving.QQPolyRingElem}}(undef,0) + _values = Vector{QQFieldElem}(undef,0) + i = 1 + while length(_values) < DEG+2 + if i > 2*(DEG+2) + error("Too many bad specializations") + end + + #try + Feval = [ evaluate(f, [N-1], [QQ(i)]) for f in F ] + Feval = [ rem_var(f, N-1) for f in Feval ] + r = rational_parametrization(Ideal(Feval)) + # For lifting: the same variable must be chosen for the param + if r.vars == rem_ind(R.S, N-1) + lc = leading_coefficient(r.elim) + # TODO: why dividing by lc ? + rr = [ p/lc for p in vcat(r.elim, r.denom, r.param) ] + push!(PARAM, rr) + push!(_values, QQ(i)) + else + println("bad specialization: ", i) + end + #catch + # error("bad specialization: ", i) + #end + i += 1 + end + + # Interpolate each coefficient of each poly in the param + POLY_PARAM = Vector{QQMPolyRingElem}(undef,0) + T, (x,y) = polynomial_ring(QQ, [:x,:y]) + for count in 1:N + COEFFS = [] + for deg in 0:DEG + _evals = [ coeff(PARAM[i][count], deg) for i in 1:length(PARAM)] + push!(COEFFS, interpolate(polynomial_ring(QQ,"u")[1], _values, _evals)) + end + + C = [ collect(coefficients(c)) for c in COEFFS ] + POL_term = [C[i][j]*x^(j-1)*y^(i-1) for i in 1:length(C) for j in 1:length(C[i])] + POL = length(POL_term) > 0 ? sum(POL_term) : T(0) + + push!(POLY_PARAM, POL) + end + + return [R.S, lf_cfs, POLY_PARAM[1], POLY_PARAM[2], POLY_PARAM[3:end]] +end + +#= +# Tests +R, (a,b,c) = polynomial_ring(QQ, [:a,:b,:c]) +F = [-62*a^2-24*a*b+83*a*c-46*b^2-45*b*c+16*c^2+13*a-65*b-84*c-19, +92*a^2-a*b+39*a*c-16*b^2+61*b*c+78*c^2+17*a+49*b-97*c-56 +] + +R, (x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) +F = [ +x1^4 - 12*x1^3*x2 - 40*x1^3*x3 + 12*x1^3*x4 + 56*x1^2*x2^2 + 320*x1^2*x2*x3 - 148*x1^2*x2*x4 + 802*x1^2*x3^2 + 56*x1^2*x3*x4 + 288*x1^2*x4^2 - 20*x1^2 - 120*x1*x2^3 - 880*x1*x2^2*x3 + 576*x1*x2^2*x4 - 4012*x1*x2*x3^2 + 224*x1*x2*x3*x4 - 1968*x1*x2*x4^2 + 120*x1*x2 - 8040*x1*x3^3 - 3508*x1*x3^2*x4 - 3264*x1*x3*x4^2 + 400*x1*x3 + 1512*x1*x4^3 - 120*x1*x4 + 100*x2^4 + 800*x2^3*x3 - 760*x2^3*x4 + 5620*x2^2*x3^2 - 80*x2^2*x3*x4 + 3964*x2^2*x4^2 - 200*x2^2 + 16080*x2*x3^3 - 3436*x2*x3^2*x4 - 1168*x2*x3*x4^2 - 800*x2*x3 - 9576*x2*x4^3 + 760*x2*x4 + 40401*x3^4 + 59496*x3^3*x4 + 72556*x3^2*x4^2 - 4020*x3^2 + 37296*x3*x4^3 - 2960*x3*x4 + 15876*x4^4 - 2484*x4^2 + 64, + -40*x1^3 + 320*x1^2*x2 + 1604*x1^2*x3 + 56*x1^2*x4 - 880*x1*x2^2 - 8024*x1*x2*x3 + 224*x1*x2*x4 - 24120*x1*x3^2 - 7016*x1*x3*x4 - 3264*x1*x4^2 + 400*x1 + 800*x2^3 + 11240*x2^2*x3 - 80*x2^2*x4 + 48240*x2*x3^2 - 6872*x2*x3*x4 - 1168*x2*x4^2 - 800*x2 + 161604*x3^3 + 178488*x3^2*x4 + 145112*x3*x4^2 - 8040*x3 + 37296*x4^3 - 2960*x4, + 12*x1^3 - 148*x1^2*x2 + 56*x1^2*x3 + 576*x1^2*x4 + 576*x1*x2^2 + 224*x1*x2*x3 - 3936*x1*x2*x4 - 3508*x1*x3^2 - 6528*x1*x3*x4 + 4536*x1*x4^2 - 120*x1 - 760*x2^3 - 80*x2^2*x3 + 7928*x2^2*x4 - 3436*x2*x3^2 - 2336*x2*x3*x4 - 28728*x2*x4^2 + 760*x2 + 59496*x3^3 + 145112*x3^2*x4 + 111888*x3*x4^2 - 2960*x3 + 63504*x4^3 - 4968*x4 + ] + + @time begin + compute_param(F) + end +=# diff --git a/src/connectcurves/plots.jl b/src/connectivity/plots.jl similarity index 100% rename from src/connectcurves/plots.jl rename to src/connectivity/plots.jl diff --git a/src/connectcurves/src/resultant/Makefile b/src/connectivity/src/resultant/Makefile similarity index 100% rename from src/connectcurves/src/resultant/Makefile rename to src/connectivity/src/resultant/Makefile diff --git a/src/connectcurves/src/resultant/__pycache__/bresultant.cpython-310.pyc b/src/connectivity/src/resultant/__pycache__/bresultant.cpython-310.pyc similarity index 100% rename from src/connectcurves/src/resultant/__pycache__/bresultant.cpython-310.pyc rename to src/connectivity/src/resultant/__pycache__/bresultant.cpython-310.pyc diff --git a/src/connectcurves/src/resultant/bresultant b/src/connectivity/src/resultant/bresultant similarity index 100% rename from src/connectcurves/src/resultant/bresultant rename to src/connectivity/src/resultant/bresultant diff --git a/src/connectcurves/src/resultant/bresultant.jl b/src/connectivity/src/resultant/bresultant.jl similarity index 100% rename from src/connectcurves/src/resultant/bresultant.jl rename to src/connectivity/src/resultant/bresultant.jl diff --git a/src/connectcurves/src/resultant/bresultant.sage b/src/connectivity/src/resultant/bresultant.sage similarity index 100% rename from src/connectcurves/src/resultant/bresultant.sage rename to src/connectivity/src/resultant/bresultant.sage diff --git a/src/connectcurves/src/resultant/data.c b/src/connectivity/src/resultant/data.c similarity index 100% rename from src/connectcurves/src/resultant/data.c rename to src/connectivity/src/resultant/data.c diff --git a/src/connectcurves/src/resultant/data.h b/src/connectivity/src/resultant/data.h similarity index 100% rename from src/connectcurves/src/resultant/data.h rename to src/connectivity/src/resultant/data.h diff --git a/src/connectcurves/src/resultant/flint_euclide.c b/src/connectivity/src/resultant/flint_euclide.c similarity index 100% rename from src/connectcurves/src/resultant/flint_euclide.c rename to src/connectivity/src/resultant/flint_euclide.c diff --git a/src/connectcurves/src/resultant/flint_resultant.c b/src/connectivity/src/resultant/flint_resultant.c similarity index 100% rename from src/connectcurves/src/resultant/flint_resultant.c rename to src/connectivity/src/resultant/flint_resultant.c diff --git a/src/connectcurves/src/resultant/io.c b/src/connectivity/src/resultant/io.c similarity index 100% rename from src/connectcurves/src/resultant/io.c rename to src/connectivity/src/resultant/io.c diff --git a/src/connectcurves/src/resultant/main.c b/src/connectivity/src/resultant/main.c similarity index 100% rename from src/connectcurves/src/resultant/main.c rename to src/connectivity/src/resultant/main.c diff --git a/src/connectcurves/src/resultant/out.txt b/src/connectivity/src/resultant/out.txt similarity index 100% rename from src/connectcurves/src/resultant/out.txt rename to src/connectivity/src/resultant/out.txt diff --git a/src/connectcurves/src/resultant/ratreconstruct.c b/src/connectivity/src/resultant/ratreconstruct.c similarity index 100% rename from src/connectcurves/src/resultant/ratreconstruct.c rename to src/connectivity/src/resultant/ratreconstruct.c diff --git a/src/connectcurves/src/usolve/usolve b/src/connectivity/src/usolve/usolve similarity index 100% rename from src/connectcurves/src/usolve/usolve rename to src/connectivity/src/usolve/usolve diff --git a/src/connectcurves/src/usolve/usolve.jl b/src/connectivity/src/usolve/usolve.jl similarity index 100% rename from src/connectcurves/src/usolve/usolve.jl rename to src/connectivity/src/usolve/usolve.jl diff --git a/src/connectcurves/subresultants.jl b/src/connectivity/subresultants.jl similarity index 100% rename from src/connectcurves/subresultants.jl rename to src/connectivity/subresultants.jl diff --git a/src/connectcurves/tools.jl b/src/connectivity/tools.jl similarity index 100% rename from src/connectcurves/tools.jl rename to src/connectivity/tools.jl diff --git a/src/imports.jl b/src/imports.jl index 492178b..8731603 100644 --- a/src/imports.jl +++ b/src/imports.jl @@ -4,10 +4,11 @@ using msolve_jll using Nemo using LinearAlgebra using StaticArrays -using LoopVectorization -import Plots: plot, plot!, scatter!, gui, gr, pythonplot -import Colors: distinguishable_colors +using Plots, Colors +pythonplot() + +import Plots: plot import Random: MersenneTwister import Logging: ConsoleLogger, with_logger, Warn, Info @@ -35,6 +36,7 @@ import Nemo: is_probable_prime, is_square, is_unit, + is_zero, isqrtrem, jacobi_symbol, leading_coefficient, From 1ee72de883b246d8b65c256739e0308658a8b92c Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 13 Aug 2024 20:42:42 +0200 Subject: [PATCH 026/180] function for changing ring variables --- src/connectivity/Cannytools.jl | 61 +++++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 6de2262..c17307a 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -1,36 +1,59 @@ - -function remfirstvars(F::Vector{P}, irem) where {P <: MPolyRingElem} +# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables +function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} R = parent(first(F)) - istart = irem+1 - S, vars = polynomial_ring(base_ring(R), ["x$i" for i in istart:nvars(R)]) + # Locate variables of R in newvarias + to_varias = Vector{Int}(undef,0) + for v in newvarias_S + ind = findfirst(x->x==v, R.S) + push!(to_varias, typeof(ind)==Nothing ? length(R.S)+1 : ind) + end + + ind_novarias = setdiff(eachindex(R.S), to_varias) + newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) + res = typeof(first(F))[] + ctx = MPolyBuildCtx(newR) + for f in F - ctx = MPolyBuildCtx(S) for (e, c) in zip(exponent_vectors(f), coefficients(f)) - @assert(all([ e[i]==0 for i in 1:irem ]), "Occurence of first variable.s found!") - push_term!(ctx, c, e[istart:end]) + @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") + push!(e, 0) + push_term!(ctx, c, [e[i] for i in to_varias ]) end push!(res, finish(ctx)) end - return res + + return res +end + +function change_ringvar(f::MPolyRingElem, newvarias_S::Vector{Symbol}) + return change_ringvar([f], newvarias_S) end -function remvars(F::Vector{P}; irem::Vector{Int64}) where {P <: MPolyRingElem} +function change_ringvar(F::Vector{P}, ind_newvarias::Vector{Int64}) where {P <: MPolyRingElem} R = parent(first(F)) - ikeep = [ i for i in 1:nvars(R) if !(i in irem) ] - S, vars = polynomial_ring(base_ring(R), ["x$i" for i in ikeep]) - res = typeof(first(F))[] + return change_ringvar(F, [R.S[i] for i in ind_newvarias]) +end + +function change_ringvar(f::MPolyRingElem, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {I <: Int64} + R = parent(f) + return change_ringvar([f], [R.S[i] for i in ind_newvarias]) +end + +# Return the polynomials in F, but injected in the polynomial ring with the variables occuring in F +function change_ringvar(F::Vector{P}) where {P <: MPolyRingElem} + union_varias = Set{Symbol}() for f in F - ctx = MPolyBuildCtx(S) - for (e, c) in zip(exponent_vectors(f), coefficients(f)) - @assert(all([ e[i]==0 for i in irem ]), "Occurence of removed variable.s found!") - push_term!(ctx, c, [ e[i] for i in ikeep ]) - end - push!(res, finish(ctx)) + union!(union_varias, map(Symbol, vars(f)) ) end - return res + return change_ringvar(F, collect(union_varias)) +end + +function change_ringvar(f::MPolyRingElem) + change_ringvar([f]) end + function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0) # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" From 1bb304c2094399de1682e096f668e8d12bcc3971 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 13 Aug 2024 20:43:13 +0200 Subject: [PATCH 027/180] adapt to new function --- src/connectivity/computeRM.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 1cb7963..2201ff2 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,7 +4,7 @@ #using AlgebraicSolving #using Nemo -export computeRM +export computeRM, computepolarproj include("Cannytools.jl") @@ -25,7 +25,7 @@ function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{V for q in Q ## Fq ## if e > 0 - hFq = remfirstvars([evaluate(h, fixvarias, q) for h in V.gens], e) + hFq = change_ringvar([evaluate(h, fixvarias, q) for h in V.gens], collect(1:e)) Fq = AlgebraicSolving.Ideal(hFq) else Fq = V From 7918a398a157a13106a18093b4da3ae37eefd7f1 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 13 Aug 2024 20:43:58 +0200 Subject: [PATCH 028/180] add option to force using new variables in parametrization --- src/connectivity/paramcurve.jl | 79 ++++++++++++++++++++-------------- 1 file changed, 46 insertions(+), 33 deletions(-) diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl index f71da3f..643cdbf 100644 --- a/src/connectivity/paramcurve.jl +++ b/src/connectivity/paramcurve.jl @@ -40,50 +40,63 @@ function deg_Alg(F, dim) end -function compute_param(F) +function compute_param(F; lfs = false) R = parent(first(F)) varias, N = gens(R), nvars(R) - - # Identification of two generic variables for the parametrization") - ivarias_gen = Vector{Int}(undef,0) DEG = deg_Alg(F,1) - ind = N - while true - NEW_DEG = deg_Alg(vcat(F, varias[ind]-rand(-100:100)), 0) - if NEW_DEG == DEG - push!(ivarias_gen, ind) - end - (length(ivarias_gen) < 2 && ind > 0) || break - ind -= 1 - end - reverse!(ivarias_gen) - nb_lf = 2-length(ivarias_gen) - if ivarias_gen != [N-1,N] + if !lfs + # Identification of two generic variables for the parametrization") + ivarias_gen = Vector{Int}(undef,0) + ind = N + while true + NEW_DEG = deg_Alg(vcat(F, varias[ind]-rand(-100:100)), 0) + if NEW_DEG == DEG + push!(ivarias_gen, ind) + end + (length(ivarias_gen) < 2 && ind > 0) || break + ind -= 1 + end + reverse!(ivarias_gen) + nb_lf = 2-length(ivarias_gen) + + if ivarias_gen != [N-1,N] + # Add new generic variables at the end if necessary + newvarias_S = [R.S[i] for i in vcat(setdiff(1:N, ivarias_gen), ivarias_gen)] + append!(newvarias_S, [:A,:B][nb_lf:-1:1] ) + + # We change the polynomial ring and add linear form(s) if necessary + Rold, Nold = R, N + R, varias = polynomial_ring(base_ring(Rold), newvarias_S) + N = length(varias) + + index_permut = Dict((v, i) for (i, v) in enumerate(newvarias_S)) + permut_varias = [ index_permut[v] for v in Rold.S ] + # TODO: permut exponents and use polynomial constructor + F = [ evaluate(f, [ varias[permut_varias[i]] for i in 1:Nold ]) for f in F ] + + if nb_lf > 0 + lf_cfs = [ rand(ZZ(-100):ZZ(100), N) for _ in 1:nb_lf] + append!(F, [ transpose(lf)*varias for lf in lf_cfs ]) + else + lf_cfs = Vector{Vector{ZZRingElem}}(undef,0) + end + else + lf_cfs = Vector{Vector{ZZRingElem}}(undef,0) + end + else # Add new generic variables at the end if necessary - newvarias_S = [R.S[i] for i in vcat(setdiff(1:N, ivarias_gen), ivarias_gen)] - append!(newvarias_S, [:A,:B][nb_lf:-1:1] ) + newvarias_S = vcat(R.S, [:B,:A]) # We change the polynomial ring and add linear form(s) if necessary Rold, Nold = R, N R, varias = polynomial_ring(base_ring(Rold), newvarias_S) N = length(varias) - index_permut = Dict((v, i) for (i, v) in enumerate(newvarias_S)) - permut_varias = [ index_permut[v] for v in Rold.S ] - # TODO: permut exponents and use polynomial constructor - F = [ evaluate(f, [ varias[permut_varias[i]] for i in 1:Nold ]) for f in F ] - - if nb_lf > 0 - lf_cfs = [ rand(ZZ(-100):ZZ(100), N) for _ in 1:nb_lf] - append!(F, [ transpose(lf)*varias for lf in lf_cfs ]) - else - lf_cfs = Vector{Vector{ZZRingElem}}(undef,0) - end - else - lf_cfs = Vector{Vector{ZZRingElem}}(undef,0) + F = [ evaluate(f, [ varias[i] for i in 1:Nold ]) for f in F ] + lf_cfs = [ rand(ZZ(-100):ZZ(100), N) for _ in 1:2] + append!(F, [ transpose(lf)*varias for lf in lf_cfs ]) end - # Compute DEG+1 evaluations of the param (whose deg is bounded by DEG) PARAM = Vector{Vector{AlgebraicSolving.QQPolyRingElem}}(undef,0) _values = Vector{QQFieldElem}(undef,0) @@ -122,7 +135,7 @@ function compute_param(F) _evals = [ coeff(PARAM[i][count], deg) for i in 1:length(PARAM)] push!(COEFFS, interpolate(polynomial_ring(QQ,"u")[1], _values, _evals)) end - + C = [ collect(coefficients(c)) for c in COEFFS ] POL_term = [C[i][j]*x^(j-1)*y^(i-1) for i in 1:length(C) for j in 1:length(C[i])] POL = length(POL_term) > 0 ? sum(POL_term) : T(0) From db7ea307a5cc7161353ac59e3685c0182b61dc83 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 13 Aug 2024 20:45:01 +0200 Subject: [PATCH 029/180] add test for singular boxes : mutivariate evaluation --- src/connectivity/connectcurves.jl | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index b25379d..92c3444 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -86,8 +86,28 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) print("\nTest for identifying singular boxes");ts=time(); ######################################################## - ### TODO ############################################### - ######################################################## + # For each mult of sing pts (keys) give the corresponding factors of the resultant (values) + ### DEBUG: for now, only nodes for singular points, hardcode below ### + mult_to_factor = Dict(2=>[2]) + ######################################################### + Lfyk = diff_list(f, 2, multmax) + for mult in keys(mult_to_factor) + for k in mult_to_factor[mult] + while true + flag = false + for j in eachindex(LBcrit[k]) + pcrit = arb ? Pcrit[k][j] : [ rat_to_Arb(c, prec) for c in LBcrit[k][j] ] + if contains_zero(evaluate(Lfyk[mult], pcrit)) + println("Refine singular boxes of multiplicity ", k) + refine_boxes(params[k], LBcrit[k]) + flag = true + break + end + end + flag || break + end + end + end # Could be improved by handling nodes as extreme boxes: # when npcside = [2,2,0,0] just take nearest below and above @@ -174,6 +194,7 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ] Viso = [] + println(LBcrit[2][1]) for ind in 1:length(xcritpermut) i, j = xcritpermut[ind] @@ -237,6 +258,7 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) if i == 2 # if it is an isolated point if isempty(nI[1]) && isempty(nI[2]) + println("Remove appsing ($i,$j) (isolated)") #pass # We can add the isolated vertex # push!(Vert, [xcmid, ycmid]) @@ -248,6 +270,7 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) ## works for space curves without nodes ## ############################################ else + println("Remove appsing ($i,$j) (node)") # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 push!(Edg, [Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]]]) push!(Edg, [Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]]]) From 6f7992ce3f7418dd6d1fe0d3479699969cd2a9d5 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 13 Aug 2024 20:45:40 +0200 Subject: [PATCH 030/180] comment pythonplot --- src/imports.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/imports.jl b/src/imports.jl index 5efece5..80314a7 100644 --- a/src/imports.jl +++ b/src/imports.jl @@ -5,7 +5,7 @@ using Nemo using LinearAlgebra using StaticArrays using Plots, Colors -pythonplot() +#pythonplot() import Plots: plot import Random: MersenneTwister From 1db1aae1b613b97ed84ff5a958d39cd7dc340b15 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 27 Aug 2024 17:21:45 +0200 Subject: [PATCH 031/180] integer coeff + display node removal + add control points at the end of the parametrization --- src/connectivity/arbtools.jl | 2 +- src/connectivity/connectcurves.jl | 68 +++++++++++++++++++++---------- src/connectivity/graph.jl | 19 ++++++++- src/connectivity/plots.jl | 17 +++++--- src/connectivity/tools.jl | 2 +- 5 files changed, 78 insertions(+), 30 deletions(-) diff --git a/src/connectivity/arbtools.jl b/src/connectivity/arbtools.jl index 4721a75..0e25ac1 100644 --- a/src/connectivity/arbtools.jl +++ b/src/connectivity/arbtools.jl @@ -1,6 +1,6 @@ function Arb_to_rat(x) r = radius(x) - return map(simplest_rational_inside, [x-2*r, x+2*r]) + return map(simplest_rational_inside, [x-r, x+r]) end function rat_to_Arb(x, prec) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 92c3444..2dacf85 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -14,7 +14,7 @@ include("graph.jl") include("plots.jl") include("arbtools.jl") -function compute_graph(F; param=false, generic=false, precx=150, v=0, arb=false) +function compute_graph(F, C=[]; param=true, generic=true, precx=150, v=0, arb=true, int_coeff=false) if !(param) println("Compute rational parametrization...") @time begin @@ -24,33 +24,38 @@ function compute_graph(F; param=false, generic=false, precx=150, v=0, arb=false) Fparam = F[1] end - return compute_graph_param(Fparam, generic=generic, precx=precx, v=v, arb=arb) + return compute_graph_param(Fparam, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff) end -function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) +function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, int_coeff=false) println("\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") println("!! Careful: this is a WIP version !!") println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") R = parent(f) x, y = gens(R) + + if int_coeff + CD = lcm(map(denominator, collect(coefficients(f)))) + f *= CD + end # Generic change of variables changemat = [1 0; 0 1] if !generic - changemat = trimat_rand(QQ, 2, range=-500:500) + changemat = trimat_rand(QQ, 2, range=-100:100) end f = evaluate(f, collect(changemat*[x; y])); println("\nCompute parametrization of critical pts...") @time begin - sr = subresultants(f, derivative(f,y), 2, list=true); + sr = subresultants(f, derivative(f,y), 2, list=true) # Take sqfree factors of the resultant sqr = collect(factor_squarefree(sr[1][1])) # Keep only deg>0 factors - filter(t->t[2]>0, sqr) + filter!(t->t[2]>0, sqr) # Order by multiplicity - sqr = sort(sqr, by=t->t[2]) + sort!(sqr, by=t->t[2]) # Group by multiplicity group_sqr = [ [R(1),i] for i in 1:sqr[end][2] ] for r in sqr @@ -58,6 +63,10 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) end # Construct the parametrization of the critical points params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in group_sqr ]; + + if length(C)>0 + push!(params, C) + end end if arb @@ -84,23 +93,25 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) end end - print("\nTest for identifying singular boxes");ts=time(); + @time begin + println("\nTest for identifying singular boxes");ts=time(); ######################################################## # For each mult of sing pts (keys) give the corresponding factors of the resultant (values) ### DEBUG: for now, only nodes for singular points, hardcode below ### mult_to_factor = Dict(2=>[2]) ######################################################### - Lfyk = diff_list(f, 2, multmax) - for mult in keys(mult_to_factor) - for k in mult_to_factor[mult] + mults = keys(mult_to_factor) + Lfyk = diff_list(f, 2, maximum(mults)) + for m in mults + for k in mult_to_factor[m] while true flag = false for j in eachindex(LBcrit[k]) - pcrit = arb ? Pcrit[k][j] : [ rat_to_Arb(c, prec) for c in LBcrit[k][j] ] - if contains_zero(evaluate(Lfyk[mult], pcrit)) + pcrit = [ rat_to_Arb(c, precx) for c in LBcrit[k][j] ] + if contains_zero(evaluate(Lfyk[m+1], pcrit)) println("Refine singular boxes of multiplicity ", k) - refine_boxes(params[k], LBcrit[k]) - flag = true + # TODO refine_boxes(params[k], LBcrit[k]) + #flag = true break end end @@ -108,7 +119,9 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) end end end + end + @time begin # Could be improved by handling nodes as extreme boxes: # when npcside = [2,2,0,0] just take nearest below and above # intersections b with the curves on the vertical sides @@ -185,16 +198,19 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) end end end + end - println("Graph computation") + println("\nGraph computation") # Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot # And even remove this fiber for the graph Vert = [] Edg = [] Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ] Viso = [] + Vcon = [] + + Lapp = [[],[]] - println(LBcrit[2][1]) for ind in 1:length(xcritpermut) i, j = xcritpermut[ind] @@ -258,7 +274,7 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) if i == 2 # if it is an isolated point if isempty(nI[1]) && isempty(nI[2]) - println("Remove appsing ($i,$j) (isolated)") + push!(Lapp[1], (i,j)) #pass # We can add the isolated vertex # push!(Vert, [xcmid, ycmid]) @@ -270,10 +286,10 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) ## works for space curves without nodes ## ############################################ else - println("Remove appsing ($i,$j) (node)") # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 push!(Edg, [Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]]]) push!(Edg, [Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]]]) + push!(Lapp[2], (i,j)) end else # We can add the vertex @@ -287,6 +303,10 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) for k in nI[2] push!(Edg, [length(Vert), Corr[i][j][3][k]]) end + if length(C)>0 && i==length(params) + # If this is a control point + push!(Vcon, length(Vert)) + end end ########################### # Above the critical point @@ -296,7 +316,9 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) push!(Edg, [Corr[i][j][1][end - k + 1], length(Vert)]) # left push!(Edg, [length(Vert), Corr[i][j][3][end - k + 1]]) # right end + end + println("Removed apparent singularities: $(length(Lapp[1])) isolated $(length(Lapp[2])) nodes") #EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg] #plot_graph(Vert, EdgPlot) #gui() @@ -306,6 +328,10 @@ function compute_graph_param(f; generic=false, precx = 150,v=0, arb=false) if !(generic) Vert = [ changemat*v for v in Vert ] end -end - return Vert, Edg + + if length(C)>0 + return (Vert, Edg), Vcon + else + return Vert, Edg + end end diff --git a/src/connectivity/graph.jl b/src/connectivity/graph.jl index c932ed2..1d79e19 100644 --- a/src/connectivity/graph.jl +++ b/src/connectivity/graph.jl @@ -5,7 +5,7 @@ function index_of(x, L) return findfirst(t->t==x,L) end -function connected_components(G) +function connected_components(G; Vemph=[]) # Outputs subgraphs of the connected components ########### vert, edges = G @@ -52,7 +52,22 @@ function connected_components(G) end end - return [ [[ vert[cv] for cv in components[i] ], grouped_edges[i]] for i in eachindex(components) ] + if length(Vemph)>0 + CVemph = [ [] for _ in eachindex(components) ] + for i in eachindex(components) + for j in eachindex(components[i]) + if components[i][j] in Vemph + push!(CVemph[i], j) + end + end + end + end + + if length(Vemph)>0 + return [ [[ vert[cv] for cv in components[i] ], grouped_edges[i], CVemph[i]] for i in eachindex(components) ] + else + return [ [[ vert[cv] for cv in components[i] ], grouped_edges[i]] for i in eachindex(components) ] + end end function number_connected_components(G) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index d586e00..00b4c62 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -1,6 +1,6 @@ ## Plot functions -function plot_graph(G; color="red", width=3, vert = true) +function plot_graph(G; Vemph=[], color="red", width=3, vert = true) println("Plotting the graph") V, E = G plot(legend=false) @@ -11,6 +11,7 @@ function plot_graph(G; color="red", width=3, vert = true) if vert scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) end + scatter!( map(Float64, [V[i][1] for i in Vemph]), map(Float64, [V[i][2] for i in Vemph]), mc=color, m=:diamond) gui() end @@ -19,7 +20,9 @@ function plot_graphs(CG; width=3, vert=true) plot(legend=false) col = distinguishable_colors(length(CG)+2) for j in eachindex(CG) - V, E = CG[j] + V = CG[j][1] + E = CG[j][2] + CVemph = length(CG[j])>2 ? CG[j][3] : [] for e in E v1, v2 = [ map(Float64, V[ee]) for ee in e ] plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=width) @@ -27,17 +30,20 @@ function plot_graphs(CG; width=3, vert=true) if vert scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) end + scatter!( map(Float64, [V[i][1] for i in Vemph]), map(Float64, [V[i][2] for i in Vemph]), mc=col[j+2], m=:diamond) end gui() end -function plot_graph_comp(G; width=3, vert=true) +function plot_graph_comp(G; Vemph=[], width=3, vert=true) println("Plotting the graph") plot(legend=false) - CG = connected_components(G) + CG = connected_components(G, Vemph=Vemph) col = distinguishable_colors(length(CG)+2) for j in eachindex(CG) - V, E = CG[j] + V = CG[j][1] + E = CG[j][2] + CVemph = length(CG[j])>2 ? CG[j][3] : [] for e in E v1, v2 = [ map(Float64, V[ee]) for ee in e ] plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=width) @@ -45,6 +51,7 @@ function plot_graph_comp(G; width=3, vert=true) if vert scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) end + scatter!( map(Float64, [V[i][1] for i in CVemph]), map(Float64, [V[i][2] for i in CVemph]), mc=col[j+2], m=:diamond) end gui() end \ No newline at end of file diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index 5e75709..4a067b6 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -21,7 +21,7 @@ end function diff_list(p, v, n) Ldp = [p] for j in 1:n - push!(Ldb,derivative(Ldp[end], v)) + push!(Ldp, derivative(Ldp[end], v)) end return Ldp end From 2109126606623217e499c650e3f22b0ece5053a9 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 27 Aug 2024 19:43:02 +0200 Subject: [PATCH 032/180] group abscissa index of control points w.r.t. component --- src/connectivity/connectcurves.jl | 14 +++++++++++++- src/connectivity/graph.jl | 15 ++++++++++++--- src/connectivity/plots.jl | 10 ++++------ 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 2dacf85..d716b1f 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -3,7 +3,7 @@ #using Plots, Colors #pythonplot() -export compute_graph, connected_components, number_connected_components, +export compute_graph, connected_components, number_connected_components, group_by_component, plot_graph, plot_graphs, plot_graph_comp, compute_param include("tools.jl") @@ -335,3 +335,15 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, return Vert, Edg end end + +function group_by_component(F::Vector{P}, C::Vector{P}; param=true, generic=true, precx=150, v=0, arb=true, int_coeff=false) where {P <: MPolyRingElem} + # Compute a graph homeomorphic to Z(F) and return the vertices identified by Z(C) + G, Vcon = compute_graph(F, C, param=param, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff) + # Compute the partition of the vertices in Vcon according to the connected component in G + sort!(Vcon) + CVcon = group_by_component(G, Vcon) + + # Convert the partition into abscissa order + index_map = Dict((val, idx) for (idx, val) in enumerate(Vcon)) + return [map(v -> index_map[v], C) for C in CVcon] +end \ No newline at end of file diff --git a/src/connectivity/graph.jl b/src/connectivity/graph.jl index 1d79e19..f5f1133 100644 --- a/src/connectivity/graph.jl +++ b/src/connectivity/graph.jl @@ -5,7 +5,7 @@ function index_of(x, L) return findfirst(t->t==x,L) end -function connected_components(G; Vemph=[]) +function connected_components(G; Vemph=[], ind_abs=false) # Outputs subgraphs of the connected components ########### vert, edges = G @@ -57,19 +57,28 @@ function connected_components(G; Vemph=[]) for i in eachindex(components) for j in eachindex(components[i]) if components[i][j] in Vemph - push!(CVemph[i], j) + if ind_abs + push!(CVemph[i], components[i][j]) + else + push!(CVemph[i], j) + end end end end end if length(Vemph)>0 - return [ [[ vert[cv] for cv in components[i] ], grouped_edges[i], CVemph[i]] for i in eachindex(components) ] + return [ [[[ vert[cv] for cv in components[i] ], grouped_edges[i]], CVemph[i]] for i in eachindex(components) ] else return [ [[ vert[cv] for cv in components[i] ], grouped_edges[i]] for i in eachindex(components) ] end end +function group_by_component(G, V) + CG = connected_components(G, Vemph=V, ind_abs=true) + return filter(c->length(c)>0, [ C[2] for C in CG ]) +end + function number_connected_components(G) return length(connected_components(G)) end \ No newline at end of file diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 00b4c62..7c60c28 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -20,9 +20,8 @@ function plot_graphs(CG; width=3, vert=true) plot(legend=false) col = distinguishable_colors(length(CG)+2) for j in eachindex(CG) - V = CG[j][1] - E = CG[j][2] - CVemph = length(CG[j])>2 ? CG[j][3] : [] + V, E = CG[j][1] + CVemph = length(Vemph)>1 ? CG[j][2] : [] for e in E v1, v2 = [ map(Float64, V[ee]) for ee in e ] plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=width) @@ -41,9 +40,8 @@ function plot_graph_comp(G; Vemph=[], width=3, vert=true) CG = connected_components(G, Vemph=Vemph) col = distinguishable_colors(length(CG)+2) for j in eachindex(CG) - V = CG[j][1] - E = CG[j][2] - CVemph = length(CG[j])>2 ? CG[j][3] : [] + V, E = CG[j][1] + CVemph = length(Vemph)>1 ? CG[j][2] : [] for e in E v1, v2 = [ map(Float64, V[ee]) for ee in e ] plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=width) From 6f351eec6846d43596447c9d15314a8d6949264c Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Wed, 28 Aug 2024 16:11:46 +0200 Subject: [PATCH 033/180] multiple bug fixes --- src/connectivity/Cannytools.jl | 2 +- src/connectivity/boxes.jl | 2 +- src/connectivity/computeRM.jl | 11 +++++++---- src/connectivity/connectcurves.jl | 18 +++++++++++------- src/connectivity/plots.jl | 11 ++++------- 5 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index c17307a..8d49eb6 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -30,7 +30,7 @@ function change_ringvar(f::MPolyRingElem, newvarias_S::Vector{Symbol}) return change_ringvar([f], newvarias_S) end -function change_ringvar(F::Vector{P}, ind_newvarias::Vector{Int64}) where {P <: MPolyRingElem} +function change_ringvar(F::Vector{P}, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {P <: MPolyRingElem, I <: Int64} R = parent(first(F)) return change_ringvar(F, [R.S[i] for i in ind_newvarias]) end diff --git a/src/connectivity/boxes.jl b/src/connectivity/boxes.jl index c78442e..2b09789 100644 --- a/src/connectivity/boxes.jl +++ b/src/connectivity/boxes.jl @@ -39,7 +39,7 @@ function intersect_box(f, B; prec=100) push!(L[i+2][2], j) elseif overlap_inter(l, B[2]) prec *= 2 - #println("Increase precision to ", prec) + println("Increase precision to ", prec) flag = true break end diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 2201ff2..847a1c7 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -5,6 +5,8 @@ #using Nemo export computeRM, computepolarproj +# DEBUG +export change_ringvar, compute_minors include("Cannytools.jl") @@ -25,15 +27,15 @@ function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{V for q in Q ## Fq ## if e > 0 - hFq = change_ringvar([evaluate(h, fixvarias, q) for h in V.gens], collect(1:e)) + hFq = change_ringvar([evaluate(h, fixvarias, q) for h in V.gens], e+1:nvarias) Fq = AlgebraicSolving.Ideal(hFq) else Fq = V end if dimV - e <= 1 - push!(R, AlgebraicSolving.Ideal(vcat(Fq.gens, [fixvarias[j] - q[j] for j in 1:e]))) - + curve = change_ringvar(Fq.gens, A.S) + push!(R, AlgebraicSolving.Ideal(vcat(curve, [fixvarias[j] - q[j] for j in 1:e]))) else ## sing(Fq) ## #println("Compute first the singular points") @@ -46,7 +48,8 @@ function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{V ## K(pi_2, Fq) ## K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors") - push!(R, AlgebraicSolving.Ideal(vcat(K2Fq.gens, [fixvarias[j] - q[j] for j in 1:e]))) + polar = change_ringvar(K2Fq.gens, A.S) + push!(R, AlgebraicSolving.Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) ## Points with vertical tg in K(pi_2, Fq) ## K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=0) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index d716b1f..853c9df 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -6,6 +6,9 @@ export compute_graph, connected_components, number_connected_components, group_by_component, plot_graph, plot_graphs, plot_graph_comp, compute_param + # DEBUG + export subresultants, diff, diff_list + include("tools.jl") include("subresultants.jl") include("isolate.jl") @@ -39,6 +42,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, CD = lcm(map(denominator, collect(coefficients(f)))) f *= CD end + #println(f) # Generic change of variables changemat = [1 0; 0 1] if !generic @@ -98,7 +102,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, ######################################################## # For each mult of sing pts (keys) give the corresponding factors of the resultant (values) ### DEBUG: for now, only nodes for singular points, hardcode below ### - mult_to_factor = Dict(2=>[2]) + mult_to_factor = Dict(2=>2:length(group_sqr)) ######################################################### mults = keys(mult_to_factor) Lfyk = diff_list(f, 2, maximum(mults)) @@ -129,9 +133,9 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, ## TODO : Refine only the intervals that need to be refined println("\nCompute intersections with critical boxes..") LPCside = Array{Any}(undef,length(LBcrit)) - ndig = maximum([Int(floor(log10(length(LB)))) for LB in LBcrit]) + ndig = maximum([Int(floor(log10(max(1,length(LB))))) for LB in LBcrit]) for i in eachindex(LBcrit) - ndigi = Int(floor(log10(length(LBcrit[i])))) + ndigi = Int(floor(log10(max(1,length(LBcrit[i]))))) LPCside[i] = Array{Any}(undef, length(LBcrit[i])) precxtmp = precx while true @@ -177,7 +181,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, # If it intersects on the bottom side if nPCside[1] == 1 # yinf: the intersection with the vertical side just below the extreme point - yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[2]]) + yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[1]]) # We vertically enlarge the box until it intersects on the horizontal side push!(LPCside[1][j][s + 2][2], yinf) LPCside[1][j][1][2] = [] @@ -188,7 +192,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, # If it intersects on the top side if nPCside[2] == 1 # ymax: the intersection with the vertical side just above the extreme point - ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[1]]) + ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[2]]) # We vertically enlarge the box until it intersects on the horizontal side push!(LPCside[1][j][s + 2][2], ymax) LPCside[1][j][2][2] = [] @@ -260,7 +264,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, # Below the critical point #println() #println(map(length,I)) - #println(vcat(nI[1], nI[2], [length(I[1])+1])) + #println(nI[1],", ", nI[2], ", ", [length(I[1])+1]) for k in 1:ymincrit-1 push!(Vert, [xcmid, sum(I[1][k] + I[2][k])// 4]) push!(Corr[i][j][2][1], length(Vert)) @@ -271,7 +275,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, # The critical point ########################## # If we are dealing with a node - if i == 2 + if length(group_sqr)>1 && i == 2 # if it is an isolated point if isempty(nI[1]) && isempty(nI[2]) push!(Lapp[1], (i,j)) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 7c60c28..9ebe189 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -1,6 +1,6 @@ ## Plot functions -function plot_graph(G; Vemph=[], color="red", width=3, vert = true) +function plot_graph(G, Vemph=[]; color="red", width=3, vert = true) println("Plotting the graph") V, E = G plot(legend=false) @@ -20,8 +20,7 @@ function plot_graphs(CG; width=3, vert=true) plot(legend=false) col = distinguishable_colors(length(CG)+2) for j in eachindex(CG) - V, E = CG[j][1] - CVemph = length(Vemph)>1 ? CG[j][2] : [] + V, E = CG[j] for e in E v1, v2 = [ map(Float64, V[ee]) for ee in e ] plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=width) @@ -29,19 +28,17 @@ function plot_graphs(CG; width=3, vert=true) if vert scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) end - scatter!( map(Float64, [V[i][1] for i in Vemph]), map(Float64, [V[i][2] for i in Vemph]), mc=col[j+2], m=:diamond) end gui() end -function plot_graph_comp(G; Vemph=[], width=3, vert=true) +function plot_graph_comp(G, Vemph=[]; width=3, vert=true) println("Plotting the graph") plot(legend=false) CG = connected_components(G, Vemph=Vemph) col = distinguishable_colors(length(CG)+2) for j in eachindex(CG) - V, E = CG[j][1] - CVemph = length(Vemph)>1 ? CG[j][2] : [] + (V, E), CVemph = length(Vemph)>1 ? CG[j] : (CG[j], []) for e in E v1, v2 = [ map(Float64, V[ee]) for ee in e ] plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=width) From 76769759a68f5beabd04fe988a10c172302bca50 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Wed, 28 Aug 2024 21:40:08 +0200 Subject: [PATCH 034/180] choose the linear form for param --- src/connectivity/connectcurves.jl | 6 ++++-- src/connectivity/paramcurve.jl | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 853c9df..c597591 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -42,7 +42,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, CD = lcm(map(denominator, collect(coefficients(f)))) f *= CD end - #println(f) + println(f) # Generic change of variables changemat = [1 0; 0 1] if !generic @@ -322,7 +322,9 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, end end - println("Removed apparent singularities: $(length(Lapp[1])) isolated $(length(Lapp[2])) nodes") + if Lapp != [[],[]] + println("Removed apparent singularities: $(length(Lapp[1])) isolated $(length(Lapp[2])) nodes") + end #EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg] #plot_graph(Vert, EdgPlot) #gui() diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl index 643cdbf..8dae408 100644 --- a/src/connectivity/paramcurve.jl +++ b/src/connectivity/paramcurve.jl @@ -40,12 +40,12 @@ function deg_Alg(F, dim) end -function compute_param(F; lfs = false) +function compute_param(F; use_lfs = false, lfs = []) R = parent(first(F)) varias, N = gens(R), nvars(R) DEG = deg_Alg(F,1) - if !lfs + if !use_lfs && length(lfs)==0 # Identification of two generic variables for the parametrization") ivarias_gen = Vector{Int}(undef,0) ind = N @@ -94,7 +94,7 @@ function compute_param(F; lfs = false) N = length(varias) F = [ evaluate(f, [ varias[i] for i in 1:Nold ]) for f in F ] - lf_cfs = [ rand(ZZ(-100):ZZ(100), N) for _ in 1:2] + lf_cfs = vcat(lfs, [ rand(ZZ(-100):ZZ(100), N) for _ in 1:2-length(lfs)]) append!(F, [ transpose(lf)*varias for lf in lf_cfs ]) end # Compute DEG+1 evaluations of the param (whose deg is bounded by DEG) From 600ea29638c3e08e31906787364c85e705752f41 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 29 Aug 2024 21:29:01 +0200 Subject: [PATCH 035/180] change_ringvars univariate + manage multiple Pcontrol + fix bug refine --- src/connectivity/Cannytools.jl | 14 ++++++++++---- src/connectivity/connectcurves.jl | 21 ++++++--------------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 8d49eb6..22219c9 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -26,8 +26,13 @@ function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: M return res end -function change_ringvar(f::MPolyRingElem, newvarias_S::Vector{Symbol}) - return change_ringvar([f], newvarias_S) +function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: PolyRingElem} + A, (x,) = polynomial_ring(QQ, [parent(first(F)).S]) + return change_ringvar([ evaluate(f, x) for f in F ], newvarias_S) +end + +function change_ringvar(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) + return first(change_ringvar([f], newvarias_S)) end function change_ringvar(F::Vector{P}, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {P <: MPolyRingElem, I <: Int64} @@ -37,7 +42,7 @@ end function change_ringvar(f::MPolyRingElem, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {I <: Int64} R = parent(f) - return change_ringvar([f], [R.S[i] for i in ind_newvarias]) + return first(change_ringvar([f], [R.S[i] for i in ind_newvarias])) end # Return the polynomials in F, but injected in the polynomial ring with the variables occuring in F @@ -50,10 +55,11 @@ function change_ringvar(F::Vector{P}) where {P <: MPolyRingElem} end function change_ringvar(f::MPolyRingElem) - change_ringvar([f]) + return first(change_ringvar([f])) end + function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0) # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index c597591..aed00e8 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -42,7 +42,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, CD = lcm(map(denominator, collect(coefficients(f)))) f *= CD end - println(f) + #println(f) # Generic change of variables changemat = [1 0; 0 1] if !generic @@ -67,10 +67,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, end # Construct the parametrization of the critical points params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in group_sqr ]; - - if length(C)>0 - push!(params, C) - end + append!(params, C) end if arb @@ -144,16 +141,10 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, print("mult=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp) npcside = [length(n) for (I, n) in pcside] - if i == 1 && sum(npcside) > 2 - precxtmp *= 2 - println("\nRefine extreme boxes along x-axis to precision ", precxtmp) - refine_xboxes(params[1][1], LBcrit[1], precxtmp) - flag = true - break - elseif i > 1 && sum(npcside[1:2]) != 0 + if (i == 1 && sum(npcside) > 2) || (i > 1 && sum(npcside[1:2]) != 0) precxtmp *= 2 - println("\nRefine singular boxes along x-axis to precision ", precxtmp) - refine_xboxes(params[2][1], LBcrit[2], precxtmp) + println("\nRefine boxes along x-axis to precision ", precxtmp) + refine_xboxes(params[i][1], LBcrit[i], precxtmp) flag = true break end @@ -307,7 +298,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, for k in nI[2] push!(Edg, [length(Vert), Corr[i][j][3][k]]) end - if length(C)>0 && i==length(params) + if i > length(params)-length(C) # If this is a control point push!(Vcon, length(Vert)) end From b6756c441cc500ec9bab1a9d43cea5cbe74c43b1 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 30 Aug 2024 01:38:45 +0200 Subject: [PATCH 036/180] bugfix msolve + manage rational critical coordinates v0 + full subres seq + fix arbeval zeropoly --- src/algorithms/solvers.jl | 2 +- src/connectivity/arbtools.jl | 8 ++++++-- src/connectivity/connectcurves.jl | 16 ++++++++++++++++ src/connectivity/plots.jl | 2 +- src/connectivity/subresultants.jl | 2 +- 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/algorithms/solvers.jl b/src/algorithms/solvers.jl index 11152bf..b8ffd62 100644 --- a/src/algorithms/solvers.jl +++ b/src/algorithms/solvers.jl @@ -147,7 +147,7 @@ function _core_msolve( jl_vnames = Base.unsafe_wrap(Array, res_vnames[], jl_rp_nr_vars) vsymbols = [Symbol(unsafe_string(jl_vnames[i])) for i in 1:jl_rp_nr_vars] #= get possible variable permutation, ignoring additional variables=# - perm = sortperm(vsymbols[1:nr_vars]) + perm = findfirst.(isequal.(R.S), Ref(vsymbols)) rat_param = _get_rational_parametrization(jl_ld, jl_len, jl_cf, jl_cf_lf, jl_rp_nr_vars) diff --git a/src/connectivity/arbtools.jl b/src/connectivity/arbtools.jl index 0e25ac1..5fa4073 100644 --- a/src/connectivity/arbtools.jl +++ b/src/connectivity/arbtools.jl @@ -10,8 +10,12 @@ function rat_to_Arb(x, prec) end function evaluate_Arb(f, x, prec) - cf = coefficients_of_univariate(f) - return evalpoly(ArbField(prec)(x), cf) + if is_zero(f) + return ArbField(prec)(0) + else + cf = coefficients_of_univariate(f) + return evalpoly(ArbField(prec)(x), cf) + end end function Arb_eval(f, B, prec) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index aed00e8..9fbcfec 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -75,6 +75,13 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, println("\nIsolating critical values with precision ", precx,"..") @time begin xcrit = [ isolate(first(p), prec=precx) for p in params ] + for i in eachindex(xcrit) + for j in eachindex(xcrit[i]) + if xcrit[i][j][1]==xcrit[i][j][2] + xcrit[i][j] = [xcrit[i][j][1]-1//ZZ(1)<t[1]) for p in params ] + for i in eachindex(LBcrit) + for j in eachindex(LBcrit[i]) + for k in eachindex(LBcrit[i][j]) + if LBcrit[i][j][k][1]==LBcrit[i][j][k][2] + LBcrit[i][j][k] = [LBcrit[i][j][k][1]-1//ZZ(1)< Date: Fri, 30 Aug 2024 12:31:07 +0200 Subject: [PATCH 037/180] control points in plot_graphS --- src/connectivity/plots.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 6f19a7b..421a272 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -20,14 +20,15 @@ function plot_graphs(CG; width=3, vert=true) plot(legend=false) col = distinguishable_colors(length(CG)+2) for j in eachindex(CG) - V, E = CG[j] + (V, E), CVemph = length(CG[j][1])==2 ? CG[j] : (CG[j], []) for e in E v1, v2 = [ map(Float64, V[ee]) for ee in e ] plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=width) end if vert - scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc=col[j+2], m=:diamond) + scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) end + scatter!( map(Float64, [V[i][1] for i in CVemph]), map(Float64, [V[i][2] for i in CVemph]), mc=col[j+2], m=:diamond) end gui() end From 11b9c7d5780fcbe507f54043b83011bcee42c978 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 30 Aug 2024 12:31:47 +0200 Subject: [PATCH 038/180] multiple lists of vertices for multiple Pcontrols --- src/connectivity/connectcurves.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 9fbcfec..0ec558c 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -218,7 +218,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, Edg = [] Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ] Viso = [] - Vcon = [] + Vcon = [ [] for _ in 1:length(C) ] Lapp = [[],[]] @@ -316,7 +316,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, end if i > length(params)-length(C) # If this is a control point - push!(Vcon, length(Vert)) + push!(Vcon[i + length(C) - length(params)], length(Vert)) end end ########################### From 1d1dc838bffe71669f3ea1d8aa93f6eb8263fedd Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 30 Aug 2024 12:32:16 +0200 Subject: [PATCH 039/180] fix bug in variable order for param --- src/connectivity/paramcurve.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl index 8dae408..0f51ab7 100644 --- a/src/connectivity/paramcurve.jl +++ b/src/connectivity/paramcurve.jl @@ -137,7 +137,7 @@ function compute_param(F; use_lfs = false, lfs = []) end C = [ collect(coefficients(c)) for c in COEFFS ] - POL_term = [C[i][j]*x^(j-1)*y^(i-1) for i in 1:length(C) for j in 1:length(C[i])] + POL_term = [C[i][j]*x^(i-1)*y^(j-1) for i in 1:length(C) for j in 1:length(C[i])] POL = length(POL_term) > 0 ? sum(POL_term) : T(0) push!(POLY_PARAM, POL) From babe94334c95850d9576f72578e0d7288f52608f Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 3 Sep 2024 00:31:00 +0200 Subject: [PATCH 040/180] type of list --- src/connectivity/Cannytools.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 22219c9..5e9d489 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -105,7 +105,7 @@ function combinations(a, n) if length(chosen) == n return [chosen] elseif start > length(a) - return [] + return Vector{Int}([]) else # Include the current element and recurse include_current = _combinations(a, n, start + 1, [chosen; a[start]]) @@ -114,7 +114,7 @@ function combinations(a, n) return vcat(include_current, exclude_current) end end - return _combinations(a, n, 1, []) + return _combinations(a, n, 1, Vector{Int}([])) end function detmpoly(A::Matrix{QQMPolyRingElem}, R) From fc8a149c7b9ca3995f1a5a4543de418321477130 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 3 Sep 2024 00:31:24 +0200 Subject: [PATCH 041/180] heuristic for fibers --- src/connectivity/computeRM.jl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 847a1c7..9f02732 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -6,7 +6,7 @@ export computeRM, computepolarproj # DEBUG -export change_ringvar, compute_minors +export change_ringvar, compute_minors, detmpoly include("Cannytools.jl") @@ -58,6 +58,8 @@ function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{V K1W = vcat(K1Fq, K1WmFq) K1WRat = MidRationalPoints(getindex.(K1W,1)) newQ = [ vcat(q, [kv]) for kv in K1WRat ] + # Heuristic to be proven + # newQ = newQ[2:end-1] RFq = computeRM(V, dimV, newQ) From e8c807984a5c61cb94a8078eac666a1fbf896d64 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 3 Sep 2024 00:32:15 +0200 Subject: [PATCH 042/180] float output + display control + other methods depending the input --- src/connectivity/connectcurves.jl | 54 ++++++++++++++++--------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 0ec558c..9b07538 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -3,7 +3,7 @@ #using Plots, Colors #pythonplot() -export compute_graph, connected_components, number_connected_components, group_by_component, +export compute_graph, connected_components, number_connected_components, group_by_component, merge_graphs, plot_graph, plot_graphs, plot_graph_comp, compute_param # DEBUG @@ -17,20 +17,7 @@ include("graph.jl") include("plots.jl") include("arbtools.jl") -function compute_graph(F, C=[]; param=true, generic=true, precx=150, v=0, arb=true, int_coeff=false) - if !(param) - println("Compute rational parametrization...") - @time begin - Fparam = compute_param(F)[3] - end - else - Fparam = F[1] - end - - return compute_graph_param(Fparam, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff) -end - -function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, int_coeff=false) +function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf=true) where (P <: MPolyRingElem) println("\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") println("!! Careful: this is a WIP version !!") println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") @@ -149,12 +136,13 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, ndig = maximum([Int(floor(log10(max(1,length(LB))))) for LB in LBcrit]) for i in eachindex(LBcrit) ndigi = Int(floor(log10(max(1,length(LBcrit[i]))))) + Ptype = i > length(LBcrit) - length(C) ? "Pcon" : "mult" LPCside[i] = Array{Any}(undef, length(LBcrit[i])) precxtmp = precx while true flag = false for j in eachindex(LBcrit[i]) - print("mult=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") + print("$Ptype=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp) npcside = [length(n) for (I, n) in pcside] if (i == 1 && sum(npcside) > 2) || (i > 1 && sum(npcside[1:2]) != 0) @@ -214,6 +202,8 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, println("\nGraph computation") # Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot # And even remove this fiber for the graph + fct = outf ? Float64 : identity + Vert = [] Edg = [] Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ] @@ -237,8 +227,8 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, I = [ l[1] for l in PCside[3:end] ] nI = [ l[2] for l in PCside[3:end] ] - xcmid = sum(LBcrit[i][j][1])//2 - ycmid = sum(LBcrit[i][j][2])//2 + xcmid = sum(LBcrit[i][j][1])//2 |> fct + ycmid = sum(LBcrit[i][j][2])//2 |> fct ymincrit = minimum(vcat(nI[1], nI[2], [length(I[1])+1])) # Construct vertices @@ -250,7 +240,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, end else for k in 1:length(I[1]) - push!(Vert, [xcrit[i][j][1], sum(I[1][k])//2]) + push!(Vert, map(fct, [xcrit[i][j][1], sum(I[1][k])//2])) push!(Corr[i][j][1], length(Vert)) end end @@ -258,12 +248,12 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, # On the vertical right side if ind < length(xcritpermut) for k in 1:length(I[2]) - push!(Vert, [(xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4]) + push!(Vert, map(fct, [(xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4])) push!(Corr[i][j][3], length(Vert)) end else for k in 1:length(I[2]) - push!(Vert, [xcrit[i][j][2], sum(I[2][k])//2]) + push!(Vert, map(fct, [xcrit[i][j][2], sum(I[2][k])//2])) push!(Corr[i][j][3], length(Vert)) end end @@ -273,7 +263,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, #println(map(length,I)) #println(nI[1],", ", nI[2], ", ", [length(I[1])+1]) for k in 1:ymincrit-1 - push!(Vert, [xcmid, sum(I[1][k] + I[2][k])// 4]) + push!(Vert, map(fct, [xcmid, sum(I[1][k] + I[2][k])// 4])) push!(Corr[i][j][2][1], length(Vert)) push!(Edg, [Corr[i][j][1][k], length(Vert)]) # left push!(Edg, [length(Vert), Corr[i][j][3][k]]) # right @@ -322,7 +312,7 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, ########################### # Above the critical point for k=(length(I[1]) - length(nI[1]) - ymincrit+1):-1:1 - push!(Vert, [xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4]) + push!(Vert, map(fct,[xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4])) push!(Corr[i][j][2][3], length(Vert)) push!(Edg, [Corr[i][j][1][end - k + 1], length(Vert)]) # left push!(Edg, [length(Vert), Corr[i][j][3][end - k + 1]]) # right @@ -349,9 +339,21 @@ function compute_graph_param(f, C=[]; generic=true, precx = 150, v=0, arb=true, end end -function group_by_component(F::Vector{P}, C::Vector{P}; param=true, generic=true, precx=150, v=0, arb=true, int_coeff=false) where {P <: MPolyRingElem} +function compute_graph(f::P, C::Dict{Int,Vector{P}}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) + G, Vcon = compute_graph(f, collect(values(C)), generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf) + VC = Dict([ k => Vcon[i] for (i,k) in enumerate(keys(C)) ]) + return G, VC +end + +function compute_graph(f::P, C::Vector{P}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) + G, (Vcon,) = compute_graph(f, [C], generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf = outf) + return G, Vcon +end + +################################################################ +function group_by_component(f::P, C::Vector{P}; generic=true, precx=150, v=0, arb=true, int_coeff=false) where {P <: MPolyRingElem} # Compute a graph homeomorphic to Z(F) and return the vertices identified by Z(C) - G, Vcon = compute_graph(F, C, param=param, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff) + G, Vcon = compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff) # Compute the partition of the vertices in Vcon according to the connected component in G sort!(Vcon) CVcon = group_by_component(G, Vcon) @@ -359,4 +361,4 @@ function group_by_component(F::Vector{P}, C::Vector{P}; param=true, generic=true # Convert the partition into abscissa order index_map = Dict((val, idx) for (idx, val) in enumerate(Vcon)) return [map(v -> index_map[v], C) for C in CVcon] -end \ No newline at end of file +end From c5b02d892e1f7c8ce944ebd7b2a22399a0570b51 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 3 Sep 2024 00:32:36 +0200 Subject: [PATCH 043/180] function for merging graphs --- src/connectivity/graph.jl | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/connectivity/graph.jl b/src/connectivity/graph.jl index f5f1133..85c8bc8 100644 --- a/src/connectivity/graph.jl +++ b/src/connectivity/graph.jl @@ -81,4 +81,48 @@ end function number_connected_components(G) return length(connected_components(G)) +end + + +function merge_graphs(LG, VC) + # Initialize merged graph with the vertices and edges of the first graph + V_merged, E_merged = deepcopy(LG[1]) + + # To keep track of the mapping of vertices from each graph to the merged graph + all_vertex_maps = [Dict(i => i for i in 1:length(V_merged))] + + # Iterate over each graph G_i in LG starting from the second graph + for i in 2:length(LG) + V_i, E_i = LG[i] # Vertices and edges of the current graph + VC_i = VC[i] # Dictionary of common vertices for the current graph + + # Dictionary to map vertices of G_i to their new indices in V_merged + vertex_index_map = Dict() + + # Step 1: Map common vertices from G_i to existing vertices in V_merged + for (k, common_indices) in VC_i + if k < i + # Map each common vertex in G_i to its corresponding vertex in G_k (already merged) + for (j, idx) in enumerate(common_indices) + vertex_index_map[idx] = all_vertex_maps[k][VC[k][i][j]] + end + end + end + + # Step 2: Add non-common vertices from G_i to V_merged + for idx in 1:length(V_i) + if !haskey(vertex_index_map, idx) # If not already mapped, it's a new vertex + vertex_index_map[idx] = push!(V_merged, V_i[idx]) |> length + end + end + + # Step 3: Merge edges of G_i into the merged graph + new_edges = [(vertex_index_map[i], vertex_index_map[j]) for (i, j) in E_i] + append!(E_merged, new_edges) + + # Store the vertex index mapping for G_i for future merges + push!(all_vertex_maps, vertex_index_map) + end + + return V_merged, E_merged end \ No newline at end of file From a0f60f7d0b127792793b52899f411cfba3574680 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 3 Sep 2024 00:33:29 +0200 Subject: [PATCH 044/180] function for forcing parametric variable.s for msolve --- src/connectivity/paramcurve.jl | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl index 0f51ab7..2f6a719 100644 --- a/src/connectivity/paramcurve.jl +++ b/src/connectivity/paramcurve.jl @@ -5,7 +5,7 @@ #using AlgebraicSolving #import Nemo: coefficients, exponent_vectors, coeff, interpolate, MPolyBuildCtx, push_term!, finish, gens -export compute_param +export compute_param, param_newvars function rem_var(f, i) # Remove the occurence of the ith variable @@ -146,6 +146,16 @@ function compute_param(F; use_lfs = false, lfs = []) return [R.S, lf_cfs, POLY_PARAM[1], POLY_PARAM[2], POLY_PARAM[3:end]] end +function param_newvars(F::Vector{P} where P <: MPolyRingElem, Svars::Vector{Symbol}, cfs_lf::Vector{Vector{I}} where I<:Union{ZZRingElem, QQFieldElem}) + eq = change_ringvar(F, Svars) + newvarias = gens(parent(first(eq))) + neweq = vcat(eq, [ transpose(lf)*newvarias for lf in cfs_lf ]) + + C = rational_parametrization(Ideal(neweq)) + return change_ringvar([C.elim, C.elim == -1 ? C.elim : C.param[end], C.denom], [:x,:y]) +end + + #= # Tests R, (a,b,c) = polynomial_ring(QQ, [:a,:b,:c]) From 3eff83db8d4526a3ffe041d078451017ff8e7e42 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 3 Sep 2024 11:52:43 +0200 Subject: [PATCH 045/180] adapted data types --- src/connectivity/connectcurves.jl | 38 +++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 9b07538..5bbda3f 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -202,10 +202,10 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t println("\nGraph computation") # Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot # And even remove this fiber for the graph - fct = outf ? Float64 : identity - - Vert = [] - Edg = [] + fct, typeout = outf ? (Float64, Float64) : (identity, QQFieldElem) + + Vert = Vector{Tuple{typeout, typeout}}() + Edg = Vector{Tuple{Int, Int}}() Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ] Viso = [] Vcon = [ [] for _ in 1:length(C) ] @@ -240,7 +240,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t end else for k in 1:length(I[1]) - push!(Vert, map(fct, [xcrit[i][j][1], sum(I[1][k])//2])) + push!(Vert, (xcrit[i][j][1], sum(I[1][k])//2) .|> fct) push!(Corr[i][j][1], length(Vert)) end end @@ -248,12 +248,12 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t # On the vertical right side if ind < length(xcritpermut) for k in 1:length(I[2]) - push!(Vert, map(fct, [(xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4])) + push!(Vert, ((xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4) .|> fct) push!(Corr[i][j][3], length(Vert)) end else for k in 1:length(I[2]) - push!(Vert, map(fct, [xcrit[i][j][2], sum(I[2][k])//2])) + push!(Vert, (xcrit[i][j][2], sum(I[2][k])//2) .|> fct) push!(Corr[i][j][3], length(Vert)) end end @@ -263,10 +263,10 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t #println(map(length,I)) #println(nI[1],", ", nI[2], ", ", [length(I[1])+1]) for k in 1:ymincrit-1 - push!(Vert, map(fct, [xcmid, sum(I[1][k] + I[2][k])// 4])) + push!(Vert, (xcmid, sum(I[1][k] + I[2][k])// 4) .|> fct) push!(Corr[i][j][2][1], length(Vert)) - push!(Edg, [Corr[i][j][1][k], length(Vert)]) # left - push!(Edg, [length(Vert), Corr[i][j][3][k]]) # right + push!(Edg, (Corr[i][j][1][k], length(Vert))) # left + push!(Edg, (length(Vert), Corr[i][j][3][k])) # right end ########################### # The critical point @@ -288,21 +288,21 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t ############################################ else # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 - push!(Edg, [Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]]]) - push!(Edg, [Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]]]) + push!(Edg, (Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]])) + push!(Edg, (Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]])) push!(Lapp[2], (i,j)) end else # We can add the vertex - push!(Vert, [xcmid, ycmid]) + push!(Vert, (xcmid, ycmid)) push!(Corr[i][j][2][2], length(Vert)) # We connect to the vertical left side of the critical box for k in nI[1] - push!(Edg, [Corr[i][j][1][k], length(Vert)]) + push!(Edg, (Corr[i][j][1][k], length(Vert))) end # We connect to the vertical right side of the critical box for k in nI[2] - push!(Edg, [length(Vert), Corr[i][j][3][k]]) + push!(Edg, (length(Vert), Corr[i][j][3][k])) end if i > length(params)-length(C) # If this is a control point @@ -312,10 +312,10 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t ########################### # Above the critical point for k=(length(I[1]) - length(nI[1]) - ymincrit+1):-1:1 - push!(Vert, map(fct,[xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4])) + push!(Vert, (xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4) .|> fct) push!(Corr[i][j][2][3], length(Vert)) - push!(Edg, [Corr[i][j][1][end - k + 1], length(Vert)]) # left - push!(Edg, [length(Vert), Corr[i][j][3][end - k + 1]]) # right + push!(Edg, (Corr[i][j][1][end - k + 1], length(Vert))) # left + push!(Edg, (length(Vert), Corr[i][j][3][end - k + 1])) # right end end @@ -341,7 +341,7 @@ end function compute_graph(f::P, C::Dict{Int,Vector{P}}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) G, Vcon = compute_graph(f, collect(values(C)), generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf) - VC = Dict([ k => Vcon[i] for (i,k) in enumerate(keys(C)) ]) + VC = Dict{Int64, Vector{Int}}([ k => Vcon[i] for (i,k) in enumerate(keys(C)) ]) return G, VC end From e22a70be84c2c108d2b890e031d14e49b02fe4a8 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 3 Sep 2024 11:53:05 +0200 Subject: [PATCH 046/180] merge list of graphs --- src/connectivity/graph.jl | 50 +++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/src/connectivity/graph.jl b/src/connectivity/graph.jl index 85c8bc8..5f50f4e 100644 --- a/src/connectivity/graph.jl +++ b/src/connectivity/graph.jl @@ -5,7 +5,7 @@ function index_of(x, L) return findfirst(t->t==x,L) end -function connected_components(G; Vemph=[], ind_abs=false) +function connected_components(G, Vemph=[]; ind_abs=false) # Outputs subgraphs of the connected components ########### vert, edges = G @@ -57,11 +57,7 @@ function connected_components(G; Vemph=[], ind_abs=false) for i in eachindex(components) for j in eachindex(components[i]) if components[i][j] in Vemph - if ind_abs - push!(CVemph[i], components[i][j]) - else - push!(CVemph[i], j) - end + push!(CVemph[i], ind_abs ? components[i][j] : j) end end end @@ -75,7 +71,7 @@ function connected_components(G; Vemph=[], ind_abs=false) end function group_by_component(G, V) - CG = connected_components(G, Vemph=V, ind_abs=true) + CG = connected_components(G, V, ind_abs=true) return filter(c->length(c)>0, [ C[2] for C in CG ]) end @@ -84,45 +80,47 @@ function number_connected_components(G) end -function merge_graphs(LG, VC) +function merge_graphs(LG::Vector{Tuple{Vector{Tuple{T,T}}, Vector{Tuple{Int,Int}}}} where T<:Union{Float64, QQFieldElem}, LVC::Vector{Dict{Int, Vector{Int}}}) # Initialize merged graph with the vertices and edges of the first graph - V_merged, E_merged = deepcopy(LG[1]) + Vtot, Etot = deepcopy(LG[1]) # To keep track of the mapping of vertices from each graph to the merged graph - all_vertex_maps = [Dict(i => i for i in 1:length(V_merged))] + all_vertex_maps = [Dict(i => i for i in 1:length(Vtot))] # Iterate over each graph G_i in LG starting from the second graph for i in 2:length(LG) - V_i, E_i = LG[i] # Vertices and edges of the current graph - VC_i = VC[i] # Dictionary of common vertices for the current graph + Vi, Ei = LG[i] # Vertices and edges of the current graph - # Dictionary to map vertices of G_i to their new indices in V_merged + # Dictionary to map vertices of Gi to their new indices in Vtot vertex_index_map = Dict() - # Step 1: Map common vertices from G_i to existing vertices in V_merged - for (k, common_indices) in VC_i + # Step 1: Map common vertices from Gi to existing vertices in Vtot + for (k, common_indices) in LVC[i] if k < i - # Map each common vertex in G_i to its corresponding vertex in G_k (already merged) + # Map each common vertex in Gi to its corresponding vertex in Gk (already merged) for (j, idx) in enumerate(common_indices) - vertex_index_map[idx] = all_vertex_maps[k][VC[k][i][j]] + vertex_index_map[idx] = all_vertex_maps[k][LVC[k][i][j]] end end end - # Step 2: Add non-common vertices from G_i to V_merged - for idx in 1:length(V_i) + # Step 2: Add non-common vertices from Gi to Vtot + for idx in 1:length(Vi) if !haskey(vertex_index_map, idx) # If not already mapped, it's a new vertex - vertex_index_map[idx] = push!(V_merged, V_i[idx]) |> length + vertex_index_map[idx] = push!(Vtot, Vi[idx]) |> length end end + # Step 3: Merge edges of Gi into the merged graph + new_edges = [(vertex_index_map[i], vertex_index_map[j]) for (i, j) in Ei] + append!(Etot, new_edges) - # Step 3: Merge edges of G_i into the merged graph - new_edges = [(vertex_index_map[i], vertex_index_map[j]) for (i, j) in E_i] - append!(E_merged, new_edges) - - # Store the vertex index mapping for G_i for future merges + # Store the vertex index mapping for Gi for future merges push!(all_vertex_maps, vertex_index_map) end - return V_merged, E_merged + return Vtot, Etot +end + +function merge_graphs(LGVC::Vector{Tuple{Tuple{Vector{Tuple{T, T}}, Vector{Tuple{Int64, Int64}}}, Dict{Int64, Vector{Int64}}}} where T<:Union{Float64, QQFieldElem}) + return merge_graphs(first.(LGVC), last.(LGVC)) end \ No newline at end of file From aba9c462824842652fa56c6d976ec0908ec3b521 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 3 Sep 2024 11:53:44 +0200 Subject: [PATCH 047/180] more flexible plot functions --- src/connectivity/plots.jl | 57 +++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 421a272..495b51d 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -1,9 +1,12 @@ ## Plot functions -function plot_graph(G, Vemph=[]; color="red", width=3, vert = true) - println("Plotting the graph") +function plot_graph(G, Vemph::Vector{Vector{T}}=Vector{Vector{T}}(); color="red", width=3, vert=true, subplt=false) where T<:Any + if !subplt + println("Plotting the graph") + plot(legend=false) + end V, E = G - plot(legend=false) + #col = distinguishable_colors(length(Vemph)+2) for e in E v1, v2 = [ map(Float64, V[ee]) for ee in e ] plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=color, lw=width) @@ -11,24 +14,29 @@ function plot_graph(G, Vemph=[]; color="red", width=3, vert = true) if vert scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) end - scatter!( map(Float64, [V[i][1] for i in Vemph]), map(Float64, [V[i][2] for i in Vemph]), mc=color, m=:diamond) - gui() + for i in 1:length(Vemph) + scatter!( map(Float64, [V[j][1] for j in Vemph[i]]), map(Float64, [V[j][2] for j in Vemph[i]]), mc=color, m=:diamond) + end + #gui() end -function plot_graphs(CG; width=3, vert=true) - println("Plotting the graph") - plot(legend=false) +function plot_graph(G, Vemph::Vector{T} where T<:Any; color="red", width=3, vert=true, subplt=false) + plot_graph(G, [Vemph], color=color, width=width, vert=vert, subplt=subplt) +end + +function plot_graph(G, Vemph::Dict{Int, Vector{T}} where T<:Any; color="red", width=3, vert=true, subplt=false) + plot_graph(G, Vemph|>values|>collect, color=color, width=width, vert=vert, subplt=subplt) +end + +function plot_graphs(CG; width=3, vert=true, subplt=false) + if !subplt + println("Plotting the graph") + plot(legend=false) + end col = distinguishable_colors(length(CG)+2) for j in eachindex(CG) - (V, E), CVemph = length(CG[j][1])==2 ? CG[j] : (CG[j], []) - for e in E - v1, v2 = [ map(Float64, V[ee]) for ee in e ] - plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=width) - end - if vert - scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) - end - scatter!( map(Float64, [V[i][1] for i in CVemph]), map(Float64, [V[i][2] for i in CVemph]), mc=col[j+2], m=:diamond) + G, CVemph = length(CG[j][1])==2 ? CG[j] : (CG[j], Vector{Int}()) + plot_graph(G, CVemph, color=col[j+2], subplt=true) end gui() end @@ -36,18 +44,7 @@ end function plot_graph_comp(G, Vemph=[]; width=3, vert=true) println("Plotting the graph") plot(legend=false) - CG = connected_components(G, Vemph=Vemph) - col = distinguishable_colors(length(CG)+2) - for j in eachindex(CG) - (V, E), CVemph = length(Vemph)>1 ? CG[j] : (CG[j], []) - for e in E - v1, v2 = [ map(Float64, V[ee]) for ee in e ] - plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=col[j+2], lw=width) - end - if vert - scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) - end - scatter!( map(Float64, [V[i][1] for i in CVemph]), map(Float64, [V[i][2] for i in CVemph]), mc=col[j+2], m=:diamond) - end + CG = connected_components(G, Vemph) + plot_graphs(CG, width=width, vert=vert, subplt=true) gui() end \ No newline at end of file From bf2cee10209147b702d5dc3d71116f0464be1122 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sat, 7 Sep 2024 10:44:52 +0200 Subject: [PATCH 048/180] multi-threading with msolve --- src/connectivity/Cannytools.jl | 10 +++++----- src/connectivity/computeRM.jl | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 5e9d489..6dc5a85 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -60,7 +60,7 @@ end -function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0) +function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" R = parent(V) @@ -72,11 +72,11 @@ function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; d hW = vcat(hV, compute_minors(sizeminors, JW, R)) output_functions = Dict( "minors" => x -> x, - "groebner" => x -> groebner_basis(x, info_level=verb), - "real" => x -> real_solutions(x, info_level=verb), - "interval" => x -> real_solutions(x, interval=true, info_level=verb), + "groebner" => x -> groebner_basis(x, info_level=verb,nr_thrds=nr_thrds), + "real" => x -> real_solutions(x, info_level=verb,nr_thrds=nr_thrds), + "interval" => x -> real_solutions(x, interval=true, info_level=verb,nr_thrds=nr_thrds), #"interval" => x -> inter_solutions(x, info_level=verb), - "parametric" => x -> rational_parametrization(x, info_level=verb) + "parametric" => x -> rational_parametrization(x, info_level=verb,nr_thrds=nr_thrds) ) return output_functions[output](AlgebraicSolving.Ideal(hW)) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 9f02732..65ab9c8 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -10,7 +10,7 @@ export change_ringvar, compute_minors, detmpoly include("Cannytools.jl") -function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{Vector{QQFieldElem}}([[]]) ) +function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{Vector{QQFieldElem}}([[]]) ; v=0) # V is a variety of dimension dimV # Q are base points with rational coefficients # C are query points with rational coefficients @@ -39,20 +39,20 @@ function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{V else ## sing(Fq) ## #println("Compute first the singular points") - singFq = computepolarproj(0, Fq, dimV-e, newvarias, output="real", verb=0) + singFq = computepolarproj(0, Fq, dimV-e, newvarias, output="real", verb=v, nr_thrds=Threads.nthreads()) @assert(length(singFq)==0, "Non-emtpy real sing locus!") #@assert(degree(singFq.elim)==0, "Non-emtpy sing locus!") ## K(pi_1,Fq) ## - K1Fq = computepolarproj(1, Fq, dimV-e, newvarias, output="interval", verb=0) + K1Fq = computepolarproj(1, Fq, dimV-e, newvarias, output="interval", verb=v, nr_thrds=Threads.nthreads()) ## K(pi_2, Fq) ## - K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors") + K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors", verb=v, nr_thrds=Threads.nthreads()) polar = change_ringvar(K2Fq.gens, A.S) push!(R, AlgebraicSolving.Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) ## Points with vertical tg in K(pi_2, Fq) ## - K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=0) + K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=v, nr_thrds=Threads.nthreads()) ## New base points ## K1W = vcat(K1Fq, K1WmFq) From 2921fe716096ae281b58a25f335357c48786b7a6 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sat, 7 Sep 2024 10:46:15 +0200 Subject: [PATCH 049/180] multi-threading for curve parametrization --- src/connectivity/paramcurve.jl | 39 ++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl index 2f6a719..7ad5595 100644 --- a/src/connectivity/paramcurve.jl +++ b/src/connectivity/paramcurve.jl @@ -98,10 +98,13 @@ function compute_param(F; use_lfs = false, lfs = []) append!(F, [ transpose(lf)*varias for lf in lf_cfs ]) end # Compute DEG+1 evaluations of the param (whose deg is bounded by DEG) - PARAM = Vector{Vector{AlgebraicSolving.QQPolyRingElem}}(undef,0) - _values = Vector{QQFieldElem}(undef,0) - i = 1 - while length(_values) < DEG+2 + println("Parametrization step...") + @time begin + PARAM = Vector{Vector{AlgebraicSolving.QQPolyRingElem}}(undef,DEG+2) + _values = Vector{QQFieldElem}(undef,DEG+2) + i, c = 1, 0 + while c < DEG+2 + #println("$c/ $(DEG+2)") if i > 2*(DEG+2) error("Too many bad specializations") end @@ -109,14 +112,15 @@ function compute_param(F; use_lfs = false, lfs = []) #try Feval = [ evaluate(f, [N-1], [QQ(i)]) for f in F ] Feval = [ rem_var(f, N-1) for f in Feval ] - r = rational_parametrization(Ideal(Feval)) + r = rational_parametrization(Ideal(Feval), nr_thrds=Threads.nthreads()) # For lifting: the same variable must be chosen for the param if r.vars == rem_ind(R.S, N-1) lc = leading_coefficient(r.elim) # TODO: why dividing by lc ? rr = [ p/lc for p in vcat(r.elim, r.denom, r.param) ] - push!(PARAM, rr) - push!(_values, QQ(i)) + PARAM[i] = rr + _values[i] = QQ(i) + c += 1 else println("bad specialization: ", i) end @@ -125,22 +129,29 @@ function compute_param(F; use_lfs = false, lfs = []) #end i += 1 end + end # Interpolate each coefficient of each poly in the param - POLY_PARAM = Vector{QQMPolyRingElem}(undef,0) + println("Interpolation step...") + @time begin + POLY_PARAM = Vector{QQMPolyRingElem}(undef,N) T, (x,y) = polynomial_ring(QQ, [:x,:y]) - for count in 1:N - COEFFS = [] - for deg in 0:DEG - _evals = [ coeff(PARAM[i][count], deg) for i in 1:length(PARAM)] - push!(COEFFS, interpolate(polynomial_ring(QQ,"u")[1], _values, _evals)) + A, u = polynomial_ring(QQ, :u) + Threads.@threads for count in 1:N + #println("$count/$N") + COEFFS = Vector{QQPolyRingElem}(undef, DEG+1) + Threads.@threads for deg in 0:DEG + #println("$deg/$DEG") + _evals = [coeff(PARAM[i][count], deg) for i in 1:length(PARAM)] + COEFFS[deg+1] = interpolate(A, _values, _evals) end C = [ collect(coefficients(c)) for c in COEFFS ] POL_term = [C[i][j]*x^(i-1)*y^(j-1) for i in 1:length(C) for j in 1:length(C[i])] POL = length(POL_term) > 0 ? sum(POL_term) : T(0) - push!(POLY_PARAM, POL) + POLY_PARAM[count] = POL + end end return [R.S, lf_cfs, POLY_PARAM[1], POLY_PARAM[2], POLY_PARAM[3:end]] From 22339b9939ff373da805a14e2cccbf914d474b01 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sat, 7 Sep 2024 10:46:32 +0200 Subject: [PATCH 050/180] multi-modular subresultant --- Manifest.toml | 13 ++++++++++++- Project.toml | 1 + src/connectivity/connectcurves.jl | 2 +- src/connectivity/subresultants.jl | 27 ++++++++++++++++++++++++++- src/imports.jl | 1 + 5 files changed, 41 insertions(+), 3 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 34b82dd..230d183 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.10.1" manifest_format = "2.0" -project_hash = "41b78713eea3ae65743b4a45ba2e4e27496d5a74" +project_hash = "4d3be6417b0dd2907e17a74f5ed176639eddabae" [[deps.AbstractAlgebra]] deps = ["InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] @@ -263,6 +263,11 @@ git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" version = "2.8.1+1" +[[deps.IntegerMathUtils]] +git-tree-sha1 = "b8ffb903da9f7b8cf695a8bead8e01814aa24b30" +uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" +version = "0.1.2" + [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" @@ -625,6 +630,12 @@ git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" uuid = "21216c6a-2e73-6563-6e65-726566657250" version = "1.4.3" +[[deps.Primes]] +deps = ["IntegerMathUtils"] +git-tree-sha1 = "cb420f77dc474d23ee47ca8d14c90810cafe69e7" +uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" +version = "0.5.6" + [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" diff --git a/Project.toml b/Project.toml index 0f312c7..f50a22d 100644 --- a/Project.toml +++ b/Project.toml @@ -10,6 +10,7 @@ Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" +Primes = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 5bbda3f..ed4c30c 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -7,7 +7,7 @@ export compute_graph, connected_components, number_connected_components, group_b plot_graph, plot_graphs, plot_graph_comp, compute_param # DEBUG - export subresultants, diff, diff_list + export mmod_subresultants, subresultants, diff, diff_list include("tools.jl") include("subresultants.jl") diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index da237e5..db56743 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -49,6 +49,7 @@ function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingEl while true d = degree(A) e = degree(B) + println("($d,$e)") if iszero(B) return S end @@ -85,7 +86,7 @@ function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingEl if e == 0 return S end - B = pseudorem(A,-B) / (s^delta * leading_coefficient(A)) + @time B = pseudorem(A,-B) / (s^delta * leading_coefficient(A)) A = copy(C) s = leading_coefficient(A) end @@ -135,3 +136,27 @@ function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false return newsr end + +function mmod_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false) where T <: RingElement + prim = nextprime(2^(30)) + L1, primprod = [], ZZ(1) + i=1 + while true + print("$i, ") + if !all([ divides(ZZ(prim), evaluate(leading_coefficient(l, 2),[0,0]))[1] for l in [P,Q] ]) + L2 = deepcopy(L1) + Pprim, Qprim = [ change_coefficient_ring(GF(prim), poly) for poly in [P,Q] ] + sr = subresultants(Pprim, Qprim, idx)[1] + L1 = lift.(Ref(ZZ), coefficients_of_univariate(sr)) + if L2 != [] + L1 = [ crt(L2[i], primprod, L1[i], ZZ(prim), true) for i in 1:length(L2) ] + end + primprod *= ZZ(prim) + L1 != L2 || break + end + prim = nextprime(prim+1) + i+=1 + end + println() + return L1 +end diff --git a/src/imports.jl b/src/imports.jl index 80314a7..fd2ac19 100644 --- a/src/imports.jl +++ b/src/imports.jl @@ -5,6 +5,7 @@ using Nemo using LinearAlgebra using StaticArrays using Plots, Colors +using Primes #pythonplot() import Plots: plot From d5e8033066c18c411c5473756794d2ea9f56e69a Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 16 Sep 2024 13:07:54 +0200 Subject: [PATCH 051/180] tranpose of jac + polarphi --- src/connectivity/Cannytools.jl | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 6dc5a85..70b8138 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -58,8 +58,6 @@ function change_ringvar(f::MPolyRingElem) return first(change_ringvar([f])) end - - function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" @@ -67,7 +65,7 @@ function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; d n, hV = R.nvars, V.gens c = n - dimV - JW = [ derivative(f, k) for k=j+1:n, f in hV ] + JW = transpose([ derivative(f, k) for k=j+1:n, f in hV ]) sizeminors = c + dimproj - (j-1) hW = vcat(hV, compute_minors(sizeminors, JW, R)) output_functions = Dict( @@ -75,7 +73,32 @@ function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; d "groebner" => x -> groebner_basis(x, info_level=verb,nr_thrds=nr_thrds), "real" => x -> real_solutions(x, info_level=verb,nr_thrds=nr_thrds), "interval" => x -> real_solutions(x, interval=true, info_level=verb,nr_thrds=nr_thrds), - #"interval" => x -> inter_solutions(x, info_level=verb), + "parametric" => x -> rational_parametrization(x, info_level=verb,nr_thrds=nr_thrds) + ) + + return output_functions[output](AlgebraicSolving.Ideal(hW)) +end + +function computepolarphi(j::Int, V::AlgebraicSolving.Ideal, phi::MPolyRingElem, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) + # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj + @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" + R = parent(V) + n, hV = R.nvars, V.gens + c = n - dimV + + if j==0 + JW = transpose([ derivative(f, k) for k=1:n, f in hV ]) + sizeminors = c + else + JW = transpose([ derivative(f, k) for k=j:n, f in [hV;[phi]] ]) + sizeminors = c + 1 + dimproj - (j-1) + end + hW = vcat(hV, compute_minors(sizeminors, JW, R)) + output_functions = Dict( + "minors" => x -> x, + "groebner" => x -> groebner_basis(x, info_level=verb,nr_thrds=nr_thrds), + "real" => x -> real_solutions(x, info_level=verb,nr_thrds=nr_thrds), + "interval" => x -> real_solutions(x, interval=true, info_level=verb,nr_thrds=nr_thrds), "parametric" => x -> rational_parametrization(x, info_level=verb,nr_thrds=nr_thrds) ) From c7207d7b80b856ab168c1f05af48c87b5e236198 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 16 Sep 2024 13:08:42 +0200 Subject: [PATCH 052/180] export some functions --- src/connectivity/computeRM.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 65ab9c8..9e5ce48 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,7 +4,7 @@ #using AlgebraicSolving #using Nemo -export computeRM, computepolarproj +export computeRM, computepolarproj, computepolarphi # DEBUG export change_ringvar, compute_minors, detmpoly From 5ec905cee030171ce71918e180f9a391576013c3 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 16 Sep 2024 13:09:19 +0200 Subject: [PATCH 053/180] fix invert variable change --- src/connectivity/connectcurves.jl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index ed4c30c..6b3a7fb 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -7,7 +7,7 @@ export compute_graph, connected_components, number_connected_components, group_b plot_graph, plot_graphs, plot_graph_comp, compute_param # DEBUG - export mmod_subresultants, subresultants, diff, diff_list + export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd include("tools.jl") include("subresultants.jl") @@ -329,7 +329,11 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t #plot_graph_comp(Vert,CEdg) # Operate inverse change of variable if necessary if !(generic) - Vert = [ changemat*v for v in Vert ] + for i in eachindex(Vert) + vx,vy = Vert[i] + vx,vy = Float64.(changemat*[vx, vy]) + Vert = [ (vx, vy) for v in Vert ] + end end if length(C)>0 From 7249b75487408ac1a602f1726c1fcd613d5c8d4a Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 16 Sep 2024 13:09:54 +0200 Subject: [PATCH 054/180] handle ideal parametrization --- src/connectivity/paramcurve.jl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl index 7ad5595..d2e5f6e 100644 --- a/src/connectivity/paramcurve.jl +++ b/src/connectivity/paramcurve.jl @@ -39,8 +39,11 @@ function deg_Alg(F, dim) return degree(r.elim) end +function compute_param(I::Ideal{P} where P<:MPolyRingElem; use_lfs = false, lfs = []) + return compute_param(I.gens, use_lfs = use_lfs, lfs = lfs) +end -function compute_param(F; use_lfs = false, lfs = []) +function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs = []) R = parent(first(F)) varias, N = gens(R), nvars(R) DEG = deg_Alg(F,1) From 7ea060ae9a40cf1b2d5a4c4e6f2ab76be115db00 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 16 Sep 2024 13:10:24 +0200 Subject: [PATCH 055/180] fix subplots and gui display --- src/connectivity/plots.jl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 495b51d..d3d8739 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -1,6 +1,6 @@ ## Plot functions -function plot_graph(G, Vemph::Vector{Vector{T}}=Vector{Vector{T}}(); color="red", width=3, vert=true, subplt=false) where T<:Any +function plot_graph(G, Vemph::Vector{Vector{T}} where T<:Any; color="red", width=3, vert=true, subplt=false) if !subplt println("Plotting the graph") plot(legend=false) @@ -17,7 +17,11 @@ function plot_graph(G, Vemph::Vector{Vector{T}}=Vector{Vector{T}}(); color="red" for i in 1:length(Vemph) scatter!( map(Float64, [V[j][1] for j in Vemph[i]]), map(Float64, [V[j][2] for j in Vemph[i]]), mc=color, m=:diamond) end - #gui() + subplt || gui() +end + +function plot_graph(G; color="red", width=3, vert=true, subplt=false) + plot_graph(G, Vector{Vector{QQMPolyRingElem}}(); color=color, width=width, vert=vert, subplt=subplt) end function plot_graph(G, Vemph::Vector{T} where T<:Any; color="red", width=3, vert=true, subplt=false) @@ -38,7 +42,7 @@ function plot_graphs(CG; width=3, vert=true, subplt=false) G, CVemph = length(CG[j][1])==2 ? CG[j] : (CG[j], Vector{Int}()) plot_graph(G, CVemph, color=col[j+2], subplt=true) end - gui() + subplt || gui() end function plot_graph_comp(G, Vemph=[]; width=3, vert=true) @@ -46,5 +50,5 @@ function plot_graph_comp(G, Vemph=[]; width=3, vert=true) plot(legend=false) CG = connected_components(G, Vemph) plot_graphs(CG, width=width, vert=vert, subplt=true) - gui() + subplt || gui() end \ No newline at end of file From 49d3293e497b4217204e5eb0c2b2b0033d8386d1 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 16 Sep 2024 13:12:14 +0200 Subject: [PATCH 056/180] begin interpolation subresultant + fact gcd --- src/connectivity/subresultants.jl | 49 ++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index db56743..b03e647 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -49,7 +49,7 @@ function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingEl while true d = degree(A) e = degree(B) - println("($d,$e)") + #println("($d,$e)") if iszero(B) return S end @@ -86,7 +86,8 @@ function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingEl if e == 0 return S end - @time B = pseudorem(A,-B) / (s^delta * leading_coefficient(A)) + #@time + B = pseudorem(A,-B) / (s^delta * leading_coefficient(A)) A = copy(C) s = leading_coefficient(A) end @@ -137,13 +138,40 @@ function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false return newsr end +function interp_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, iv; list=false) where T <: RingElement + R = parent(P) + A = coefficient_ring(R) + iu = iv%2+1 + Vu, Vv = [:x, :y] + # Modern computer Algebra Th 6.51. + degs = degrees(P) + n, d = degs[iv], degs[iu] + degsmax = [ (2*n-1-2*k)*d for k=0:d-2 ] + Dmax = degsmax[end]>>1+1 + ## + xs = [ rand(A) for _=1:(degsmax[1]+1) ] + @time begin + Srev = [ subresultants(change_ringvar(evaluate(P,[iu],[xx]),[Vv]), change_ringvar(evaluate(Q,[iu],[xx]),[Vv])) for xx in xs ] + end + S,t = Nemo.polynomial_ring(A,Vu) + Sr = [ [ S(0) for _=1:i] for i=1:n-2 ] + for i = 1:n-2 + for j = 1:i + ys = [ A(Srev[l][i][j]) for l=eachindex(Srev) ] + Sr[i][j] = interpolate(S, xs, ys) + end + end + return Sr +end + function mmod_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false) where T <: RingElement prim = nextprime(2^(30)) L1, primprod = [], ZZ(1) i=1 while true - print("$i, ") if !all([ divides(ZZ(prim), evaluate(leading_coefficient(l, 2),[0,0]))[1] for l in [P,Q] ]) + print("$i: ") + @time begin L2 = deepcopy(L1) Pprim, Qprim = [ change_coefficient_ring(GF(prim), poly) for poly in [P,Q] ] sr = subresultants(Pprim, Qprim, idx)[1] @@ -153,10 +181,23 @@ function mmod_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list= end primprod *= ZZ(prim) L1 != L2 || break + i+=1 + end end prim = nextprime(prim+1) - i+=1 end println() return L1 end + +function fact_gcd(delta, Lsr, mult) + Lphi = [gcd(delta, Lsr[1])] + Ldelta = [delta/Lphi[1]] + i = 2 + while idegree(s[2])>0, Dict(enumerate(Ldelta))) +end \ No newline at end of file From 9e1a71605c3ca70bfb776ab6f5e0b1f6a2e97bd8 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 17 Sep 2024 20:32:11 +0200 Subject: [PATCH 057/180] fix problem arb, refine critical boxes + fix inverse coordinate change --- src/connectivity/arbtools.jl | 16 +++++-- src/connectivity/connectcurves.jl | 72 +++++++++++++++++++------------ 2 files changed, 57 insertions(+), 31 deletions(-) diff --git a/src/connectivity/arbtools.jl b/src/connectivity/arbtools.jl index 5fa4073..cafa221 100644 --- a/src/connectivity/arbtools.jl +++ b/src/connectivity/arbtools.jl @@ -9,12 +9,22 @@ function rat_to_Arb(x, prec) return ball(xm,xd) end -function evaluate_Arb(f, x, prec) +function evaluate_Arb(f, x::ArbFieldElem) if is_zero(f) - return ArbField(prec)(0) + return zero(parent(x)) else cf = coefficients_of_univariate(f) - return evalpoly(ArbField(prec)(x), cf) + return evalpoly(x, cf) + end +end + +function evaluate_Arb(f, g, x::ArbFieldElem) + @assert !is_zero(g) "Denominator must be non-zero" + if is_zero(f) + return zero(parent(x)) + else + cf, cg = coefficients_of_univariate.([f, g]) + return evalpoly(x, cf) / evalpoly(x, cg) end end diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 6b3a7fb..4920c38 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -4,10 +4,11 @@ #pythonplot() export compute_graph, connected_components, number_connected_components, group_by_component, merge_graphs, - plot_graph, plot_graphs, plot_graph_comp, compute_param + plot_graph, plot_graphs, plot_graph_comp, compute_param, Bresultant # DEBUG - export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd + export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, + rat_to_Arb, evaluate_Arb, evaluate_Arb_rat, int_coeffs include("tools.jl") include("subresultants.jl") @@ -16,8 +17,9 @@ include("boxes.jl") include("graph.jl") include("plots.jl") include("arbtools.jl") +include("src/resultant/bresultant.jl") -function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf=true) where (P <: MPolyRingElem) +function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) println("\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") println("!! Careful: this is a WIP version !!") println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") @@ -39,10 +41,11 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t println("\nCompute parametrization of critical pts...") - @time begin - sr = subresultants(f, derivative(f,y), 2, list=true) + @time sr = subresultants(change_coefficient_ring(ZZ,f), change_coefficient_ring(ZZ,derivative(f,y)), 2, list=true) + sr = [ [ change_coefficient_ring(QQ,p) for p in srp ] for srp in sr ] # Take sqfree factors of the resultant sqr = collect(factor_squarefree(sr[1][1])) + #println(sqr) # Keep only deg>0 factors filter!(t->t[2]>0, sqr) # Order by multiplicity @@ -52,37 +55,48 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t for r in sqr group_sqr[r[2]][1] *= r[1] end + #filter!(t->total_degree(t[1])>0, group_sqr) + iparam = Dict([1=>2, 2=>2, 3=>2]) # Construct the parametrization of the critical points - params = [ [ q[1], -sr[2][1], sr[2][2] ] for q in group_sqr ]; + params = [ [ q[1], -sr[iparam[q[2]]][1], (iparam[q[2]]-1)*sr[iparam[q[2]]][2] ] for q in group_sqr ]; + #println(params) append!(params, C) - end if arb - # TODO : check that no overlap between different isolations - println("\nIsolating critical values with precision ", precx,"..") - @time begin - xcrit = [ isolate(first(p), prec=precx) for p in params ] - for i in eachindex(xcrit) - for j in eachindex(xcrit[i]) - if xcrit[i][j][1]==xcrit[i][j][2] - xcrit[i][j] = [xcrit[i][j][1]-1//ZZ(1)<t[1]) for p in params ] + # TODO: parameter -I + LBcrit = [ sort(real_solutions(AlgebraicSolving.Ideal([p[1], p[3]*y-p[2]]), precision=precx, info_level=2,interval=true),by=t->t[1]) for p in params ] for i in eachindex(LBcrit) for j in eachindex(LBcrit[i]) for k in eachindex(LBcrit[i][j]) @@ -96,7 +110,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t xcritpermut = order_permut2d(xcrit); end end - + @time begin println("\nTest for identifying singular boxes");ts=time(); ######################################################## @@ -199,6 +213,8 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t end end + #return LnPCside + println("\nGraph computation") # Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot # And even remove this fiber for the graph @@ -332,7 +348,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t for i in eachindex(Vert) vx,vy = Vert[i] vx,vy = Float64.(changemat*[vx, vy]) - Vert = [ (vx, vy) for v in Vert ] + Vert[i] = (vx, vy) end end From 4009bf087ec95dec74e1c1e8530ce6165ac7a2f0 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 17 Sep 2024 20:32:51 +0200 Subject: [PATCH 058/180] significant improvement of isolation + use default usolve --- src/connectivity/isolate.jl | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/connectivity/isolate.jl b/src/connectivity/isolate.jl index 4dce6ca..bd8cb25 100644 --- a/src/connectivity/isolate.jl +++ b/src/connectivity/isolate.jl @@ -1,21 +1,30 @@ include("src/usolve/usolve.jl") -function isolate(f; prec = 32, software="msolve") +function isolate(f; prec = 32, software="usolve") # Univariate isolation using usolve + if total_degree(f) == 0 + return [] + end @assert is_univariate(f) "Not univariate polynomial" if software == "usolve" - return getindex.(usolve(f, precision = prec, uspath="src/usolve/usolve"),2) + return usolve(f, precision = prec, uspath="AlgebraicSolving.jl/src/connectivity/src/usolve/usolve", output="inter") else - fvar = vars(f)[1] - sols = real_solutions(Ideal(vcat([f], [ t for t in gens(parent(f)) if t!=fvar ])), precision=prec, interval=true) - return getindex.(sols, var_index(fvar)) + #println(f) + sols = real_solutions(Ideal([change_ringvar(f)]), precision=prec, interval=true) + return getindex.(sols, 1) end end -function isolate_eval(f, ivar, val; prec=64) +function isolate_eval(f, ivar, val; prec=64, software="usolve") + #print(val) # univariate isolation of roots of a bivariate polynomial f # whose ivar-th variable is evaluated at val # uses msolve - sols = real_solutions(Ideal([f, gens(parent(f))[ivar] - val]), precision=prec, interval=true) - return [ s[ivar%2+1] for s in sols ] + fev = change_ringvar(evaluate(f, [ivar], [val])) + CD = lcm(map(denominator, collect(coefficients(fev)))) + fev *= CD + + return isolate(fev, prec=prec, software=software) + + end \ No newline at end of file From 71dd357287e4aab40c7f93f8163489dbe267dd03 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 17 Sep 2024 20:33:18 +0200 Subject: [PATCH 059/180] fix subplt --- src/connectivity/plots.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index d3d8739..5661d21 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -45,7 +45,7 @@ function plot_graphs(CG; width=3, vert=true, subplt=false) subplt || gui() end -function plot_graph_comp(G, Vemph=[]; width=3, vert=true) +function plot_graph_comp(G, Vemph=[]; width=3, vert=true, subplt=false) println("Plotting the graph") plot(legend=false) CG = connected_components(G, Vemph) From f723e201e1db174a1c7491fd158eadeea16bf791 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 17 Sep 2024 20:34:45 +0200 Subject: [PATCH 060/180] multiple bugfixes + multi threading on multi-modular subresultants --- src/connectivity/subresultants.jl | 61 ++++++++++++++++++++++--------- 1 file changed, 43 insertions(+), 18 deletions(-) diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index b03e647..c94cb42 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -164,29 +164,54 @@ function interp_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, iv; list return Sr end -function mmod_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false) where T <: RingElement - prim = nextprime(2^(30)) +function mmod_subresultants(P::QQMPolyRingElem, Q::QQMPolyRingElem, idx; list=false) + CD = [ lcm(map(denominator, collect(coefficients(f)))) for f in [P,Q] ] + PZ, QZ = change_coefficient_ring.(Ref(ZZ), [P,Q] .* CD) + #println(PZ,"\n",QZ) + sr = mmod_subresultants(PZ, QZ, idx; list=list) + return sr + if list + return [ change_coefficient_ring.(Ref(QQ),srp) for srp in sr ] + else + return change_coefficient_ring.(Ref(QQ),sr) + end +end + +function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=false) + prim = ZZ(2)<<(60) L1, primprod = [], ZZ(1) + lcpq = [ evaluate(leading_coefficient(l, 2),[0,0]) for l in [P,Q] ] i=1 + step=Threads.nthreads() while true - if !all([ divides(ZZ(prim), evaluate(leading_coefficient(l, 2),[0,0]))[1] for l in [P,Q] ]) - print("$i: ") - @time begin - L2 = deepcopy(L1) - Pprim, Qprim = [ change_coefficient_ring(GF(prim), poly) for poly in [P,Q] ] - sr = subresultants(Pprim, Qprim, idx)[1] - L1 = lift.(Ref(ZZ), coefficients_of_univariate(sr)) - if L2 != [] - L1 = [ crt(L2[i], primprod, L1[i], ZZ(prim), true) for i in 1:length(L2) ] - end - primprod *= ZZ(prim) - L1 != L2 || break - i+=1 + print("$i primes ") + LP, LQ, Lprim = MPolyRingElem[], MPolyRingElem[], ZZRingElem[] + while length(Lprim) < step + prim = next_prime(prim) + if !any(getindex.(divides.(Ref(prim), lcpq),1)) + Pprim, Qprim = [ change_coefficient_ring(residue_ring(ZZ, prim)[1], poly) for poly in [P,Q] ] + push!.([LP,LQ,Lprim], [Pprim,Qprim,prim]) end end - prim = nextprime(prim+1) + Ltemp = Vector{Vector{ZZRingElem}}(undef,step) + Threads.@threads for j in 1:step + sr = subresultants(LP[j], LQ[j], idx)[1] + Ltemp[j] = lift.(Ref(ZZ), coefficients_of_univariate(sr)) + end + if L1 != [] + push!.([Ltemp, Lprim], [L1, primprod]) + end + nLt = length(first(Ltemp)) + @assert all(length.(Ltemp) .== nLt) "Specialization problem" + L2 = deepcopy(L1) + L1 = [ crt(getindex.(Ltemp,i), Lprim, true) for i in 1:nLt ] + + L1 != L2 || break + #println(L1) + primprod = prod(Lprim) + i+=step + println(ndigits(primprod, 10), " digits") end - println() return L1 end @@ -199,5 +224,5 @@ function fact_gcd(delta, Lsr, mult) push!(Ldelta, Ldelta[i-1]/Lphi[i]) i+=1 end - return filter(s->degree(s[2])>0, Dict(enumerate(Ldelta))) + return filter(s->degree(s[2])>0, (enumerate(Ldelta))) end \ No newline at end of file From 4628d5cb32359ffeceea5b532d99da0f3fe421ab Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 17 Sep 2024 20:35:06 +0200 Subject: [PATCH 061/180] integer coefficient function tool --- src/connectivity/tools.jl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index 4a067b6..fc4e1ce 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -32,4 +32,11 @@ function trimat_rand(A, n; up=true, range=-100:100) else return [ i==j ? one(A) : (i>j ? A(rand(range)) : zero(A)) for i in 1:3, j in 1:3 ] end -end \ No newline at end of file +end + +function int_coeffs(F::Vector{P} where P <: QQMPolyRingElem) + CD = [ lcm(map(denominator, collect(coefficients(f)))) for f in F ] + return (F .* CD) +end + +int_coeffs(f::QQMPolyRingElem) = int_coeffs([f])[1] \ No newline at end of file From a49b6c848d0b954fe1bf40b39c5517fcff0b8f4c Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 17 Sep 2024 20:35:19 +0200 Subject: [PATCH 062/180] use nextprime from Nemo --- src/imports.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/imports.jl b/src/imports.jl index fd2ac19..80314a7 100644 --- a/src/imports.jl +++ b/src/imports.jl @@ -5,7 +5,6 @@ using Nemo using LinearAlgebra using StaticArrays using Plots, Colors -using Primes #pythonplot() import Plots: plot From d1700e14cc7b1cb4a1bbff2f8cec7c422534c752 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 24 Sep 2024 16:14:12 +0200 Subject: [PATCH 063/180] start managing conditionnal printing --- src/connectivity/connectcurves.jl | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 4920c38..63cc6a3 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -4,7 +4,7 @@ #pythonplot() export compute_graph, connected_components, number_connected_components, group_by_component, merge_graphs, - plot_graph, plot_graphs, plot_graph_comp, compute_param, Bresultant + plot_graph, plot_graphs, plot_graph_comp, compute_param, Bresultant, param_crit_split # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, @@ -20,28 +20,17 @@ include("arbtools.jl") include("src/resultant/bresultant.jl") function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - println("\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") - println("!! Careful: this is a WIP version !!") - println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") - R = parent(f) x, y = gens(R) - if int_coeff - CD = lcm(map(denominator, collect(coefficients(f)))) - f *= CD - end - #println(f) - # Generic change of variables - changemat = [1 0; 0 1] - if !generic - changemat = trimat_rand(QQ, 2, range=-100:100) - end + # Pre-processing the input + f = int_coeff ? int_coeffs(f) : f + changemat = generic ? [1 0; 0 1] : trimat_rand(QQ, 2, range=-100:100) f = evaluate(f, collect(changemat*[x; y])); - + v > 1 && println(f) - println("\nCompute parametrization of critical pts...") - @time sr = subresultants(change_coefficient_ring(ZZ,f), change_coefficient_ring(ZZ,derivative(f,y)), 2, list=true) + v > 0 && println("\nCompute parametrization of critical pts...") + @iftime v > 0 sr = subresultants(change_coefficient_ring(ZZ,f), change_coefficient_ring(ZZ,derivative(f,y)), 2, list=true) sr = [ [ change_coefficient_ring(QQ,p) for p in srp ] for srp in sr ] # Take sqfree factors of the resultant sqr = collect(factor_squarefree(sr[1][1])) @@ -56,7 +45,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t group_sqr[r[2]][1] *= r[1] end #filter!(t->total_degree(t[1])>0, group_sqr) - iparam = Dict([1=>2, 2=>2, 3=>2]) + iparam = Dict([1=>2, 2=>2, 3=>2, 4=>2, 5=>2, 6=>3]) # Construct the parametrization of the critical points params = [ [ q[1], -sr[iparam[q[2]]][1], (iparam[q[2]]-1)*sr[iparam[q[2]]][2] ] for q in group_sqr ]; #println(params) @@ -96,7 +85,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t println("\nCompute critical boxes with msolve with precision ", precx,"..") @time begin # TODO: parameter -I - LBcrit = [ sort(real_solutions(AlgebraicSolving.Ideal([p[1], p[3]*y-p[2]]), precision=precx, info_level=2,interval=true),by=t->t[1]) for p in params ] + LBcrit = [ sort(real_solutions(AlgebraicSolving.Ideal([p[1], p[3]*y-p[2]]), precision=precx,interval=true),by=t->t[1]) for p in params ] for i in eachindex(LBcrit) for j in eachindex(LBcrit[i]) for k in eachindex(LBcrit[i][j]) From 3c53de2c8c14418bc6e767ef9574f3260c1fa016 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 24 Sep 2024 16:14:56 +0200 Subject: [PATCH 064/180] minor things --- src/connectivity/isolate.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/connectivity/isolate.jl b/src/connectivity/isolate.jl index bd8cb25..08fd793 100644 --- a/src/connectivity/isolate.jl +++ b/src/connectivity/isolate.jl @@ -10,7 +10,7 @@ function isolate(f; prec = 32, software="usolve") return usolve(f, precision = prec, uspath="AlgebraicSolving.jl/src/connectivity/src/usolve/usolve", output="inter") else #println(f) - sols = real_solutions(Ideal([change_ringvar(f)]), precision=prec, interval=true) + sols = real_solutions(Ideal([change_ringvar(f)]), precision=prec, interval=true, info_level=0) return getindex.(sols, 1) end end @@ -20,6 +20,7 @@ function isolate_eval(f, ivar, val; prec=64, software="usolve") # univariate isolation of roots of a bivariate polynomial f # whose ivar-th variable is evaluated at val # uses msolve + #println(ivar,"\n", val,"\n", f) fev = change_ringvar(evaluate(f, [ivar], [val])) CD = lcm(map(denominator, collect(coefficients(fev)))) fev *= CD From 2aa49785b415a0578edf151e9c1095172a7a2c83 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 24 Sep 2024 16:15:58 +0200 Subject: [PATCH 065/180] generalize int_coeffs + macro for conditionnal timing --- src/connectivity/tools.jl | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index fc4e1ce..4f0aeea 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -34,9 +34,19 @@ function trimat_rand(A, n; up=true, range=-100:100) end end -function int_coeffs(F::Vector{P} where P <: QQMPolyRingElem) +function int_coeffs(F::Vector{P} where P <: Union{QQMPolyRingElem, QQPolyRingElem}) CD = [ lcm(map(denominator, collect(coefficients(f)))) for f in F ] return (F .* CD) end -int_coeffs(f::QQMPolyRingElem) = int_coeffs([f])[1] \ No newline at end of file +int_coeffs(f::Union{QQMPolyRingElem, QQPolyRingElem}) = int_coeffs([f])[1] + +macro iftime(v, ex) + quote + if $(esc(v)) + @time $(esc(ex)) + else + $(esc(ex)) + end + end +end \ No newline at end of file From 0e9f10d16733cab803b42fdd24626b3e6f02cc10 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 24 Sep 2024 16:17:28 +0200 Subject: [PATCH 066/180] subresultant interpolation + big changes in mmod_subresultant + fix fact_gcd + param_crit_split --- src/connectivity/subresultants.jl | 175 ++++++++++++++++++++++-------- 1 file changed, 131 insertions(+), 44 deletions(-) diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index c94cb42..dafef92 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -146,29 +146,33 @@ function interp_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, iv; list # Modern computer Algebra Th 6.51. degs = degrees(P) n, d = degs[iv], degs[iu] - degsmax = [ (2*n-1-2*k)*d for k=0:d-2 ] - Dmax = degsmax[end]>>1+1 + degsmax = [ (2*n-1-2*k)*d for k=0:d-1 ] + #Dmax = degsmax[end]>>1+1 ## - xs = [ rand(A) for _=1:(degsmax[1]+1) ] - @time begin - Srev = [ subresultants(change_ringvar(evaluate(P,[iu],[xx]),[Vv]), change_ringvar(evaluate(Q,[iu],[xx]),[Vv])) for xx in xs ] - end - S,t = Nemo.polynomial_ring(A,Vu) - Sr = [ [ S(0) for _=1:i] for i=1:n-2 ] - for i = 1:n-2 - for j = 1:i - ys = [ A(Srev[l][i][j]) for l=eachindex(Srev) ] - Sr[i][j] = interpolate(S, xs, ys) - end + B,t =polynomial_ring(A, Vv) + xs = A.(0:degsmax[1]) + Srev = Vector{Vector{typeof(t)}}(undef, length(xs)) + evPQ = [ [B(coefficients_of_univariate(evaluate(pq,[iu],[xx]))) for pq in [P,Q] ] for xx in xs] + Threads.@threads for i in 1:length(xs) + Srev[i] = subresultants(evPQ[i][1], evPQ[i][2]) + end + Srev = [ [ collect(coefficients(ss)) for ss in s] for s in Srev ] + C, = Nemo.polynomial_ring(A,Vu) + Sr = [ [ C(0) for _=1:i] for i=1:n ] + Lys = [ [ [ (try A(Srev[l][i][j]) catch; A(0) end) for l in eachindex(Srev) ] for j in 1:i ] for i in 1:n ] + for i = 1:n + # For the i-th subresultant + Threads.@threads for j in 1:i + # Each coefficient is interpolated + Sr[i][j] = interpolate(C, xs, Lys[i][j]) + end end return Sr end -function mmod_subresultants(P::QQMPolyRingElem, Q::QQMPolyRingElem, idx; list=false) - CD = [ lcm(map(denominator, collect(coefficients(f)))) for f in [P,Q] ] - PZ, QZ = change_coefficient_ring.(Ref(ZZ), [P,Q] .* CD) - #println(PZ,"\n",QZ) - sr = mmod_subresultants(PZ, QZ, idx; list=list) +function mmod_subresultants(P::QQMPolyRingElem, Q::QQMPolyRingElem, idx; list=false, n_threads=Threads.nthreads(), n_ssr=-1,v=0) + PZ, QZ = change_coefficient_ring.(Ref(ZZ), int_coeffs.([P,Q])) + sr = mmod_subresultants(PZ, QZ, idx; list=list, n_threads=n_threads, n_ssr=n_ssr, v=v) return sr if list return [ change_coefficient_ring.(Ref(QQ),srp) for srp in sr ] @@ -177,52 +181,135 @@ function mmod_subresultants(P::QQMPolyRingElem, Q::QQMPolyRingElem, idx; list=fa end end -function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=false) - prim = ZZ(2)<<(60) +function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=false, n_threads=Threads.nthreads(), n_ssr=0, v=0) + prim = ZZ(1)<<(61) L1, primprod = [], ZZ(1) + Ltemp = Vector{Vector{Vector{Vector{ZZRingElem}}}}(undef,n_threads+1) lcpq = [ evaluate(leading_coefficient(l, 2),[0,0]) for l in [P,Q] ] - i=1 - step=Threads.nthreads() + compt=n_threads while true - print("$i primes ") + v > 0 && print("$compt primes ") LP, LQ, Lprim = MPolyRingElem[], MPolyRingElem[], ZZRingElem[] - while length(Lprim) < step + while length(Lprim) < n_threads prim = next_prime(prim) - if !any(getindex.(divides.(Ref(prim), lcpq),1)) + if !any(getindex.(divides.(lcpq, Ref(prim)),1)) Pprim, Qprim = [ change_coefficient_ring(residue_ring(ZZ, prim)[1], poly) for poly in [P,Q] ] + #Pprim, Qprim = [ change_coefficient_ring(GF(prim), poly) for poly in [P,Q] ] push!.([LP,LQ,Lprim], [Pprim,Qprim,prim]) + else + return prim, lcpq end end - Ltemp = Vector{Vector{ZZRingElem}}(undef,step) - Threads.@threads for j in 1:step - sr = subresultants(LP[j], LQ[j], idx)[1] - Ltemp[j] = lift.(Ref(ZZ), coefficients_of_univariate(sr)) + Threads.@threads for j in 1:n_threads + sr = subresultants(LP[j], LQ[j], idx, list=true) + Ltemp[j] = [ [ lift.(Ref(ZZ), coefficients_of_univariate(srii)) for srii in sri ] for sri in sr ] + #sr = interp_subresultants(LP[j], LQ[j], idx)[1][1] + #Ltemp[j] = lift.(Ref(ZZ), coefficients(sr)) + end + + if n_ssr > 0 + for j in 1:n_threads + for k in eachindex(Ltemp[j]) + Ltemp[j][k] = Ltemp[j][k][end-min(k,n_ssr)+1:end] + end + end end + if L1 != [] - push!.([Ltemp, Lprim], [L1, primprod]) + Ltemp[n_threads+1] = copy(L1) + push!(Lprim, primprod) end - nLt = length(first(Ltemp)) - @assert all(length.(Ltemp) .== nLt) "Specialization problem" + #@assert allequal(length.(Ltemp[1:nthreads])) "Specialization problem" + Nssr = n_ssr<0 ? length(last(first(Ltemp))) : n_ssr + #println(Ltemp) L2 = deepcopy(L1) - L1 = [ crt(getindex.(Ltemp,i), Lprim, true) for i in 1:nLt ] - - L1 != L2 || break + L1 = Vector{Vector{Vector{ZZRingElem}}}(undef, length(first(Ltemp))) + Threads.@threads for i in eachindex(L1) + L1[i] = Vector{Vector{ZZRingElem}}(undef, min(i, Nssr)) + Threads.@threads for j in eachindex(L1[i]) + #println("($i,$j)") + L1[i][j] = Vector{ZZRingElem}(undef, length(Ltemp[1][i][j])) + Threads.@threads for k in eachindex(L1[i][j]) + cfs = [ try Ltemp[p][i][j][k] catch; ZZ(0) end for p in eachindex(Lprim) ] + L1[i][j][k] = crt(cfs, Lprim, true) + end + end + end #println(L1) primprod = prod(Lprim) - i+=step - println(ndigits(primprod, 10), " digits") + compt+=n_threads + v > 0 && println(ndigits(primprod, 10), " digits") + L1 != L2 || break + #compt < 20 || break end - return L1 + + uvar = parent(P).S[(idx+1)%2] + A, = polynomial_ring(ZZ, uvar) + sr = [ [ change_ringvar(A(ss),[uvar]) for ss in s ] for s in L1 ] + return sr end -function fact_gcd(delta, Lsr, mult) - Lphi = [gcd(delta, Lsr[1])] +function fact_gcd(delta::T, LP::Vector{T}) where (T <:PolyRingElem) + # delta : poly to factor w.r.t the polynomials in LP + Lphi = [gcd(delta, LP[1])] Ldelta = [delta/Lphi[1]] i = 2 - while i0 + push!(Lphi, gcd(Lphi[i-1], LP[i])) + push!(Ldelta, Lphi[i-1]/Lphi[i]) i+=1 end - return filter(s->degree(s[2])>0, (enumerate(Ldelta))) + return filter(s->degree(s[2])>0, Dict(enumerate(Ldelta))) +end + +function fact_gcd(delta::T, LP::Vector{T}) where (T <:MPolyRingElem) + @assert is_univariate(delta) && all(is_univariate.(LP)) "Not univariate polynomial" + R = parent(delta) + A, = polynomial_ring(coefficient_ring(R), first(R.S)) + out = fact_gcd(A(coefficients_of_univariate(delta)), A.(coefficients_of_univariate.(LP))) + return Dict([ (i, change_ringvar(f, [first(R.S)]) ) for (i,f) in out ]) +end + +function param_crit_split(f) + # Compute subresultants and factor the first subresultant + if total_degree(f) > 30 + @time sr = mmod_subresultants(f, derivative(f, 2), 2, list=true, n_ssr=2) + else + @time sr = subresultants(f, derivative(f, 2), 2, list=true) + end + sqr = collect(factor_squarefree(sr[1][1])) + + # Filter out factors with zero multiplicity and sort by multiplicity + sqr = sort!(filter(t -> t[2] > 0, sqr), by = t -> t[2]) + + # Group factors by multiplicity + sqrmult = unique(getindex.(sqr, 2)) + # TODO: no product, manage each subfactor + group_sqr = Dict(m => prod([r[1] for r in sqr if r[2] == m]) for m in sqrmult) + + # Initalization + singmult = filter(p->p*(p-1)<=sqrmult[end], 1:sqrmult[end]) + param_crit = Dict(p => Vector{MPolyRingElem}[] for p in singmult) + lsr = [ s[end] for s in sr[2:singmult[end]] ] + + # Critical points : multiplicity 1 in res + (1 in sqrmult) && push!(param_crit[1], [group_sqr[1], -sr[2][end-1], sr[2][end]]) + # Nodes : multiplicity 2 in res + (2 in sqrmult) && push!(param_crit[2], [group_sqr[2], -sr[2][end-1], sr[2][end]]) + # Other sing + filter!(m->!(m in [1,2]), sqrmult) + #TODO: simpler criterion for mult=p*(p-1)? + Ld = Vector{Dict{Int, MPolyRingElem}}(undef, length(sqrmult)) + #Threads.@threads + for k in eachindex(sqrmult) + Ld[k] = fact_gcd(group_sqr[sqrmult[k]], lsr) + end + for k in eachindex(Ld) + for (i, dji) in Ld[k] + push!(param_crit[i+1], [dji, -sr[i+1][end-1], i*sr[i+1][end]]) + end + end + + filter!(p->length(p[2])>0, param_crit) + return param_crit end \ No newline at end of file From 45e146f3d6eb515a49c7a19338e7f379a152e733 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 24 Sep 2024 17:13:37 +0200 Subject: [PATCH 067/180] no product of sqfree factors in param_crit_split --- src/connectivity/subresultants.jl | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index dafef92..a8cbe6e 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -281,35 +281,37 @@ function param_crit_split(f) # Filter out factors with zero multiplicity and sort by multiplicity sqr = sort!(filter(t -> t[2] > 0, sqr), by = t -> t[2]) - # Group factors by multiplicity sqrmult = unique(getindex.(sqr, 2)) - # TODO: no product, manage each subfactor - group_sqr = Dict(m => prod([r[1] for r in sqr if r[2] == m]) for m in sqrmult) - + group_sqr = Dict(m => [r[1] for r in sqr if r[2] == m] for m in sqrmult) + # Initalization - singmult = filter(p->p*(p-1)<=sqrmult[end], 1:sqrmult[end]) - param_crit = Dict(p => Vector{MPolyRingElem}[] for p in singmult) - lsr = [ s[end] for s in sr[2:singmult[end]] ] + singmult = filter(p->p*(p-1)<=sqrmult[end], 2:sqrmult[end]) + param_crit = Dict(p => [QQMPolyRingElem[], -sr[p][end-1], (p-1)*sr[p][end]] for p in singmult) + lsr = [ sr[p][end] for p in singmult ] # Critical points : multiplicity 1 in res - (1 in sqrmult) && push!(param_crit[1], [group_sqr[1], -sr[2][end-1], sr[2][end]]) + (1 in sqrmult) && push!(param_crit, 1=>[group_sqr[1], -sr[2][end-1], sr[2][end]]) # Nodes : multiplicity 2 in res - (2 in sqrmult) && push!(param_crit[2], [group_sqr[2], -sr[2][end-1], sr[2][end]]) + (2 in sqrmult) && append!(param_crit[2][1], group_sqr[2]) # Other sing filter!(m->!(m in [1,2]), sqrmult) #TODO: simpler criterion for mult=p*(p-1)? - Ld = Vector{Dict{Int, MPolyRingElem}}(undef, length(sqrmult)) + Ld = Vector{Vector{Dict{Int, QQMPolyRingElem}}}(undef, length(sqrmult)) #Threads.@threads for k in eachindex(sqrmult) - Ld[k] = fact_gcd(group_sqr[sqrmult[k]], lsr) + for l in eachindex(group_sqr[sqrmult[k]]) + Ld[k][l] = fact_gcd(group_sqr[sqrmult[k]][l], lsr) + end end for k in eachindex(Ld) - for (i, dji) in Ld[k] - push!(param_crit[i+1], [dji, -sr[i+1][end-1], i*sr[i+1][end]]) + for l in eachindex(Ld[k]) + for (i, dji) in Ld[k][l] + push!(param_crit[i+1][1], dji) + end end end - filter!(p->length(p[2])>0, param_crit) + filter!(p->length(p[2][1])>0, param_crit) return param_crit end \ No newline at end of file From 325be8945b0d02c802032cd7839ebab7864fabae Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 24 Sep 2024 17:57:48 +0200 Subject: [PATCH 068/180] maj connect curve with paramcritsplit BUT no refinements yet --- src/connectivity/connectcurves.jl | 85 ++++++++++++------------------- src/connectivity/isolate.jl | 4 +- 2 files changed, 34 insertions(+), 55 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 63cc6a3..2186fa6 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -30,35 +30,18 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t v > 1 && println(f) v > 0 && println("\nCompute parametrization of critical pts...") - @iftime v > 0 sr = subresultants(change_coefficient_ring(ZZ,f), change_coefficient_ring(ZZ,derivative(f,y)), 2, list=true) - sr = [ [ change_coefficient_ring(QQ,p) for p in srp ] for srp in sr ] - # Take sqfree factors of the resultant - sqr = collect(factor_squarefree(sr[1][1])) - #println(sqr) - # Keep only deg>0 factors - filter!(t->t[2]>0, sqr) - # Order by multiplicity - sort!(sqr, by=t->t[2]) - # Group by multiplicity - group_sqr = [ [R(1),i] for i in 1:sqr[end][2] ] - for r in sqr - group_sqr[r[2]][1] *= r[1] - end - #filter!(t->total_degree(t[1])>0, group_sqr) - iparam = Dict([1=>2, 2=>2, 3=>2, 4=>2, 5=>2, 6=>3]) - # Construct the parametrization of the critical points - params = [ [ q[1], -sr[iparam[q[2]]][1], (iparam[q[2]]-1)*sr[iparam[q[2]]][2] ] for q in group_sqr ]; + @iftime (v > 0) params = param_crit_split(f) #println(params) - append!(params, C) - + #append!(params, C) if arb - while true - try + compt = 1 + while compt < 5 + #try # TODO : check that no overlap between different isolations println("\nIsolating critical values with precision ", precx,"..") @time begin - xcrit = [ isolate(first(p), prec=precx) for p in params ] - for i in eachindex(xcrit) + xcrit = Dict(p[1]=> reduce(vcat, [isolate(pp, prec=precx) for pp in p[2][1]]) for p in params) + for i in keys(xcrit) for j in eachindex(xcrit[i]) if xcrit[i][j][1]==xcrit[i][j][2] xcrit[i][j] = [xcrit[i][j][1]-1//ZZ(1)< [[xc, evaluate_Arb(params[i][2], params[i][3], rat_to_Arb(xc, precArb))] for xc in xcrit[i]] for i in keys(xcrit)) + LBcrit =Dict( i=> [[ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for (i, pcrit) in Pcrit) end - catch - precx *= 2 - println("Refine x-precision to $precx") - else + #catch + # precx *= 2 + # println("Refine x-precision to $precx") + # compt += 1 + #else break - end + #end end else println("\nCompute critical boxes with msolve with precision ", precx,"..") @@ -104,26 +88,21 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t println("\nTest for identifying singular boxes");ts=time(); ######################################################## # For each mult of sing pts (keys) give the corresponding factors of the resultant (values) - ### DEBUG: for now, only nodes for singular points, hardcode below ### - mult_to_factor = Dict(2=>2:length(group_sqr)) ######################################################### - mults = keys(mult_to_factor) - Lfyk = diff_list(f, 2, maximum(mults)) - for m in mults - for k in mult_to_factor[m] - while true - flag = false - for j in eachindex(LBcrit[k]) - pcrit = [ rat_to_Arb(c, precx) for c in LBcrit[k][j] ] - if contains_zero(evaluate(Lfyk[m+1], pcrit)) - println("Refine singular boxes of multiplicity ", k) - # TODO refine_boxes(params[k], LBcrit[k]) - #flag = true - break - end + Lfyk = diff_list(f, 2, maximum(keys(LBcrit))) + for m in keys(LBcrit) + while true + flag = false + for j in eachindex(LBcrit[m]) + pcrit = [ rat_to_Arb(c, precx) for c in LBcrit[m][j] ] + if contains_zero(evaluate(Lfyk[m+1], pcrit)) + println("Refine singular boxes of multiplicity ", m) + # TODO refine_boxes(params[k], LBcrit[k]) + #flag = true + break end - flag || break end + flag || break end end end @@ -277,7 +256,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t # The critical point ########################## # If we are dealing with a node - if length(group_sqr)>1 && i == 2 + if i == 2 # if it is an isolated point if isempty(nI[1]) && isempty(nI[2]) push!(Lapp[1], (i,j)) @@ -309,10 +288,10 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t for k in nI[2] push!(Edg, (length(Vert), Corr[i][j][3][k])) end - if i > length(params)-length(C) - # If this is a control point - push!(Vcon[i + length(C) - length(params)], length(Vert)) - end + #if i > length(params)-length(C) + # # If this is a control point + # push!(Vcon[i + length(C) - length(params)], length(Vert)) + #end end ########################### # Above the critical point diff --git a/src/connectivity/isolate.jl b/src/connectivity/isolate.jl index 08fd793..9540765 100644 --- a/src/connectivity/isolate.jl +++ b/src/connectivity/isolate.jl @@ -1,6 +1,6 @@ include("src/usolve/usolve.jl") -function isolate(f; prec = 32, software="usolve") +function isolate(f; prec = 32, software="msolve") # Univariate isolation using usolve if total_degree(f) == 0 return [] @@ -15,7 +15,7 @@ function isolate(f; prec = 32, software="usolve") end end -function isolate_eval(f, ivar, val; prec=64, software="usolve") +function isolate_eval(f, ivar, val; prec=64, software="msolve") #print(val) # univariate isolation of roots of a bivariate polynomial f # whose ivar-th variable is evaluated at val From 2067d20683d09e0ef6f59c31ac8e159e2a98f635 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Wed, 25 Sep 2024 18:07:43 +0200 Subject: [PATCH 069/180] fix infinite refinement --- src/connectivity/connectcurves.jl | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 2186fa6..5dd04c2 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -36,7 +36,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t if arb compt = 1 while compt < 5 - #try + try # TODO : check that no overlap between different isolations println("\nIsolating critical values with precision ", precx,"..") @time begin @@ -57,13 +57,16 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t Pcrit = Dict( i => [[xc, evaluate_Arb(params[i][2], params[i][3], rat_to_Arb(xc, precArb))] for xc in xcrit[i]] for i in keys(xcrit)) LBcrit =Dict( i=> [[ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for (i, pcrit) in Pcrit) end - #catch - # precx *= 2 - # println("Refine x-precision to $precx") - # compt += 1 - #else + catch + precx *= 2 + println("Refine x-precision to $precx") + compt += 1 + else break - #end + end + end + if compt == 5 + error("Problem in isolating critical boxes") end else println("\nCompute critical boxes with msolve with precision ", precx,"..") From ac9dc10f826af56ee0ea422434d1f3077c2f00d2 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 26 Sep 2024 00:36:41 +0200 Subject: [PATCH 070/180] refine boxes for many parametrizations --- src/connectivity/boxes.jl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/connectivity/boxes.jl b/src/connectivity/boxes.jl index 2b09789..9012c4e 100644 --- a/src/connectivity/boxes.jl +++ b/src/connectivity/boxes.jl @@ -50,7 +50,7 @@ function intersect_box(f, B; prec=100) return L end -function refine_xboxes(f, LB, prec) +function refine_xboxes(f::T where T<:Union{PolyRingElem, MPolyRingElem}, LB, prec) # Refine LB along first axis, being roots of f xnew = isolate(f, prec=prec) for i in eachindex(LB) @@ -58,6 +58,15 @@ function refine_xboxes(f, LB, prec) end end +function refine_xboxes(F::Vector{T} where T<:Union{PolyRingElem, MPolyRingElem}, LB, prec) + # Refine LB along first axis, being roots of the polynomial in F + # The order in F is assumed to match the one in LB + xnew = reduce(vcat, [isolate(f, prec=prec) for f in F]) + for i in eachindex(LB) + LB[i] = [ xnew[i], LB[i][2] ] + end +end + function refine_ith_xboxes(f, LB, i, prec) # Refine only LB[i] along first axis, being i-th root of f xnew = isolate(f, prec=prec) From bf4ab72905230ee9eeff87452958ea395441ceca Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 26 Sep 2024 00:37:17 +0200 Subject: [PATCH 071/180] verbose usolve --- src/connectivity/isolate.jl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/connectivity/isolate.jl b/src/connectivity/isolate.jl index 9540765..4b1f060 100644 --- a/src/connectivity/isolate.jl +++ b/src/connectivity/isolate.jl @@ -7,7 +7,7 @@ function isolate(f; prec = 32, software="msolve") end @assert is_univariate(f) "Not univariate polynomial" if software == "usolve" - return usolve(f, precision = prec, uspath="AlgebraicSolving.jl/src/connectivity/src/usolve/usolve", output="inter") + return usolve(f, precision = prec, uspath="AlgebraicSolving.jl/src/connectivity/src/usolve/usolve", output="inter", v=2) else #println(f) sols = real_solutions(Ideal([change_ringvar(f)]), precision=prec, interval=true, info_level=0) @@ -15,7 +15,7 @@ function isolate(f; prec = 32, software="msolve") end end -function isolate_eval(f, ivar, val; prec=64, software="msolve") +function isolate_eval(f, ivar, val; prec=64, software="usolve") #print(val) # univariate isolation of roots of a bivariate polynomial f # whose ivar-th variable is evaluated at val @@ -27,5 +27,4 @@ function isolate_eval(f, ivar, val; prec=64, software="msolve") return isolate(fev, prec=prec, software=software) - end \ No newline at end of file From 37c968fabe279f87681779043f06a86705ebea1b Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 26 Sep 2024 00:38:04 +0200 Subject: [PATCH 072/180] trailing spaces --- src/connectivity/paramcurve.jl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl index d2e5f6e..44994a5 100644 --- a/src/connectivity/paramcurve.jl +++ b/src/connectivity/paramcurve.jl @@ -75,8 +75,8 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs index_permut = Dict((v, i) for (i, v) in enumerate(newvarias_S)) permut_varias = [ index_permut[v] for v in Rold.S ] - # TODO: permut exponents and use polynomial constructor - F = [ evaluate(f, [ varias[permut_varias[i]] for i in 1:Nold ]) for f in F ] + # TODO: permut exponents and use polynomial constructor + F = [ evaluate(f, [ varias[permut_varias[i]] for i in 1:Nold ]) for f in F ] if nb_lf > 0 lf_cfs = [ rand(ZZ(-100):ZZ(100), N) for _ in 1:nb_lf] @@ -96,7 +96,7 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs R, varias = polynomial_ring(base_ring(Rold), newvarias_S) N = length(varias) - F = [ evaluate(f, [ varias[i] for i in 1:Nold ]) for f in F ] + F = [ evaluate(f, [ varias[i] for i in 1:Nold ]) for f in F ] lf_cfs = vcat(lfs, [ rand(ZZ(-100):ZZ(100), N) for _ in 1:2-length(lfs)]) append!(F, [ transpose(lf)*varias for lf in lf_cfs ]) end @@ -134,7 +134,7 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs end end - # Interpolate each coefficient of each poly in the param + # Interpolate each coefficient of each poly in the param println("Interpolation step...") @time begin POLY_PARAM = Vector{QQMPolyRingElem}(undef,N) @@ -151,8 +151,8 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs C = [ collect(coefficients(c)) for c in COEFFS ] POL_term = [C[i][j]*x^(i-1)*y^(j-1) for i in 1:length(C) for j in 1:length(C[i])] - POL = length(POL_term) > 0 ? sum(POL_term) : T(0) - + POL = length(POL_term) > 0 ? sum(POL_term) : T(0) + POLY_PARAM[count] = POL end end @@ -173,7 +173,7 @@ end #= # Tests R, (a,b,c) = polynomial_ring(QQ, [:a,:b,:c]) -F = [-62*a^2-24*a*b+83*a*c-46*b^2-45*b*c+16*c^2+13*a-65*b-84*c-19, +F = [-62*a^2-24*a*b+83*a*c-46*b^2-45*b*c+16*c^2+13*a-65*b-84*c-19, 92*a^2-a*b+39*a*c-16*b^2+61*b*c+78*c^2+17*a+49*b-97*c-56 ] From ebce03052f3de642126760eae491ace324fdd4ae Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 26 Sep 2024 00:38:22 +0200 Subject: [PATCH 073/180] Vertices to subplots Transmit vertices to the subplots --- src/connectivity/plots.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 5661d21..c6153c0 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -40,7 +40,7 @@ function plot_graphs(CG; width=3, vert=true, subplt=false) col = distinguishable_colors(length(CG)+2) for j in eachindex(CG) G, CVemph = length(CG[j][1])==2 ? CG[j] : (CG[j], Vector{Int}()) - plot_graph(G, CVemph, color=col[j+2], subplt=true) + plot_graph(G, CVemph, color=col[j+2], vert=vert, subplt=true) end subplt || gui() end @@ -50,5 +50,5 @@ function plot_graph_comp(G, Vemph=[]; width=3, vert=true, subplt=false) plot(legend=false) CG = connected_components(G, Vemph) plot_graphs(CG, width=width, vert=vert, subplt=true) - subplt || gui() + subplt || gui()#savefig("/tmp/test.html") end \ No newline at end of file From 65b0b24379530a7cfb61572a39c8375e62399464 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 26 Sep 2024 00:39:43 +0200 Subject: [PATCH 074/180] Add zero coefficients when not generic subresultant --- src/connectivity/subresultants.jl | 60 +++++++++++++++++++------------ 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index a8cbe6e..0e7742f 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -15,14 +15,14 @@ function add_ind(L,i,x) end function parray_asvar(LP, idx) - # takes the above representation of a poly P + # takes the above representation of a poly P # and outputs a representation of P seen as a univariate poly in the i-th variable deg = sort(LP[2], by= x->x[idx])[end][idx] NLP = [ [[],[]] for _ in 1:deg+1 ] for i in eachindex(LP[2]) di = LP[2][i][idx]+1 push!(NLP[di][1], LP[1][i]) - push!(NLP[di][2], rem_ind(LP[2][i], idx)) + push!(NLP[di][2], rem_ind(LP[2][i], idx)) end return NLP end @@ -86,7 +86,7 @@ function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingEl if e == 0 return S end - #@time + #@time B = pseudorem(A,-B) / (s^delta * leading_coefficient(A)) A = copy(C) s = leading_coefficient(A) @@ -109,13 +109,17 @@ function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false Lsr = [ [collect(coefficients(csr)) for csr in coefficients(sr)] for sr in sr] newsr = [] if list - for lsr in Lsr + for (k,lsr) in enumerate(Lsr) mlsr = [] - for i in 1:length(lsr) + for i in 1:k#length(lsr) tmp = [[],[]] - for j in 1:length(lsr[i]) - push!(tmp[1], lsr[i][j]) - push!(tmp[2],add_ind([j-1],idx, 0)) + if i in eachindex(lsr) + for j in 1:length(lsr[i]) + push!(tmp[1], lsr[i][j]) + push!(tmp[2],add_ind([j-1],idx, 0)) + end + else + tmp = [[P|>parent|>base_ring|>zero], [[0,0]]] end push!(mlsr, tmp) end @@ -125,7 +129,7 @@ function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false else for lsr in Lsr mlsr = [[],[]] - for i in 1:length(lsr) + for i in 1:i#length(lsr) for j in 1:length(lsr[i]) push!(mlsr[1], lsr[i][j]) push!(mlsr[2],add_ind([j-1],idx, i-1)) @@ -146,7 +150,7 @@ function interp_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, iv; list # Modern computer Algebra Th 6.51. degs = degrees(P) n, d = degs[iv], degs[iu] - degsmax = [ (2*n-1-2*k)*d for k=0:d-1 ] + degsmax = [ (2*n-1-2*k)*d for k=0:d-1 ] #Dmax = degsmax[end]>>1+1 ## B,t =polynomial_ring(A, Vv) @@ -192,7 +196,7 @@ function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=fa LP, LQ, Lprim = MPolyRingElem[], MPolyRingElem[], ZZRingElem[] while length(Lprim) < n_threads prim = next_prime(prim) - if !any(getindex.(divides.(lcpq, Ref(prim)),1)) + if !any(getindex.(divides.(lcpq, Ref(prim)),1)) Pprim, Qprim = [ change_coefficient_ring(residue_ring(ZZ, prim)[1], poly) for poly in [P,Q] ] #Pprim, Qprim = [ change_coefficient_ring(GF(prim), poly) for poly in [P,Q] ] push!.([LP,LQ,Lprim], [Pprim,Qprim,prim]) @@ -214,13 +218,13 @@ function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=fa end end end - + if L1 != [] Ltemp[n_threads+1] = copy(L1) push!(Lprim, primprod) end - #@assert allequal(length.(Ltemp[1:nthreads])) "Specialization problem" - Nssr = n_ssr<0 ? length(last(first(Ltemp))) : n_ssr + #@assert allequal(length.(Ltemp[1:nthreads])) "Specialization problem" + Nssr = n_ssr<0 ? length(last(first(Ltemp))) : n_ssr #println(Ltemp) L2 = deepcopy(L1) L1 = Vector{Vector{Vector{ZZRingElem}}}(undef, length(first(Ltemp))) @@ -255,6 +259,7 @@ function fact_gcd(delta::T, LP::Vector{T}) where (T <:PolyRingElem) Ldelta = [delta/Lphi[1]] i = 2 while degree(Lphi[end])>0 + #println.([Lphi,Ldelta,""]) push!(Lphi, gcd(Lphi[i-1], LP[i])) push!(Ldelta, Lphi[i-1]/Lphi[i]) i+=1 @@ -273,10 +278,15 @@ end function param_crit_split(f) # Compute subresultants and factor the first subresultant if total_degree(f) > 30 - @time sr = mmod_subresultants(f, derivative(f, 2), 2, list=true, n_ssr=2) + sr = mmod_subresultants(f, derivative(f, 2), 2, list=true, n_ssr=2) else - @time sr = subresultants(f, derivative(f, 2), 2, list=true) + sr = subresultants(f, derivative(f, 2), 2, list=true) + end + + if total_degree(sr[1][1]) == 0 + return Dict() end + sqr = collect(factor_squarefree(sr[1][1])) # Filter out factors with zero multiplicity and sort by multiplicity @@ -284,22 +294,29 @@ function param_crit_split(f) # Group factors by multiplicity sqrmult = unique(getindex.(sqr, 2)) group_sqr = Dict(m => [r[1] for r in sqr if r[2] == m] for m in sqrmult) - + #println(group_sqr) + # Initalization singmult = filter(p->p*(p-1)<=sqrmult[end], 2:sqrmult[end]) param_crit = Dict(p => [QQMPolyRingElem[], -sr[p][end-1], (p-1)*sr[p][end]] for p in singmult) - lsr = [ sr[p][end] for p in singmult ] # Critical points : multiplicity 1 in res (1 in sqrmult) && push!(param_crit, 1=>[group_sqr[1], -sr[2][end-1], sr[2][end]]) + + if length(singmult) == 0 + return filter(p->length(p[2][1])>0, param_crit) + end + # Nodes : multiplicity 2 in res - (2 in sqrmult) && append!(param_crit[2][1], group_sqr[2]) + (2 in sqrmult) && push!(param_crit, -1=>[group_sqr[2], -sr[2][end-1], sr[2][end]]) # Other sing filter!(m->!(m in [1,2]), sqrmult) #TODO: simpler criterion for mult=p*(p-1)? + lsr = [ try sr[p][end] catch; one(parent(f)) end for p in 2:(singmult[end]+1) ] Ld = Vector{Vector{Dict{Int, QQMPolyRingElem}}}(undef, length(sqrmult)) - #Threads.@threads + #Threads.@threads for k in eachindex(sqrmult) + Ld[k] = Vector{Dict{Int, QQMPolyRingElem}}(undef,length(group_sqr[sqrmult[k]])) for l in eachindex(group_sqr[sqrmult[k]]) Ld[k][l] = fact_gcd(group_sqr[sqrmult[k]][l], lsr) end @@ -312,6 +329,5 @@ function param_crit_split(f) end end - filter!(p->length(p[2][1])>0, param_crit) - return param_crit + return filter(p->length(p[2][1])>0, param_crit) end \ No newline at end of file From 81c3ea0d94f324f583c57d0304d7a6cbe21e9635 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 26 Sep 2024 00:40:26 +0200 Subject: [PATCH 075/180] Update with new dict data structure; allow having diverse mult; node are -1 --- src/connectivity/connectcurves.jl | 120 ++++++++++++++++-------------- 1 file changed, 66 insertions(+), 54 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 5dd04c2..c7e67a6 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -41,7 +41,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t println("\nIsolating critical values with precision ", precx,"..") @time begin xcrit = Dict(p[1]=> reduce(vcat, [isolate(pp, prec=precx) for pp in p[2][1]]) for p in params) - for i in keys(xcrit) + for i in eachindex(xcrit) for j in eachindex(xcrit[i]) if xcrit[i][j][1]==xcrit[i][j][2] xcrit[i][j] = [xcrit[i][j][1]-1//ZZ(1)< [[xc, evaluate_Arb(params[i][2], params[i][3], rat_to_Arb(xc, precArb))] for xc in xcrit[i]] for i in keys(xcrit)) + Pcrit = Dict( i => [[xc, evaluate_Arb(params[i][2], params[i][3], rat_to_Arb(xc, precArb))] for xc in xcrit[i]] for i in eachindex(xcrit)) LBcrit =Dict( i=> [[ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for (i, pcrit) in Pcrit) + for i in eachindex(LBcrit) + for j in eachindex(LBcrit[i]) + if LBcrit[i][j][2][1]==LBcrit[i][j][2][2] + LBcrit[i][j][2] = [LBcrit[i][j][2][1]-1//ZZ(1)<t[1]) for p in params ] + LBcrit = Dict(p[1]=>reduce(vcat,[ sort(real_solutions(AlgebraicSolving.Ideal([pp, p[2][3]*y-p[2][2]]), precision=precx,interval=true),by=t->t[1]) for pp in p[2][1] ]) for p in params) for i in eachindex(LBcrit) for j in eachindex(LBcrit[i]) for k in eachindex(LBcrit[i][j]) @@ -82,22 +89,24 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t end end end - xcrit = [ [ B[1] for B in lbcrit ] for lbcrit in LBcrit ] + xcrit = Dict(lbcrit[1]=>[ B[1] for B in lbcrit[2] ] for lbcrit in LBcrit) xcritpermut = order_permut2d(xcrit); end end - + @time begin println("\nTest for identifying singular boxes");ts=time(); ######################################################## # For each mult of sing pts (keys) give the corresponding factors of the resultant (values) ######################################################### - Lfyk = diff_list(f, 2, maximum(keys(LBcrit))) - for m in keys(LBcrit) + Lfyk = diff_list(f, 2, max(maximum(eachindex(LBcrit)),2)) + for ind in eachindex(LBcrit) + ind!=1 || continue # extreme pts + m = ind==-1 ? 2 : ind # nodes have mult 2 while true flag = false - for j in eachindex(LBcrit[m]) - pcrit = [ rat_to_Arb(c, precx) for c in LBcrit[m][j] ] + for j in eachindex(LBcrit[ind]) + pcrit = [ rat_to_Arb(c, precx) for c in LBcrit[ind][j] ] if contains_zero(evaluate(Lfyk[m+1], pcrit)) println("Refine singular boxes of multiplicity ", m) # TODO refine_boxes(params[k], LBcrit[k]) @@ -117,20 +126,21 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t # and change into npcside = [0,0,2,2] ## TODO : Refine only the intervals that need to be refined println("\nCompute intersections with critical boxes..") - LPCside = Array{Any}(undef,length(LBcrit)) - ndig = maximum([Int(floor(log10(max(1,length(LB))))) for LB in LBcrit]) + LPCside = Dict{Int,Any}() + ndig = maximum([ndigits(length(LBcrit[i])) for i in eachindex(LBcrit)]) for i in eachindex(LBcrit) - ndigi = Int(floor(log10(max(1,length(LBcrit[i]))))) - Ptype = i > length(LBcrit) - length(C) ? "Pcon" : "mult" LPCside[i] = Array{Any}(undef, length(LBcrit[i])) - precxtmp = precx + ndigi = Int(floor(log10(max(1,length(LBcrit[i]))))) + Ptype = (i > length(LBcrit)-length(C)) ? "Pcon" : "mult" + precxtmp = precx while true flag = false for j in eachindex(LBcrit[i]) print("$Ptype=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp) npcside = [length(n) for (I, n) in pcside] - if (i == 1 && sum(npcside) > 2) || (i > 1 && sum(npcside[1:2]) != 0) + #println("($i, $j): $npcside") + if (i == 1 && sum(npcside) > 2) || (i != 1 && sum(npcside[1:2]) != 0) precxtmp *= 2 println("\nRefine boxes along x-axis to precision ", precxtmp) refine_xboxes(params[i][1], LBcrit[i], precxtmp) @@ -143,42 +153,44 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t end println("") end - LnPCside = [ [[length(indI) for (L, indI) in PB] for PB in lpcside] for lpcside in LPCside ] + LnPCside = Dict(i => [[length(indI) for (L, indI) in PB] for PB in LPCside[i]] for i in eachindex(LPCside)) # Update extreme boxes - for j in eachindex(LBcrit[1]) - # If the curve does not intersect the box only on vertical sides - if !(LnPCside[1][j][1:2] == [0, 0]) - PCside, nPCside = LPCside[1][j], LnPCside[1][j] - I = [ l[1] for l in PCside[3:end] ] - nI = [ l[2] for l in PCside[3:end] ] - # Locate the orientation of the extreme point - # s is the index on the side where there are more branches - # s=1: left; s=2: right - s = argmax([length(I[1]), length(I[2])]) - # Ordinate range of the extreme point - ycrit = LBcrit[1][j][2] - # If it intersects on the bottom side - if nPCside[1] == 1 - # yinf: the intersection with the vertical side just below the extreme point - yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[1]]) - # We vertically enlarge the box until it intersects on the horizontal side - push!(LPCside[1][j][s + 2][2], yinf) - LPCside[1][j][1][2] = [] - # We update the intersection numbers - LnPCside[1][j][s + 2] += 1 - LnPCside[1][j][1] = 0 - end - # If it intersects on the top side - if nPCside[2] == 1 - # ymax: the intersection with the vertical side just above the extreme point - ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[2]]) - # We vertically enlarge the box until it intersects on the horizontal side - push!(LPCside[1][j][s + 2][2], ymax) - LPCside[1][j][2][2] = [] - # We update the intersection numbers - LnPCside[1][j][s + 2] += 1 - LnPCside[1][j][2] = 0 + if haskey(LBcrit, 1) + for j in eachindex(LBcrit[1]) + # If the curve does not intersect the box only on vertical sides + if !(LnPCside[1][j][1:2] == [0, 0]) + PCside, nPCside = LPCside[1][j], LnPCside[1][j] + I = [ l[1] for l in PCside[3:end] ] + nI = [ l[2] for l in PCside[3:end] ] + # Locate the orientation of the extreme point + # s is the index on the side where there are more branches + # s=1: left; s=2: right + s = argmax([length(I[1]), length(I[2])]) + # Ordinate range of the extreme point + ycrit = LBcrit[1][j][2] + # If it intersects on the bottom side + if nPCside[1] == 1 + # yinf: the intersection with the vertical side just below the extreme point + yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[1]]) + # We vertically enlarge the box until it intersects on the horizontal side + push!(LPCside[1][j][s + 2][2], yinf) + LPCside[1][j][1][2] = [] + # We update the intersection numbers + LnPCside[1][j][s + 2] += 1 + LnPCside[1][j][1] = 0 + end + # If it intersects on the top side + if nPCside[2] == 1 + # ymax: the intersection with the vertical side just above the extreme point + ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[2]]) + # We vertically enlarge the box until it intersects on the horizontal side + push!(LPCside[1][j][s + 2][2], ymax) + LPCside[1][j][2][2] = [] + # We update the intersection numbers + LnPCside[1][j][s + 2] += 1 + LnPCside[1][j][2] = 0 + end end end end @@ -193,13 +205,13 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t Vert = Vector{Tuple{typeout, typeout}}() Edg = Vector{Tuple{Int, Int}}() - Corr = [[[[], [[], [], []], []] for j in xcrit[i] ] for i in eachindex(xcrit) ] + Corr = Dict( m => [[[], [[], [], []], []] for j in xcrit[m] ] for m in eachindex(xcrit)) Viso = [] Vcon = [ [] for _ in 1:length(C) ] Lapp = [[],[]] - for ind in 1:length(xcritpermut) + for ind in eachindex(xcritpermut) i, j = xcritpermut[ind] if ind > 1 @@ -259,7 +271,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t # The critical point ########################## # If we are dealing with a node - if i == 2 + if i == -1 # if it is an isolated point if isempty(nI[1]) && isempty(nI[2]) push!(Lapp[1], (i,j)) @@ -318,7 +330,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t if !(generic) for i in eachindex(Vert) vx,vy = Vert[i] - vx,vy = Float64.(changemat*[vx, vy]) + vx,vy = fct.(changemat*[vx, vy]) Vert[i] = (vx, vy) end end @@ -348,7 +360,7 @@ function group_by_component(f::P, C::Vector{P}; generic=true, precx=150, v=0, ar # Compute the partition of the vertices in Vcon according to the connected component in G sort!(Vcon) CVcon = group_by_component(G, Vcon) - + # Convert the partition into abscissa order index_map = Dict((val, idx) for (idx, val) in enumerate(Vcon)) return [map(v -> index_map[v], C) for C in CVcon] From 38f5a520991d78e0c2baa69897918d1867e16ecc Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 26 Sep 2024 00:45:57 +0200 Subject: [PATCH 076/180] maj deps --- Manifest.toml | 112 +++++++++++++++++++++++++------------------------- 1 file changed, 55 insertions(+), 57 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 230d183..05ed0fc 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,13 +2,13 @@ julia_version = "1.10.1" manifest_format = "2.0" -project_hash = "4d3be6417b0dd2907e17a74f5ed176639eddabae" +project_hash = "4db683e8f9f80c8c42d885d685c8810868b9b1a4" [[deps.AbstractAlgebra]] deps = ["InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] -git-tree-sha1 = "82d5966bba732eaf9972d9b2e3e725de7288c9d7" +git-tree-sha1 = "45e46834b8fcfd59389939445267047577b19df5" uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" -version = "0.42.0" +version = "0.43.1" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" @@ -39,9 +39,9 @@ version = "1.18.0+2" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "b8fe8546d52ca154ac556809e10c75e6e7430ac8" +git-tree-sha1 = "bce6804e5e6044c6daab27bb533d1295e4a2e759" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.5" +version = "0.7.6" [[deps.ColorSchemes]] deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] @@ -75,9 +75,9 @@ version = "0.12.11" [[deps.Compat]] deps = ["TOML", "UUIDs"] -git-tree-sha1 = "b1c55339b7c6c350ee89f2c1604299660525b248" +git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.15.0" +version = "4.16.0" weakdeps = ["Dates", "LinearAlgebra"] [deps.Compat.extensions] @@ -157,9 +157,9 @@ version = "2.6.2+0" [[deps.FFMPEG]] deps = ["FFMPEG_jll"] -git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" +git-tree-sha1 = "53ebe7511fa11d33bec688a9178fac4e49eeee00" uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" -version = "0.4.1" +version = "0.4.2" [[deps.FFMPEG_jll]] deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] @@ -258,10 +258,10 @@ uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" version = "1.10.8" [[deps.HarfBuzz_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] -git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll"] +git-tree-sha1 = "401e4f3f30f43af2c8478fc008da50096ea5240f" uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" -version = "2.8.1+1" +version = "8.3.1+0" [[deps.IntegerMathUtils]] git-tree-sha1 = "b8ffb903da9f7b8cf695a8bead8e01814aa24b30" @@ -279,15 +279,15 @@ version = "0.2.2" [[deps.JLFzf]] deps = ["Pipe", "REPL", "Random", "fzf_jll"] -git-tree-sha1 = "a53ebe394b71470c7f97c2e7e170d51df21b17af" +git-tree-sha1 = "39d64b09147620f5ffbf6b2d3255be3c901bec63" uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" -version = "0.1.7" +version = "0.1.8" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" +git-tree-sha1 = "f389674c99bfcde17dc57454011aa44d5a260a40" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.5.0" +version = "1.6.0" [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] @@ -297,9 +297,9 @@ version = "0.21.4" [[deps.JpegTurbo_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "c84a835e1a09b289ffcd2271bf2a337bbdda6637" +git-tree-sha1 = "25ee0be4d43d0269027024d75a24c24d6c6e590c" uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "3.0.3+0" +version = "3.0.4+0" [[deps.LAME_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -315,15 +315,15 @@ version = "3.0.0+1" [[deps.LLVMOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "d986ce2d884d49126836ea94ed5bfb0f12679713" +git-tree-sha1 = "78211fb6cbc872f77cad3fc0b6cf647d923f4929" uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" -version = "15.0.7+0" +version = "18.1.7+0" [[deps.LZO_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "70c5da094887fd2cae843b8db33920bac4b6f07d" +git-tree-sha1 = "854a9c268c43b77b0a27f22d7fab8d33cdb3a731" uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.2+0" +version = "2.10.2+1" [[deps.LaTeXStrings]] git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" @@ -332,16 +332,18 @@ version = "1.3.1" [[deps.Latexify]] deps = ["Format", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] -git-tree-sha1 = "5b0d630f3020b82c0775a51d05895852f8506f50" +git-tree-sha1 = "ce5f5621cac23a86011836badfedf664a612cee4" uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" -version = "0.16.4" +version = "0.16.5" [deps.Latexify.extensions] DataFramesExt = "DataFrames" + SparseArraysExt = "SparseArrays" SymEngineExt = "SymEngine" [deps.Latexify.weakdeps] DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" [[deps.LibCURL]] @@ -500,9 +502,9 @@ version = "1.0.2" [[deps.Nemo]] deps = ["AbstractAlgebra", "FLINT_jll", "Libdl", "LinearAlgebra", "Pkg", "Random", "RandomExtensions", "SHA"] -git-tree-sha1 = "df48747041f75651a434a42f1ee1b8bc61f9301a" +git-tree-sha1 = "a644b4943424d9f1ffe7a7a1cdda617053bac5c0" uuid = "2edaba10-b0f1-5616-af89-8c11ac63239a" -version = "0.46.0" +version = "0.47.1" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" @@ -538,15 +540,15 @@ version = "1.4.3" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "a028ee3cb5641cccc4c24e90c36b0a4f7707bdf5" +git-tree-sha1 = "7493f61f55a6cce7325f197443aa80d32554ba10" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.14+0" +version = "3.0.15+1" [[deps.Opus_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6703a85cb3781bd5909d48730a67205f3f31a575" uuid = "91d4177d-7536-5919-b921-800302f37372" -version = "1.3.2+0" +version = "1.3.3+0" [[deps.OrderedCollections]] git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" @@ -560,9 +562,9 @@ version = "10.42.0+1" [[deps.Pango_jll]] deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cb5a2ab6763464ae0f19c86c56c63d4a2b0f5bda" +git-tree-sha1 = "e127b609fb9ecba6f201ba7ab753d5a605d53801" uuid = "36c8627f-9965-5494-a995-c6b170f724f3" -version = "1.52.2+0" +version = "1.54.1+0" [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] @@ -600,9 +602,9 @@ version = "1.4.1" [[deps.Plots]] deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "TOML", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] -git-tree-sha1 = "082f0c4b70c202c37784ce4bfbc33c9f437685bf" +git-tree-sha1 = "45470145863035bb124ca51b320ed35d071cc6c2" uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.40.5" +version = "1.40.8" [deps.Plots.extensions] FileIOExt = "FileIO" @@ -727,9 +729,9 @@ uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" version = "1.0.3" [[deps.SimpleBufferStream]] -git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" +git-tree-sha1 = "f305871d2f381d21527c770d4788c06c097c9bc1" uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" -version = "1.1.0" +version = "1.2.0" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" @@ -807,13 +809,9 @@ deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[deps.TranscodingStreams]] -git-tree-sha1 = "96612ac5365777520c3c5396314c8cf7408f436a" +git-tree-sha1 = "e84b3a11b9bece70d14cce63406bbc79ed3464d2" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.11.1" -weakdeps = ["Random", "Test"] - - [deps.TranscodingStreams.extensions] - TestExt = ["Test", "Random"] +version = "0.11.2" [[deps.URIs]] git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" @@ -878,9 +876,9 @@ version = "1.31.0+0" [[deps.XML2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "d9717ce3518dc68a99e6b96300813760d887a01d" +git-tree-sha1 = "1165b0443d0eca63ac1e32b8c0eb69ed2f4f8127" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.13.1+0" +version = "2.13.3+0" [[deps.XSLT_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"] @@ -1045,9 +1043,9 @@ version = "1.2.13+1" [[deps.Zstd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e678132f07ddb5bfa46857f0d7620fb9be675d3b" +git-tree-sha1 = "555d1076590a6cc2fdee2ef1469451f872d8b41b" uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.6+0" +version = "1.5.6+1" [[deps.eudev_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "gperf_jll"] @@ -1057,9 +1055,9 @@ version = "3.2.9+0" [[deps.fzf_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "a68c9655fbe6dfcab3d972808f1aafec151ce3f8" +git-tree-sha1 = "936081b536ae4aa65415d869287d43ef3cb576b2" uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" -version = "0.43.0+0" +version = "0.53.0+0" [[deps.gperf_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -1074,10 +1072,10 @@ uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" version = "3.9.0+0" [[deps.libass_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "e17c115d55c5fbb7e52ebedb427a0dca79d4484e" uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.15.1+0" +version = "0.15.2+0" [[deps.libblastrampoline_jll]] deps = ["Artifacts", "Libdl"] @@ -1097,10 +1095,10 @@ uuid = "2db6ffa8-e38f-5e21-84af-90c45d0032cc" version = "1.11.0+0" [[deps.libfdk_aac_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8a22cf860a7d27e4f3498a0fe0811a7957badb38" uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "2.0.2+0" +version = "2.0.3+0" [[deps.libinput_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "eudev_jll", "libevdev_jll", "mtdev_jll"] @@ -1122,9 +1120,9 @@ version = "1.3.7+2" [[deps.msolve_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "FLINT_jll", "GMP_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl", "MPFR_jll"] -git-tree-sha1 = "b2e3c462bc0587672d3137d657a491c7b06751ea" +git-tree-sha1 = "7324fd011ebc4b9e43d9aa365c79797860459d0a" uuid = "6d01cc9a-e8f6-580e-8c54-544227e08205" -version = "0.700.100+0" +version = "0.700.200+0" [[deps.mtdev_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] From c9dd99eb6d0d1c5480ce174ee9378ead66d06751 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 26 Sep 2024 10:12:46 +0200 Subject: [PATCH 077/180] manage exact roots when refinment --- src/connectivity/boxes.jl | 10 ++++++++++ src/connectivity/connectcurves.jl | 4 ++-- src/connectivity/isolate.jl | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/connectivity/boxes.jl b/src/connectivity/boxes.jl index 9012c4e..37f9dd3 100644 --- a/src/connectivity/boxes.jl +++ b/src/connectivity/boxes.jl @@ -53,6 +53,11 @@ end function refine_xboxes(f::T where T<:Union{PolyRingElem, MPolyRingElem}, LB, prec) # Refine LB along first axis, being roots of f xnew = isolate(f, prec=prec) + for i in eachindex(xnew) + if xnew[i][1]==xnew[i][2] + xnew[i] = [xnew[i][1]-1//ZZ(1)< Date: Thu, 26 Sep 2024 15:53:10 +0200 Subject: [PATCH 078/180] trailing spaces --- src/connectivity/Cannytools.jl | 24 ++++++++++++------------ src/connectivity/computeRM.jl | 4 ++-- src/connectivity/tools.jl | 4 ++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 70b8138..a177f6f 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -5,7 +5,7 @@ function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: M to_varias = Vector{Int}(undef,0) for v in newvarias_S ind = findfirst(x->x==v, R.S) - push!(to_varias, typeof(ind)==Nothing ? length(R.S)+1 : ind) + push!(to_varias, typeof(ind)==Nothing ? length(R.S)+1 : ind) end ind_novarias = setdiff(eachindex(R.S), to_varias) @@ -22,8 +22,8 @@ function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: M end push!(res, finish(ctx)) end - - return res + + return res end function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: PolyRingElem} @@ -45,13 +45,13 @@ function change_ringvar(f::MPolyRingElem, ind_newvarias::Union{Vector{I}, UnitRa return first(change_ringvar([f], [R.S[i] for i in ind_newvarias])) end -# Return the polynomials in F, but injected in the polynomial ring with the variables occuring in F +# Return the polynomials in F, but injected in the polynomial ring with the variables occuring in F function change_ringvar(F::Vector{P}) where {P <: MPolyRingElem} union_varias = Set{Symbol}() for f in F union!(union_varias, map(Symbol, vars(f)) ) end - return change_ringvar(F, collect(union_varias)) + return change_ringvar(F, collect(union_varias)) end function change_ringvar(f::MPolyRingElem) @@ -146,20 +146,20 @@ function detmpoly(A::Matrix{QQMPolyRingElem}, R) if n != size(A, 2) throw(ArgumentError("Matrix must be square")) end - + if n == 1 return A[1, 1] end - + # Initialize the determinant polynomial detA = QQMPolyRingElem(R,0) - + # Compute the determinant polynomial for j = 1:n submatrix = A[2:end, [i for i = 1:n if i != j]] detA += (-1)^(1+j)*A[1, j] * detmpoly(submatrix, R) end - + return detA end @@ -173,7 +173,7 @@ function contfrac_convergents(x::Rational{Int}) x = inv(fpart) fpart, ipart = modf(x) na, da, nb, db = nb, db, na+ipart*nb, da+ipart*db - push!(q, nb//db) + push!(q, nb//db) end end @@ -199,7 +199,7 @@ function small_mid_point(a::QQFieldElem,b::QQFieldElem) x = inv(fpart) fpart, ipart = modfQQ(x) println(fpart," , ", ipart) - q1, q2 = q2, QQFieldElem(numerator(q1) + ipart*numerator(q2), denominator(q1) + ipart*denominator(q2)) + q1, q2 = q2, QQFieldElem(numerator(q1) + ipart*numerator(q2), denominator(q1) + ipart*denominator(q2)) end end @@ -222,5 +222,5 @@ function MidRationalPoints(S::Vector{Vector{QQFieldElem}}) ratioP[i] = simplest_between(ri, li1) end return ratioP -end +end diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 9e5ce48..248e3bf 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -19,7 +19,7 @@ function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{V varias, nvarias = gens(A), nvars(A) hV = V.gens #println(Q) - e = length(first(Q)) + e = length(first(Q)) fixvarias, newvarias = varias[1:e], varias[e+1:nvarias] R = Vector{AlgebraicSolving.Ideal{QQMPolyRingElem}}(undef,0) @@ -32,7 +32,7 @@ function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{V else Fq = V end - + if dimV - e <= 1 curve = change_ringvar(Fq.gens, A.S) push!(R, AlgebraicSolving.Ideal(vcat(curve, [fixvarias[j] - q[j] for j in 1:e]))) diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index 4f0aeea..0daad6d 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -6,8 +6,8 @@ function order_permut2d(L) # Extract the sorted values and their corresponding indices #sorted_L = [pair[1] for pair in sorted_LL] sorted_ind = [pair[2] for pair in sorted_LL] - - return sorted_ind + + return sorted_in end function diff(p, v, n) From 926318b40491bdb6ca3e355605d89fee2061d2e3 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 26 Sep 2024 15:53:26 +0200 Subject: [PATCH 079/180] remove printing --- src/connectivity/plots.jl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index c6153c0..5b43ab8 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -1,8 +1,7 @@ ## Plot functions function plot_graph(G, Vemph::Vector{Vector{T}} where T<:Any; color="red", width=3, vert=true, subplt=false) - if !subplt - println("Plotting the graph") + if !subplt plot(legend=false) end V, E = G @@ -34,7 +33,6 @@ end function plot_graphs(CG; width=3, vert=true, subplt=false) if !subplt - println("Plotting the graph") plot(legend=false) end col = distinguishable_colors(length(CG)+2) @@ -46,7 +44,6 @@ function plot_graphs(CG; width=3, vert=true, subplt=false) end function plot_graph_comp(G, Vemph=[]; width=3, vert=true, subplt=false) - println("Plotting the graph") plot(legend=false) CG = connected_components(G, Vemph) plot_graphs(CG, width=width, vert=vert, subplt=true) From 7bab4af59d652be68d413009d2ee03008f658fd9 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 26 Sep 2024 15:54:16 +0200 Subject: [PATCH 080/180] Manage printing levels + new shortcut functions : plot and nb of components --- src/connectivity/boxes.jl | 20 ++++++-- src/connectivity/connectcurves.jl | 85 +++++++++++++++++++++---------- 2 files changed, 72 insertions(+), 33 deletions(-) diff --git a/src/connectivity/boxes.jl b/src/connectivity/boxes.jl index 37f9dd3..11d9713 100644 --- a/src/connectivity/boxes.jl +++ b/src/connectivity/boxes.jl @@ -7,12 +7,13 @@ function overlap_inter(I,J) end # To try/do : isolate with usolve, call msolve with only one variable -function intersect_box(f, B; prec=100) +function intersect_box(f, B; prec=100, v=0) L = Array{Any}(undef, 4) for i in 1:2 # Lxi L[i] = Array{Any}(undef,2) - while true + compt = 0 + while compt < 5 flag = false L[i][1] = isolate_eval(f, 2, B[2][i], prec=prec) L[i][2] = [] @@ -21,16 +22,21 @@ function intersect_box(f, B; prec=100) push!(L[i][2], j) elseif overlap_inter(l, B[1]) prec *= 2 - println("Increase precision to ", prec) + v > 0 && println("Increase precision to ", prec) flag = true + compt += 1 break end end flag || break end + if compt >= 5 + error("Problem when isolating on one side of a box") + end # Lyi L[i+2] = Array{Any}(undef,2) - while true + compt = 0 + while compt < 5 flag = false L[i+2][1] = isolate_eval(f, 1, B[1][i], prec=prec) L[i+2][2] = [] @@ -39,13 +45,17 @@ function intersect_box(f, B; prec=100) push!(L[i+2][2], j) elseif overlap_inter(l, B[2]) prec *= 2 - println("Increase precision to ", prec) + v > 0 && println("Increase precision to ", prec) flag = true + compt += 1 break end end flag || break end + if compt >= 5 + error("Problem when isolating on one side of a box") + end end return L end diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 1aea7d8..9a23ab9 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -34,12 +34,12 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t #println(params) #append!(params, C) if arb - compt = 1 + compt = 0 while compt < 5 try # TODO : check that no overlap between different isolations - println("\nIsolating critical values with precision ", precx,"..") - @time begin + v > 0 && println("\nIsolating critical values with precision ", precx,"..") + @iftime (v > 0) begin xcrit = Dict(p[1]=> reduce(vcat, [isolate(pp, prec=precx) for pp in p[2][1]]) for p in params) for i in eachindex(xcrit) for j in eachindex(xcrit[i]) @@ -49,10 +49,10 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t end end xcritpermut = order_permut2d(xcrit); - end + end - println("\nComputing isolating critical boxes using Arb with precision ",max(precx,150),"..") - @time begin + v > 0 && println("\nComputing isolating critical boxes using Arb with precision ",max(precx,150),"..") + @iftime (v > 0) begin precArb = precx Pcrit = Dict( i => [[xc, evaluate_Arb(params[i][2], params[i][3], rat_to_Arb(xc, precArb))] for xc in xcrit[i]] for i in eachindex(xcrit)) LBcrit =Dict( i=> [[ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for (i, pcrit) in Pcrit) @@ -63,21 +63,21 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t end end end - end + end catch precx *= 2 - println("Refine x-precision to $precx") + v > 0 && println("Refine x-precision to $precx") compt += 1 else break end end - if compt == 5 + if compt >= 5 error("Problem in isolating critical boxes") end else - println("\nCompute critical boxes with msolve with precision ", precx,"..") - @time begin + v > 0 && println("\nCompute critical boxes with msolve with precision ", precx,"..") + @iftime (v > 0) begin # TODO: parameter -I LBcrit = Dict(p[1]=>reduce(vcat,[ sort(real_solutions(AlgebraicSolving.Ideal([pp, p[2][3]*y-p[2][2]]), precision=precx,interval=true),by=t->t[1]) for pp in p[2][1] ]) for p in params) for i in eachindex(LBcrit) @@ -91,11 +91,11 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t end xcrit = Dict(lbcrit[1]=>[ B[1] for B in lbcrit[2] ] for lbcrit in LBcrit) xcritpermut = order_permut2d(xcrit); - end + end end - @time begin - println("\nTest for identifying singular boxes");ts=time(); + v > 0 && println("\nTest for identifying singular boxes") +@iftime (v > 0) begin ######################################################## # For each mult of sing pts (keys) give the corresponding factors of the resultant (values) ######################################################### @@ -108,7 +108,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t for j in eachindex(LBcrit[ind]) pcrit = [ rat_to_Arb(c, precx) for c in LBcrit[ind][j] ] if contains_zero(evaluate(Lfyk[m+1], pcrit)) - println("Refine singular boxes of multiplicity ", m) + (v > 0) && println("Refine singular boxes of multiplicity ", m) # TODO refine_boxes(params[k], LBcrit[k]) #flag = true break @@ -117,15 +117,15 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t flag || break end end - end +end - @time begin - # Could be improved by handling nodes as extreme boxes: + v > 0 && println("\nCompute intersections with critical boxes..") +@iftime (v > 0) begin + # Could be improved by handling nodes (or even any ordinary sing) as extreme boxes: # when npcside = [2,2,0,0] just take nearest below and above # intersections b with the curves on the vertical sides # and change into npcside = [0,0,2,2] ## TODO : Refine only the intervals that need to be refined - println("\nCompute intersections with critical boxes..") LPCside = Dict{Int,Any}() ndig = maximum([ndigits(length(LBcrit[i])) for i in eachindex(LBcrit)]) for i in eachindex(LBcrit) @@ -133,25 +133,30 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t ndigi = Int(floor(log10(max(1,length(LBcrit[i]))))) Ptype = (i > length(LBcrit)-length(C)) ? "Pcon" : "mult" precxtmp = precx - while true + compt = 0 + while compt < 5 flag = false for j in eachindex(LBcrit[i]) - print("$Ptype=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") - pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp) + v > 0 && print("$Ptype=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") + pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp,v=v) npcside = [length(n) for (I, n) in pcside] #println("($i, $j): $npcside") if (i == 1 && sum(npcside) > 2) || (i != 1 && sum(npcside[1:2]) != 0) precxtmp *= 2 - println("\nRefine boxes along x-axis to precision ", precxtmp) + v > 0 && println("\nRefine boxes along x-axis to precision ", precxtmp) refine_xboxes(params[i][1], LBcrit[i], precxtmp) flag = true + compt += 1 break end LPCside[i][j] = pcside end flag || break end - println("") + v > 0 && println("") + if compt >= 5 + error("Problem in computing intersections with boxes") + end end LnPCside = Dict(i => [[length(indI) for (L, indI) in PB] for PB in LPCside[i]] for i in eachindex(LPCside)) @@ -194,11 +199,11 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t end end end - end +end #return LnPCside - println("\nGraph computation") + #println("\nGraph computation") # Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot # And even remove this fiber for the graph fct, typeout = outf ? (Float64, Float64) : (identity, QQFieldElem) @@ -318,7 +323,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t end end - if Lapp != [[],[]] + if v > 0 && Lapp != [[],[]] println("Removed apparent singularities: $(length(Lapp[1])) isolated $(length(Lapp[2])) nodes") end #EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg] @@ -361,7 +366,31 @@ function group_by_component(f::P, C::Vector{P}; generic=true, precx=150, v=0, ar sort!(Vcon) CVcon = group_by_component(G, Vcon) - # Convert the partition into abscissa order + # Convert the partition into abscissa order index_map = Dict((val, idx) for (idx, val) in enumerate(Vcon)) return [map(v -> index_map[v], C) for C in CVcon] end + +function plot_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + plot_graph(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +end + +function plot_graph(f::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + plot_graph(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +end + +function plot_graph_comp(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + plot_graph_comp(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +end + +function plot_graph_comp(f::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + plot_graph_comp(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +end + +function number_connected_components(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + number_connected_components(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +end + +function number_connected_components(f::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + number_connected_components(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +end \ No newline at end of file From bd26082735be4633033f180c90308377668a319f Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 26 Sep 2024 16:12:00 +0200 Subject: [PATCH 081/180] fix typo --- src/connectivity/tools.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index 0daad6d..9515c84 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -7,7 +7,7 @@ function order_permut2d(L) #sorted_L = [pair[1] for pair in sorted_LL] sorted_ind = [pair[2] for pair in sorted_LL] - return sorted_in + return sorted_ind end function diff(p, v, n) From 775c90e5b35c2707aad94961d3e07232c2541868 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 27 Sep 2024 16:03:15 +0200 Subject: [PATCH 082/180] minor --- src/connectivity/isolate.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connectivity/isolate.jl b/src/connectivity/isolate.jl index 6bbf867..2f83b28 100644 --- a/src/connectivity/isolate.jl +++ b/src/connectivity/isolate.jl @@ -1,6 +1,7 @@ include("src/usolve/usolve.jl") function isolate(f; prec = 32, software="msolve") + #println(f) # Univariate isolation using usolve if total_degree(f) == 0 return [] @@ -9,7 +10,6 @@ function isolate(f; prec = 32, software="msolve") if software == "usolve" return usolve(f, precision = prec, uspath="AlgebraicSolving.jl/src/connectivity/src/usolve/usolve", output="inter", v=2) else - #println(f) sols = real_solutions(Ideal([change_ringvar(f)]), precision=prec, interval=true, info_level=0) return getindex.(sols, 1) end From 36ab10c1e01927c344ce3164a1ca5541ca7124c1 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 27 Sep 2024 16:04:00 +0200 Subject: [PATCH 083/180] change variable order in param --- src/connectivity/paramcurve.jl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl index 44994a5..f41455c 100644 --- a/src/connectivity/paramcurve.jl +++ b/src/connectivity/paramcurve.jl @@ -105,8 +105,8 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs @time begin PARAM = Vector{Vector{AlgebraicSolving.QQPolyRingElem}}(undef,DEG+2) _values = Vector{QQFieldElem}(undef,DEG+2) - i, c = 1, 0 - while c < DEG+2 + i, c = 1, 1 + while c <= DEG+2 #println("$c/ $(DEG+2)") if i > 2*(DEG+2) error("Too many bad specializations") @@ -121,10 +121,11 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs lc = leading_coefficient(r.elim) # TODO: why dividing by lc ? rr = [ p/lc for p in vcat(r.elim, r.denom, r.param) ] - PARAM[i] = rr - _values[i] = QQ(i) + PARAM[c] = rr + _values[c] = QQ(i) c += 1 else + #println(r.vars, rem_ind(R.S, N-1)) println("bad specialization: ", i) end #catch @@ -150,7 +151,7 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs end C = [ collect(coefficients(c)) for c in COEFFS ] - POL_term = [C[i][j]*x^(i-1)*y^(j-1) for i in 1:length(C) for j in 1:length(C[i])] + POL_term = [C[i][j]*y^(i-1)*x^(j-1) for i in 1:length(C) for j in 1:length(C[i])] POL = length(POL_term) > 0 ? sum(POL_term) : T(0) POLY_PARAM[count] = POL From 854164a725c69a0fc4915034ad7acb19ae6dd559 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 27 Sep 2024 16:04:13 +0200 Subject: [PATCH 084/180] apparent singularities --- src/connectivity/connectcurves.jl | 30 +++++++++++++++--------------- src/connectivity/subresultants.jl | 21 +++++++++++++++++---- 2 files changed, 32 insertions(+), 19 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 9a23ab9..3993a53 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -8,7 +8,7 @@ export compute_graph, connected_components, number_connected_components, group_b # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, - rat_to_Arb, evaluate_Arb, evaluate_Arb_rat, int_coeffs + rat_to_Arb, evaluate_Arb, evaluate_Arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array include("tools.jl") include("subresultants.jl") @@ -19,7 +19,7 @@ include("plots.jl") include("arbtools.jl") include("src/resultant/bresultant.jl") -function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) +function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) R = parent(f) x, y = gens(R) @@ -30,7 +30,7 @@ function compute_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=t v > 1 && println(f) v > 0 && println("\nCompute parametrization of critical pts...") - @iftime (v > 0) params = param_crit_split(f) + @iftime (v > 0) params = param_crit_split(f,g) #println(params) #append!(params, C) if arb @@ -371,26 +371,26 @@ function group_by_component(f::P, C::Vector{P}; generic=true, precx=150, v=0, ar return [map(v -> index_map[v], C) for C in CVcon] end -function plot_graph(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - plot_graph(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +function plot_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + plot_graph(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) end -function plot_graph(f::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - plot_graph(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +function plot_graph(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + plot_graph(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) end -function plot_graph_comp(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - plot_graph_comp(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +function plot_graph_comp(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + plot_graph_comp(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) end -function plot_graph_comp(f::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - plot_graph_comp(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +function plot_graph_comp(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + plot_graph_comp(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) end -function number_connected_components(f::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - number_connected_components(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +function number_connected_components(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + number_connected_components(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) end -function number_connected_components(f::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - number_connected_components(compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +function number_connected_components(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) + number_connected_components(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) end \ No newline at end of file diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index 0e7742f..6a0c607 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -129,7 +129,7 @@ function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false else for lsr in Lsr mlsr = [[],[]] - for i in 1:i#length(lsr) + for i in 1:length(lsr) for j in 1:length(lsr[i]) push!(mlsr[1], lsr[i][j]) push!(mlsr[2],add_ind([j-1],idx, i-1)) @@ -275,7 +275,7 @@ function fact_gcd(delta::T, LP::Vector{T}) where (T <:MPolyRingElem) return Dict([ (i, change_ringvar(f, [first(R.S)]) ) for (i,f) in out ]) end -function param_crit_split(f) +function param_crit_split(f,g) # Compute subresultants and factor the first subresultant if total_degree(f) > 30 sr = mmod_subresultants(f, derivative(f, 2), 2, list=true, n_ssr=2) @@ -308,7 +308,13 @@ function param_crit_split(f) end # Nodes : multiplicity 2 in res - (2 in sqrmult) && push!(param_crit, -1=>[group_sqr[2], -sr[2][end-1], sr[2][end]]) + if 2 in sqrmult + A = derivative(derivative(f,2),2)*derivative(g,1) - derivative(derivative(f,1),2)*derivative(g,2) + A1 = numerator(evaluate(A, [2], [-sr[2][end-1]//sr[2][end]])) + dA = gcd.(group_sqr[2], Ref(A1)) + push!(param_crit, -1=>[group_sqr[2]./dA, -sr[2][end-1], sr[2][end]]) + append!(param_crit[2][1], dA) + end # Other sing filter!(m->!(m in [1,2]), sqrmult) #TODO: simpler criterion for mult=p*(p-1)? @@ -324,10 +330,17 @@ function param_crit_split(f) for k in eachindex(Ld) for l in eachindex(Ld[k]) for (i, dji) in Ld[k][l] - push!(param_crit[i+1][1], dji) + if haskey(param_crit, i+1) + push!(param_crit[i+1][1], dji) + else + error("Curve not in generic position") + end end end end + for i in eachindex(param_crit) + filter!(p->total_degree(p)>0, param_crit[i][1]) + end return filter(p->length(p[2][1])>0, param_crit) end \ No newline at end of file From dcdbc9d29efa57211638880f47fdc624522c44a3 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 30 Sep 2024 14:24:50 +0200 Subject: [PATCH 085/180] add change_ringvar for modular base rings --- src/connectivity/Cannytools.jl | 45 +++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index a177f6f..c3dbba3 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -27,7 +27,8 @@ function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: M end function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: PolyRingElem} - A, (x,) = polynomial_ring(QQ, [parent(first(F)).S]) + R = parent(first(F)) + A, (x,) = polynomial_ring(base_ring(R), [R.S]) return change_ringvar([ evaluate(f, x) for f in F ], newvarias_S) end @@ -58,6 +59,48 @@ function change_ringvar(f::MPolyRingElem) return first(change_ringvar([f])) end +# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables +function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} + R = parent(first(F)) + # Locate variables of R in newvarias + to_varias = Vector{Int}(undef,0) + for v in newvarias_S + ind = findfirst(x->x==v, oldvarias_S) + push!(to_varias, typeof(ind)==Nothing ? length(oldvarias_S)+1 : ind) + end + + ind_novarias = setdiff(eachindex(oldvarias_S), to_varias) + newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) + + res = typeof(first(F))[] + ctx = MPolyBuildCtx(newR) + + for f in F + for (e, c) in zip(exponent_vectors(f), coefficients(f)) + @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") + push!(e, 0) + push_term!(ctx, c, [e[i] for i in to_varias ]) + end + push!(res, finish(ctx)) + end + + return res +end + +function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: PolyRingElem} + R = parent(first(F)) + A, (x,) = polynomial_ring(base_ring(R), oldvarias_S) + return change_ringvar_mod([ evaluate(f, x) for f in F ], newvarias_S, oldvarias_S) +end + +function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) + return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) +end + +#function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) +# return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) +#end + function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" From bafbee1237909018dde3c97f724abb3ccaa01888 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 30 Sep 2024 14:25:13 +0200 Subject: [PATCH 086/180] export change_ringvar_mod --- src/connectivity/computeRM.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 248e3bf..bfa182a 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -6,7 +6,7 @@ export computeRM, computepolarproj, computepolarphi # DEBUG -export change_ringvar, compute_minors, detmpoly +export change_ringvar, compute_minors, detmpoly, change_ringvar_mod include("Cannytools.jl") From 7a102f9aa54079d2ea00c7c5b984b662d19b39b5 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 30 Sep 2024 14:26:56 +0200 Subject: [PATCH 087/180] remove variable --- src/connectivity/paramcurve.jl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl index f41455c..df4f9ed 100644 --- a/src/connectivity/paramcurve.jl +++ b/src/connectivity/paramcurve.jl @@ -23,6 +23,22 @@ function rem_var(f, i) return finish(C) end +function rem_var(f, i, S) + # Remove the occurence of the ith variable + R = parent(f) + A, Avars = polynomial_ring(base_ring(R), rem_ind(S, i)) + CE = [collect(coefficients(f)), collect(exponent_vectors(f))] + CE[2] = [ rem_ind(e, i) for e in CE[2]] + + # Reconstruct the polynomial in the ring A + C = MPolyBuildCtx(A) + R = base_ring(A) + for i in eachindex(CE[1]) + push_term!(C, R(CE[1][i]), CE[2][i]); + end + return finish(C) +end + function rem_ind(L,i::Int) # remove element at index i return [ L[1:i-1]; L[i+1:end] ] From 8b00196269601021f0d25bb37f4a3d7e501156cd Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 30 Sep 2024 14:29:02 +0200 Subject: [PATCH 088/180] add detection for app sing, with several modular speedups --- src/connectivity/subresultants.jl | 125 +++++++++++++++++++++++++++--- 1 file changed, 113 insertions(+), 12 deletions(-) diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index 6a0c607..ddabd91 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -1,4 +1,24 @@ # Some tools + +function homogenize(P::MPolyRingElem, i::Int, S::Vector{T} where T<:Union{Symbol, String}) + A = base_ring(parent(P)) + if iszero(P) + return zero(polynomial_ring(A, S)[1]) + end + # Homogenize w.r.t to the i-th variables + LPc, LPe = poly_to_array(P) + deg, N = maximum(getindex.(LPe, i)), length(LPe[1]) + for j in eachindex(LPe) + push!(LPe[j], deg-LPe[j][i]) + end + R, = polynomial_ring(A, S) + return array_to_poly([LPc,LPe], R) +end + +function homogenize(LP::Vector{P} where P<:MPolyRingElem, i::Int, S::Vector{T} where T<:Union{Symbol, String}) + return [ homogenize(lp, 2, S) for lp in LP ] +end + function poly_to_array(P::MPolyRingElem) # return P as two lists ci and vi of resp. coeffs and exponents return [collect(coefficients(P)), collect(exponent_vectors(P))] @@ -14,6 +34,19 @@ function add_ind(L,i,x) return [ L[1:i-1]; [x]; L[i:end] ] end +function parray_asvarcoeff(LP, idx) + # takes the above representation of a poly P + # and outputs a representation of P with univariate coeffs in the i-th variable + A = parent(LP[1][1]) + NLP = [ Vector{typeof(LP[1][1])}[], [] ] + for (c,e) in zip(LP[1], LP[2]) + vcat(zeros(A, e[idx]), [c]) + push!(NLP[1], vcat(zeros(A, e[idx]), [c])) + push!(NLP[2], rem_ind(e, idx)) + end + return NLP +end + function parray_asvar(LP, idx) # takes the above representation of a poly P # and outputs a representation of P seen as a univariate poly in the i-th variable @@ -275,12 +308,72 @@ function fact_gcd(delta::T, LP::Vector{T}) where (T <:MPolyRingElem) return Dict([ (i, change_ringvar(f, [first(R.S)]) ) for (i,f) in out ]) end -function param_crit_split(f,g) +function num_biv_rat_mod(A, P, RS) + # Computes the numerator of the polynomial A(x,a(x)//b(x)) mod q + # where P = [q, a, b] + B = base_ring(parent(A)) + + T, = polynomial_ring(B, RS[1]) + Puniv = [ T(coefficients_of_univariate(p)) for p in P ] + + U, fU = Nemo.residue_ring(T, Puniv[1]) + amod, bmod = fU.(Puniv[2:end]) + + newv = vcat(RS, [:t]) + Tbiv, = polynomial_ring(T, newv[2:end]) + Ah = homogenize(A, 2, newv) + Ah1 = array_to_poly(parray_asvarcoeff(poly_to_array(Ah), 1), Tbiv) + Ahmod = change_coefficient_ring(U, Ah1) + + Aeval = evaluate(Ahmod, [amod, bmod]) + return change_ringvar_mod(lift(Aeval), RS, newv) +end + +function intersect_biv(P::Vector{T} where T<:Any, A::MPolyRingElem) + # P = [Lq, a, b] encodes sets (x,a(x)/b(x)) where Lq[i](x)=0 + # Compute divisor dA of q that encodes intersection with A(x,y)=0 + compt = 0 + RS = parent(A).S + dA, dAf = [], [] + pprod, p = 1, ZZ(1) << 60 + while compt<12 + #print("$compt,") + if compt>0 + dAfold, dAold = copy(dAf), copy(dA) + end + p = next_prime(p) + Pp = change_coefficient_ring.(Ref(GF(p)), P) + Ap = change_coefficient_ring(GF(p), A) + #@time "Eval" + Apev = num_biv_rat_mod(Ap, Pp, RS) + dAp = gcd(Pp[1], Apev) + dA = lift.(Ref(ZZ), coefficients_of_univariate(dAp)) + if compt>0 + dA = [ crt([d1, d2], [pprod, p], true) for (d1, d2) in zip(dAold, dA) ] + end + if length(filter!(!is_zero, dA)) <= 1 + #println("Trivial gcd") + return one(parent(P[1])) + end + pprod = pprod*p + dAf = [ reconstruct(c, pprod) for c in dA ] + if compt>0 + dAf != dAfold || break + end + compt += 1 + end + #println() + B, = polynomial_ring(QQ, RS[1]) + return change_ringvar(B(dAf), RS) +end + +function param_crit_split(f, g; v=1, detect_app=true) # Compute subresultants and factor the first subresultant + v>0 && println("Compute subresultant sequence") if total_degree(f) > 30 - sr = mmod_subresultants(f, derivative(f, 2), 2, list=true, n_ssr=2) + @iftime v>0 sr = mmod_subresultants(f, derivative(f, 2), 2, list=true, n_ssr=2) else - sr = subresultants(f, derivative(f, 2), 2, list=true) + @iftime v>0 sr = subresultants(f, derivative(f, 2), 2, list=true) end if total_degree(sr[1][1]) == 0 @@ -296,6 +389,8 @@ function param_crit_split(f,g) group_sqr = Dict(m => [r[1] for r in sqr if r[2] == m] for m in sqrmult) #println(group_sqr) + v>0 && println("Compute crit partition w.r.t to multiplicity") +@iftime v>0 begin # Initalization singmult = filter(p->p*(p-1)<=sqrmult[end], 2:sqrmult[end]) param_crit = Dict(p => [QQMPolyRingElem[], -sr[p][end-1], (p-1)*sr[p][end]] for p in singmult) @@ -308,20 +403,24 @@ function param_crit_split(f,g) end # Nodes : multiplicity 2 in res + v>0 && println("Compute apparent singularities") if 2 in sqrmult - A = derivative(derivative(f,2),2)*derivative(g,1) - derivative(derivative(f,1),2)*derivative(g,2) - A1 = numerator(evaluate(A, [2], [-sr[2][end-1]//sr[2][end]])) - dA = gcd.(group_sqr[2], Ref(A1)) - push!(param_crit, -1=>[group_sqr[2]./dA, -sr[2][end-1], sr[2][end]]) - append!(param_crit[2][1], dA) + if detect_app + A = derivative(derivative(f,2),2)*derivative(g,1) - derivative(derivative(f,1),2)*derivative(g,2) + dA = [ int_coeffs(intersect_biv([q, -sr[2][end-1], sr[2][end]], A)) for q in group_sqr[2] ] + @time "Division" push!(param_crit, -1=>[group_sqr[2]./dA, -sr[2][end-1], sr[2][end]]) + append!(param_crit[2][1], dA) + else + push!(param_crit, -1=>[group_sqr[2], -sr[2][end-1], sr[2][end]]) + end end # Other sing filter!(m->!(m in [1,2]), sqrmult) #TODO: simpler criterion for mult=p*(p-1)? lsr = [ try sr[p][end] catch; one(parent(f)) end for p in 2:(singmult[end]+1) ] Ld = Vector{Vector{Dict{Int, QQMPolyRingElem}}}(undef, length(sqrmult)) - #Threads.@threads - for k in eachindex(sqrmult) + println("Compute gcd decomposition") + Threads.@threads for k in eachindex(sqrmult) Ld[k] = Vector{Dict{Int, QQMPolyRingElem}}(undef,length(group_sqr[sqrmult[k]])) for l in eachindex(group_sqr[sqrmult[k]]) Ld[k][l] = fact_gcd(group_sqr[sqrmult[k]][l], lsr) @@ -338,9 +437,11 @@ function param_crit_split(f,g) end end end - +end for i in eachindex(param_crit) filter!(p->total_degree(p)>0, param_crit[i][1]) end return filter(p->length(p[2][1])>0, param_crit) -end \ No newline at end of file +end + +param_crit_split(f; v=1) = param_crit_split(f, zero(parent(f)), v=v, detect_app=false) \ No newline at end of file From 18f33240647e18657d1879456200aab13a66a88d Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 30 Sep 2024 14:29:25 +0200 Subject: [PATCH 089/180] export appsing related functions for debug --- src/connectivity/connectcurves.jl | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 3993a53..4890279 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -8,7 +8,7 @@ export compute_graph, connected_components, number_connected_components, group_b # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, - rat_to_Arb, evaluate_Arb, evaluate_Arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array + rat_to_Arb, evaluate_Arb, evaluate_Arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, intersect_biv, num_biv_rat_mod, parray_asvarcoeff include("tools.jl") include("subresultants.jl") @@ -286,10 +286,6 @@ end # push!(Corr[i][j][2][1], length(Vert)) # We will subsequently add the vertex in the graph # push!(Viso, length(Vert)) - ############################################ - ## TO BE REPLACED BY APPSING IDENTIFICATOR ## - ## works for space curves without nodes ## - ############################################ else # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 push!(Edg, (Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]])) From cec5ddf31270f165f727ba01caaead930b17013b Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 17 Oct 2024 00:46:06 +0200 Subject: [PATCH 090/180] build Mpoly function + maj --- src/connectivity/Cannytools.jl | 56 +++++++++++++++++++++++++++++----- 1 file changed, 48 insertions(+), 8 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index c3dbba3..c7a04a1 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -28,8 +28,22 @@ end function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: PolyRingElem} R = parent(first(F)) - A, (x,) = polynomial_ring(base_ring(R), [R.S]) - return change_ringvar([ evaluate(f, x) for f in F ], newvarias_S) + to_varias = [ v==R.S ? 1 : 2 for v in newvarias_S] + newR, = polynomial_ring(base_ring(R), newvarias_S) + + res = typeof(zero(newR))[] + ctx = MPolyBuildCtx(newR) + + LcF = [ filter!(t->t[2]!=0, collect(enumerate(coefficients(f)))) for f in F ] + for f in LcF + for (ef, c) in f + e = [ef-1, 0] + push_term!(ctx, c, [e[i] for i in to_varias ]) + end + push!(res, finish(ctx)) + end + + return res end function change_ringvar(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) @@ -101,7 +115,32 @@ end # return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) #end +function MPolyBuild(F::Vector{Vector{P}}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} + A = parent(first(first(F))) + R, = polynomial_ring(A, newvarias_S) + to_varias = [ i==idx ? 1 : 2 for i in eachindex(newvarias_S) ] + + res = typeof(zero(R))[] + ctx = MPolyBuildCtx(R) + + LcF = [ filter!(t->t[2]!=0, collect(enumerate(f))) for f in F ] + for f in LcF + for (ef, c) in f + e = [ef-1, 0] + push_term!(ctx, c, [e[i] for i in to_varias ]) + end + push!(res, finish(ctx)) + end + + return res +end + +function MPolyBuild(f::Vector{P}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} + return first(MPolyBuild([f], newvarias_S, idx)) +end + function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) + #println("$j $V $dimV") # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" R = parent(V) @@ -111,6 +150,7 @@ function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; d JW = transpose([ derivative(f, k) for k=j+1:n, f in hV ]) sizeminors = c + dimproj - (j-1) hW = vcat(hV, compute_minors(sizeminors, JW, R)) + filter!(!iszero, hW) output_functions = Dict( "minors" => x -> x, "groebner" => x -> groebner_basis(x, info_level=verb,nr_thrds=nr_thrds), @@ -122,19 +162,19 @@ function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; d return output_functions[output](AlgebraicSolving.Ideal(hW)) end -function computepolarphi(j::Int, V::AlgebraicSolving.Ideal, phi::MPolyRingElem, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) +function computepolarphi(j::Int, V::AlgebraicSolving.Ideal, phi::Vector{T} where T<:MPolyRingElem, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" R = parent(V) - n, hV = R.nvars, V.gens + n, hV = nvars(R), V.gens c = n - dimV if j==0 JW = transpose([ derivative(f, k) for k=1:n, f in hV ]) sizeminors = c else - JW = transpose([ derivative(f, k) for k=j:n, f in [hV;[phi]] ]) - sizeminors = c + 1 + dimproj - (j-1) + JW = transpose([ derivative(f, k) for k=1:n, f in vcat(hV,phi) ]) + sizeminors = c + j + dimproj - (j-1) end hW = vcat(hV, compute_minors(sizeminors, JW, R)) output_functions = Dict( @@ -183,7 +223,7 @@ function combinations(a, n) return _combinations(a, n, 1, Vector{Int}([])) end -function detmpoly(A::Matrix{QQMPolyRingElem}, R) +function detmpoly(A::Matrix{T} where T<:MPolyRingElem, R) # Get the size of the matrix n = size(A, 1) if n != size(A, 2) @@ -195,7 +235,7 @@ function detmpoly(A::Matrix{QQMPolyRingElem}, R) end # Initialize the determinant polynomial - detA = QQMPolyRingElem(R,0) + detA = zero(R) # Compute the determinant polynomial for j = 1:n From a5c68c425c54d485133019b988e2b705b25685b9 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 17 Oct 2024 00:46:31 +0200 Subject: [PATCH 091/180] some verbose --- src/connectivity/computeRM.jl | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index bfa182a..303af35 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -6,7 +6,7 @@ export computeRM, computepolarproj, computepolarphi # DEBUG -export change_ringvar, compute_minors, detmpoly, change_ringvar_mod +export change_ringvar, compute_minors, detmpoly, change_ringvar_mod, MPolyBuild include("Cannytools.jl") @@ -38,21 +38,24 @@ function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{V push!(R, AlgebraicSolving.Ideal(vcat(curve, [fixvarias[j] - q[j] for j in 1:e]))) else ## sing(Fq) ## - #println("Compute first the singular points") - singFq = computepolarproj(0, Fq, dimV-e, newvarias, output="real", verb=v, nr_thrds=Threads.nthreads()) + v>0 && println("Compute first the singular points") + singFq = computepolarproj(0, Fq, dimV-e, newvarias, output="real", verb=v-1, nr_thrds=Threads.nthreads()) @assert(length(singFq)==0, "Non-emtpy real sing locus!") #@assert(degree(singFq.elim)==0, "Non-emtpy sing locus!") ## K(pi_1,Fq) ## - K1Fq = computepolarproj(1, Fq, dimV-e, newvarias, output="interval", verb=v, nr_thrds=Threads.nthreads()) + v >0 && println("First critical points") + K1Fq = computepolarproj(1, Fq, dimV-e, newvarias, output="interval", verb=v-1, nr_thrds=Threads.nthreads()) ## K(pi_2, Fq) ## - K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors", verb=v, nr_thrds=Threads.nthreads()) + v >0 && println("Second critical points") + K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors", verb=v-1, nr_thrds=Threads.nthreads()) polar = change_ringvar(K2Fq.gens, A.S) push!(R, AlgebraicSolving.Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) ## Points with vertical tg in K(pi_2, Fq) ## - K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=v, nr_thrds=Threads.nthreads()) + v >0 && println("Vertical tg points") + K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=v-1, nr_thrds=Threads.nthreads()) ## New base points ## K1W = vcat(K1Fq, K1WmFq) From a47835f47059cd49b68397d60efaeb23e45ee472 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 17 Oct 2024 00:48:06 +0200 Subject: [PATCH 092/180] fix bresultant interface --- src/connectivity/src/resultant/bresultant.jl | 66 ++++++++++++++++---- 1 file changed, 54 insertions(+), 12 deletions(-) diff --git a/src/connectivity/src/resultant/bresultant.jl b/src/connectivity/src/resultant/bresultant.jl index 67162ad..e343185 100644 --- a/src/connectivity/src/resultant/bresultant.jl +++ b/src/connectivity/src/resultant/bresultant.jl @@ -1,3 +1,5 @@ +export parse_poly + function PolyToBRstring(f) fc, fe = map(collect, [coefficients(f), exponent_vectors(f)]) s = string(length(fc), " 2\n") @@ -38,31 +40,71 @@ function ToBresultant(f, g, finput="/tmp/in.bs") close(ff) end +function parse_poly(poly_str) + # Regular expression to match terms of the form "ax^n", "bx", or constants + term_pattern = r"([+-]?[ ]*\d*)[\*]?x\^(\d+)|([+-]?[ ]*\d*)[\*]?x|([+-]?[ ]*\d+)" + + # Initialize a dictionary to store the coefficients with their exponents + coeffs = Dict{Int, BigInt}() + + # Use the regular expression to find all matches + for m in eachmatch(term_pattern, poly_str) + #println(m) + if !isnothing(m.captures[1]) && !isnothing(m.captures[2]) # Matches ax^n + s = m.captures[1] * (m.captures[1] in ["","-","+"] ? "1" : "") + coeffs[parse(Int, m.captures[2])] = parse(BigInt, s) + elseif !isnothing(m.captures[3]) # Matches bx (degree 1 term) + s = m.captures[3] * (m.captures[3] in ["","-","+"] ? "1" : "") + coeffs[1] = parse(BigInt, s) + elseif !isnothing(m.captures[4]) # Matches constant term + coeffs[0] = parse(BigInt, m.captures[4]) + end + end + + # Get the highest degree + max_degree = maximum(keys(coeffs)) + # Create the list of coefficients starting from the highest degree + result = [get(coeffs, i, 0) for i in 0:max_degree] + + return result +end + function FromBresultant(output="p", foutput="/tmp/out.bs") #x, y = symbols("x y") - #A, (x, y) = ZZ[], PolynomialRing(ZZ, ["x", "y"]) - ff = open(foutput, "r") + A, x = polynomial_ring(QQ, :x) + ff = open(foutput, "r+") s = read(ff, String) - s = replace(s, "\n" => "", ":" => "", ";" => "") - L = eval(Meta.parse(s)) - close(ff) - return L + #println(s) + Ls = split.(split(replace(s, r":|;\n|\[\n\[|\]\n\]" => ""), "],\n["), Ref(",\n")) + Lcs = [ parse_poly.(ls) for ls in Ls ] + #println(Lcs) + return [ A.(ls) for ls in Lcs ] end function Bresultant(f, g; fname1="/tmp/in.bs", fname2="/tmp/out.bs", bspath="./bresultant", v=0) - ToBresultant(f, g, fname1) - out = run(pipeline(`$bspath -f $fname1 -o $fname2`, stderr="/tmp/err.log.bs")) + @time ToBresultant(f, g, fname1) + #err = Pipe() + @time process = run(pipeline(`$bspath -f $fname1 -o $fname2`)) + + #= + #close(err.in) if v > 0 - ff = open("/tmp/err.log.bs", "r") - println(read(ff, String)) - close(ff) + c=0 + while c <100 + out = @async String(read(err)) + println(out) + c +=1 + end end #if v == 1 # println(split(stderr(out), '\n')[end - 1] |> x -> split(x, ": ")[end] * "s") #elseif v == 2 # println(stderr(out)) #end - return FromBresultant(fname2) + wait(process) + =# + + return @time FromBresultant(fname2) end #using Nemo From dfe825acd301d3208d6eeb16d43d66375fe1bce6 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 17 Oct 2024 00:48:18 +0200 Subject: [PATCH 093/180] typo --- src/connectivity/tools.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index 9515c84..3a0c8cc 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -49,4 +49,4 @@ macro iftime(v, ex) $(esc(ex)) end end -end \ No newline at end of file +end From 68f6a4140b1fd15a22d456cdad411fe046cdf406 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 17 Oct 2024 00:48:45 +0200 Subject: [PATCH 094/180] temp savefig --- src/connectivity/plots.jl | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 5b43ab8..020c5a4 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -40,12 +40,43 @@ function plot_graphs(CG; width=3, vert=true, subplt=false) G, CVemph = length(CG[j][1])==2 ? CG[j] : (CG[j], Vector{Int}()) plot_graph(G, CVemph, color=col[j+2], vert=vert, subplt=true) end - subplt || gui() + #subplt || gui() + savefig("/home/remi/Documents/gittravail/test.html") + replace_width_height_in_file("/home/remi/Documents/gittravail/test.html", 1000, 750) end function plot_graph_comp(G, Vemph=[]; width=3, vert=true, subplt=false) plot(legend=false) CG = connected_components(G, Vemph) + println(Vemph) plot_graphs(CG, width=width, vert=vert, subplt=true) subplt || gui()#savefig("/tmp/test.html") +end + +function replace_width_height_in_file(filename, x, y) + # Open the file and read its content as a string + content = read(filename, String) + + # Build the patterns to search for and the replacements + width_pattern = "\"width\": 600" + height_pattern = "\"height\": 400" + + # Create the replacement strings with new values of x and y + new_width = "\"width\": $x" + new_height = "\"height\": $y" + + # Replace the last occurrence of "width": 600 + last_width_pos = findlast(occursin(width_pattern), split(content, "\n")) + if last_width_pos !== nothing + content = replace(content, width_pattern => new_width; count=1) + end + + # Replace the last occurrence of "height": 400 + last_height_pos = findlast(occursin(height_pattern), split(content, "\n")) + if last_height_pos !== nothing + content = replace(content, height_pattern => new_height; count=1) + end + + # Write the modified content back to the file + write(filename, content) end \ No newline at end of file From 154d3d6289feaa3bcc719ba12e6f2eda5852d20f Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 17 Oct 2024 00:49:52 +0200 Subject: [PATCH 095/180] parrallelize + fix param_newvars --- src/connectivity/paramcurve.jl | 55 ++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl index df4f9ed..ede2dc8 100644 --- a/src/connectivity/paramcurve.jl +++ b/src/connectivity/paramcurve.jl @@ -121,33 +121,42 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs @time begin PARAM = Vector{Vector{AlgebraicSolving.QQPolyRingElem}}(undef,DEG+2) _values = Vector{QQFieldElem}(undef,DEG+2) - i, c = 1, 1 - while c <= DEG+2 - #println("$c/ $(DEG+2)") + i = 1 + free_ind = collect(1:DEG+2) + used_ind = zeros(Bool, DEG+2) + while length(free_ind) > 0 + #println("$(DEG+2-length(free_ind))/ $(DEG+2)") if i > 2*(DEG+2) error("Too many bad specializations") end - - #try - Feval = [ evaluate(f, [N-1], [QQ(i)]) for f in F ] - Feval = [ rem_var(f, N-1) for f in Feval ] - r = rational_parametrization(Ideal(Feval), nr_thrds=Threads.nthreads()) + LFeval = Vector{AlgebraicSolving.Ideal}(undef, length(free_ind)) + Threads.@threads for j in 1:length(free_ind) + LFeval[i+j-1] = Ideal([ rem_var(evaluate(f, [N-1], [QQ(i+j-1)]), N-1) for f in F ]) + end + Lr = Vector{AlgebraicSolving.RationalParametrization}(undef, length(free_ind)) + for j in 1:length(free_ind) + #println("$(i+j-1)/$(DEG+2)") + Lr[i+j-1] = rational_parametrization(LFeval[i+j-1], nr_thrds=Threads.nthreads()) + end + for j in 1:length(free_ind) # For lifting: the same variable must be chosen for the param - if r.vars == rem_ind(R.S, N-1) - lc = leading_coefficient(r.elim) - # TODO: why dividing by lc ? - rr = [ p/lc for p in vcat(r.elim, r.denom, r.param) ] - PARAM[c] = rr - _values[c] = QQ(i) - c += 1 + if Lr[j].vars == rem_ind(R.S, N-1) + lc = leading_coefficient(Lr[j].elim) + # TODO: why dividing by lc ? To get a unique representative? + rr = [ p/lc for p in vcat(Lr[j].elim, Lr[j].denom, Lr[j].param) ] + PARAM[j] = rr + _values[j] = QQ(i+j-1) + used_ind[j] = true + #println("Good specialization: ",i+j-1) else #println(r.vars, rem_ind(R.S, N-1)) - println("bad specialization: ", i) + println("bad specialization: ", i+j-1) end - #catch - # error("bad specialization: ", i) - #end - i += 1 + end + + i += length(free_ind) + free_ind = [ free_ind[j] for j in eachindex(free_ind) if !used_ind[j] ] + used_ind = zeros(Bool, length(free_ind)) end end @@ -178,9 +187,11 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs end function param_newvars(F::Vector{P} where P <: MPolyRingElem, Svars::Vector{Symbol}, cfs_lf::Vector{Vector{I}} where I<:Union{ZZRingElem, QQFieldElem}) - eq = change_ringvar(F, Svars) + Svarsbis = vcat(Svars[1:end-2], reverse!(Svars[end-1:end])) + eq = change_ringvar(F, Svarsbis) newvarias = gens(parent(first(eq))) - neweq = vcat(eq, [ transpose(lf)*newvarias for lf in cfs_lf ]) + newvariasbis = vcat(newvarias[1:end-2], reverse!(newvarias[end-1:end])) + neweq = vcat(eq, [ transpose(lf)*newvariasbis for lf in cfs_lf ]) C = rational_parametrization(Ideal(neweq)) return change_ringvar([C.elim, C.elim == -1 ? C.elim : C.param[end], C.denom], [:x,:y]) From c8f3ad96e603e06e70a2069f135d0cfafd6af57b Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 17 Oct 2024 00:50:16 +0200 Subject: [PATCH 096/180] fix control points --- src/connectivity/graph.jl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/connectivity/graph.jl b/src/connectivity/graph.jl index 5f50f4e..026eda0 100644 --- a/src/connectivity/graph.jl +++ b/src/connectivity/graph.jl @@ -53,11 +53,13 @@ function connected_components(G, Vemph=[]; ind_abs=false) end if length(Vemph)>0 - CVemph = [ [] for _ in eachindex(components) ] + CVemph = [ Dict(k=>[] for k in eachindex(Vemph)) for _ in eachindex(components) ] for i in eachindex(components) for j in eachindex(components[i]) - if components[i][j] in Vemph - push!(CVemph[i], ind_abs ? components[i][j] : j) + for k in eachindex(Vemph) + if components[i][j] in Vemph[k] + push!(CVemph[i][k], ind_abs ? components[i][j] : j) + end end end end From 4103f48cbfc3b56e2574efb9a09e431fdc9cccf5 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 17 Oct 2024 00:50:43 +0200 Subject: [PATCH 097/180] tmp --- src/connectivity/isolate.jl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/connectivity/isolate.jl b/src/connectivity/isolate.jl index 2f83b28..4c3eb00 100644 --- a/src/connectivity/isolate.jl +++ b/src/connectivity/isolate.jl @@ -1,6 +1,6 @@ include("src/usolve/usolve.jl") -function isolate(f; prec = 32, software="msolve") +function isolate(f; prec = 32, software="usolve") #println(f) # Univariate isolation using usolve if total_degree(f) == 0 @@ -15,7 +15,7 @@ function isolate(f; prec = 32, software="msolve") end end -function isolate_eval(f, ivar, val; prec=64, software="msolve") +function isolate_eval(f, ivar, val; prec=64, software="usolve") #print(val) # univariate isolation of roots of a bivariate polynomial f # whose ivar-th variable is evaluated at val @@ -25,6 +25,7 @@ function isolate_eval(f, ivar, val; prec=64, software="msolve") CD = lcm(map(denominator, collect(coefficients(fev)))) fev *= CD - return isolate(fev, prec=prec, software=software) + tmp = isolate(fev, prec=prec, software=software) + return tmp end \ No newline at end of file From 9ba84d72716577af5aaf72c4d9c97854b1b001a5 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 17 Oct 2024 00:51:06 +0200 Subject: [PATCH 098/180] add new function for param + several improvements --- src/connectivity/subresultants.jl | 194 ++++++++++++++++++++++++------ 1 file changed, 159 insertions(+), 35 deletions(-) diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index ddabd91..a8caca1 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -175,7 +175,7 @@ function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false return newsr end -function interp_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, iv; list=false) where T <: RingElement +function interp_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, iv; list=false, Dmax=nothing) where T <: RingElement R = parent(P) A = coefficient_ring(R) iu = iv%2+1 @@ -183,27 +183,39 @@ function interp_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, iv; list # Modern computer Algebra Th 6.51. degs = degrees(P) n, d = degs[iv], degs[iu] - degsmax = [ (2*n-1-2*k)*d for k=0:d-1 ] + if isnothing(Dmax) + Dmax = [ (2*n-1-2*k)*d for k=0:d-1 ][1] #Dmax = degsmax[end]>>1+1 + end ## B,t =polynomial_ring(A, Vv) - xs = A.(0:degsmax[1]) + xs = A.(-Dmax//2:Dmax//2) Srev = Vector{Vector{typeof(t)}}(undef, length(xs)) - evPQ = [ [B(coefficients_of_univariate(evaluate(pq,[iu],[xx]))) for pq in [P,Q] ] for xx in xs] + evPQ = [ [ B(0) for pq in [P,Q] ] for xx in xs] +@time begin + Threads.@threads for i in eachindex(xs) + evPQ[i][1] = B(coefficients_of_univariate(evaluate(P,[iu],[xs[i]]))) + evPQ[i][2] = B(coefficients_of_univariate(evaluate(Q,[iu],[xs[i]]))) + end +end +@time begin Threads.@threads for i in 1:length(xs) Srev[i] = subresultants(evPQ[i][1], evPQ[i][2]) end +end Srev = [ [ collect(coefficients(ss)) for ss in s] for s in Srev ] C, = Nemo.polynomial_ring(A,Vu) Sr = [ [ C(0) for _=1:i] for i=1:n ] Lys = [ [ [ (try A(Srev[l][i][j]) catch; A(0) end) for l in eachindex(Srev) ] for j in 1:i ] for i in 1:n ] - for i = 1:n +@time begin + Threads.@threads for i = 1:2 # For the i-th subresultant - Threads.@threads for j in 1:i + Threads.@threads for j in 0:i-1 # Each coefficient is interpolated - Sr[i][j] = interpolate(C, xs, Lys[i][j]) + Sr[i][end-j] = interpolate(C, xs, Lys[i][end-j]) end end +end return Sr end @@ -223,7 +235,7 @@ function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=fa L1, primprod = [], ZZ(1) Ltemp = Vector{Vector{Vector{Vector{ZZRingElem}}}}(undef,n_threads+1) lcpq = [ evaluate(leading_coefficient(l, 2),[0,0]) for l in [P,Q] ] - compt=n_threads + compt = n_threads while true v > 0 && print("$compt primes ") LP, LQ, Lprim = MPolyRingElem[], MPolyRingElem[], ZZRingElem[] @@ -237,12 +249,14 @@ function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=fa return prim, lcpq end end + @iftime v>1 begin Threads.@threads for j in 1:n_threads sr = subresultants(LP[j], LQ[j], idx, list=true) Ltemp[j] = [ [ lift.(Ref(ZZ), coefficients_of_univariate(srii)) for srii in sri ] for sri in sr ] #sr = interp_subresultants(LP[j], LQ[j], idx)[1][1] #Ltemp[j] = lift.(Ref(ZZ), coefficients(sr)) end + end if n_ssr > 0 for j in 1:n_threads @@ -261,6 +275,7 @@ function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=fa #println(Ltemp) L2 = deepcopy(L1) L1 = Vector{Vector{Vector{ZZRingElem}}}(undef, length(first(Ltemp))) + @iftime v>1 begin Threads.@threads for i in eachindex(L1) L1[i] = Vector{Vector{ZZRingElem}}(undef, min(i, Nssr)) Threads.@threads for j in eachindex(L1[i]) @@ -272,6 +287,7 @@ function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=fa end end end + end #println(L1) primprod = prod(Lprim) compt+=n_threads @@ -280,12 +296,98 @@ function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=fa #compt < 20 || break end - uvar = parent(P).S[(idx+1)%2] - A, = polynomial_ring(ZZ, uvar) - sr = [ [ change_ringvar(A(ss),[uvar]) for ss in s ] for s in L1 ] + v>1 && println("Convert the coefficients into polynomials") + L1Q = [ [QQ.(ss) for ss in s ] for s in L1 ] + @iftime v>0 sr = [ MPolyBuild(s, parent(P).S, (idx+1)%2) for s in L1Q ] return sr end +function mmod_param_crit(P::QQMPolyRingElem, Q::QQMPolyRingElem; n_threads=Threads.nthreads(), detect_app=true, v=0) + PZ, QZ = change_coefficient_ring.(Ref(ZZ), int_coeffs.([P,Q])) + pc = mmod_param_crit(PZ, QZ, n_threads=n_threads, detect_app=detect_app, v=v) + return pc + if list + return [ change_coefficient_ring.(Ref(QQ),srp) for srp in sr ] + else + return change_coefficient_ring.(Ref(QQ),sr) + end +end + +function mmod_param_crit(P::ZZMPolyRingElem, Q::ZZMPolyRingElem; n_threads=Threads.nthreads(), v=0, detect_app=true) + prim = ZZ(1)<<(61) + RS = parent(P).S + L1, L1f, primprod = [], [], ZZ(1) + Ltemp = Vector{Vector{Vector{Vector{ZZRingElem}}}}(undef,n_threads+1) + dP = derivative(P, 2) + lcpq = [ evaluate(leading_coefficient(l, 2),[0,0]) for l in [P,dP,Q] ] + compt = n_threads + while true + v > 0 && print("$compt primes ") + LP, LQ, Lprim = MPolyRingElem[], MPolyRingElem[], ZZRingElem[] + while length(Lprim) < n_threads + prim = next_prime(prim) + if !any(getindex.(divides.(lcpq, Ref(prim)),1)) + #Pprim, Qprim = [ change_coefficient_ring(residue_ring(ZZ, prim)[1], poly) for poly in [P,Q] ] + Pprim, Qprim = [ change_coefficient_ring(GF(prim), poly) for poly in [P,Q] ] + push!.([LP,LQ,Lprim], [Pprim,Qprim,prim]) + end + end + @iftime v>1 begin + Threads.@threads for j in 1:n_threads + pc = param_crit_split(LP[j], LQ[j], RS = RS, v=v-2, detect_app=detect_app) + Ltemp[j] = Vector{Vector{ZZMPolyRingElem}}(undef, length(pc)) + for (ik, k) in enumerate(eachindex(pc)) + q, a, b = pc[k] + q = first(q) + dq = derivative(q,1) + Pnum = mod(dq*gcdinv(b,q)[2]*a, q) + Ltemp[j][ik] = [ lift.(Ref(ZZ), coefficients_of_univariate(poly)) for poly in [q, Pnum, dq] ] + end + #sr = interp_subresultants(LP[j], LQ[j], idx)[1][1] + #Ltemp[j] = lift.(Ref(ZZ), coefficients(sr)) + end + end + + if L1 != [] + Ltemp[n_threads+1] = copy(L1) + push!(Lprim, primprod) + end + #println(Ltemp) + L1 = Vector{Vector{Vector{ZZRingElem}}}(undef, length(Ltemp[1])) + @iftime v>1 begin + Threads.@threads for i in eachindex(L1) + #println("($i,$j)") + L1[i] = Vector{ZZRingElem}(undef, length(Ltemp[1][i])) + Threads.@threads for j in eachindex(L1[i]) + L1[i][j] = Vector{ZZRingElem}(undef, length(Ltemp[1][i][j])) + for k in eachindex(L1[i][j]) + cfs = [ try Ltemp[p][i][j][k] catch; ZZ(0) end for p in eachindex(Lprim) ] + L1[i][j][k] = crt(cfs, Lprim, false) + end + end + end + end + primprod = prod(Lprim) + L2f = deepcopy(L1f) + try + @iftime v>1 L1f = [ [ [ reconstruct(c, primprod) for c in poly ] for poly in param ] for param in L1 ] + #println(L1f) + L1f != L2f || break + catch + println("No rational rec") + end + compt+=n_threads + v > 0 && println(ndigits(primprod, 10), " digits") + #compt < 20 || break + end + + v>1 && println("Convert the coefficients into polynomials") + L1Q = [ [ QQ.(poly) for poly in param ] for param in L1f ] + @iftime v>0 param = Dict( m => vcat([[int_coeffs(MPolyBuild(param[1], parent(P).S, 1))]], [ int_coeffs(MPolyBuild(poly, parent(P).S, 1)) for poly in param[2:end] ]) for (m, param) in zip([-1,1], L1Q)) + return param +end + + function fact_gcd(delta::T, LP::Vector{T}) where (T <:PolyRingElem) # delta : poly to factor w.r.t the polynomials in LP Lphi = [gcd(delta, LP[1])] @@ -300,12 +402,12 @@ function fact_gcd(delta::T, LP::Vector{T}) where (T <:PolyRingElem) return filter(s->degree(s[2])>0, Dict(enumerate(Ldelta))) end -function fact_gcd(delta::T, LP::Vector{T}) where (T <:MPolyRingElem) +function fact_gcd(delta::T, LP::Vector{T}, RS::Vector{Symbol}) where (T <:MPolyRingElem) @assert is_univariate(delta) && all(is_univariate.(LP)) "Not univariate polynomial" R = parent(delta) - A, = polynomial_ring(coefficient_ring(R), first(R.S)) + A, = polynomial_ring(coefficient_ring(R), first(RS)) out = fact_gcd(A(coefficients_of_univariate(delta)), A.(coefficients_of_univariate.(LP))) - return Dict([ (i, change_ringvar(f, [first(R.S)]) ) for (i,f) in out ]) + return Dict([ (i, change_ringvar(f, [first(RS)]) ) for (i,f) in out ]) end function num_biv_rat_mod(A, P, RS) @@ -329,9 +431,17 @@ function num_biv_rat_mod(A, P, RS) return change_ringvar_mod(lift(Aeval), RS, newv) end +function intersect_biv_mod(P::Vector{T} where T<:Any, A::MPolyRingElem, RS::Vector{Symbol}) + Aev = num_biv_rat_mod(A, P, RS) + return gcd(P[1], Aev) +end + function intersect_biv(P::Vector{T} where T<:Any, A::MPolyRingElem) # P = [Lq, a, b] encodes sets (x,a(x)/b(x)) where Lq[i](x)=0 # Compute divisor dA of q that encodes intersection with A(x,y)=0 + if iszero(A) + return P[1] + end compt = 0 RS = parent(A).S dA, dAf = [], [] @@ -349,29 +459,37 @@ function intersect_biv(P::Vector{T} where T<:Any, A::MPolyRingElem) dAp = gcd(Pp[1], Apev) dA = lift.(Ref(ZZ), coefficients_of_univariate(dAp)) if compt>0 - dA = [ crt([d1, d2], [pprod, p], true) for (d1, d2) in zip(dAold, dA) ] + dA = [ crt([d1, d2], [pprod, p], false) for (d1, d2) in zip(dAold, dA) ] end - if length(filter!(!is_zero, dA)) <= 1 + if length(filter(!is_zero, dA)) <= 1 #println("Trivial gcd") - return one(parent(P[1])) + return one(polynomial_ring(QQ, RS)[1]) end pprod = pprod*p - dAf = [ reconstruct(c, pprod) for c in dA ] - if compt>0 - dAf != dAfold || break + try + dAf = [ reconstruct(c, pprod) for c in dA ] + if compt>0 + dAf != dAfold || break + end + catch + println("No rational rec..") end compt += 1 end #println() B, = polynomial_ring(QQ, RS[1]) - return change_ringvar(B(dAf), RS) + return int_coeffs(change_ringvar(B(dAf), RS)) end -function param_crit_split(f, g; v=1, detect_app=true) +function param_crit_split(f, g; v=0, detect_app=true, RS = nothing) + @assert (f|>parent|>base_ring|>characteristic == 0 || !isnothing(RS)) "Variable names must be provided when char>0" + if f|>parent|>base_ring|>characteristic == 0 + RS = parent(f).S + end # Compute subresultants and factor the first subresultant v>0 && println("Compute subresultant sequence") - if total_degree(f) > 30 - @iftime v>0 sr = mmod_subresultants(f, derivative(f, 2), 2, list=true, n_ssr=2) + if total_degree(f) > 30 && f|>parent|>base_ring|>characteristic == 0 + @iftime v>0 sr = mmod_subresultants(f, derivative(f, 2), 2, list=true, n_ssr=2, v=v-1) else @iftime v>0 sr = subresultants(f, derivative(f, 2), 2, list=true) end @@ -380,7 +498,8 @@ function param_crit_split(f, g; v=1, detect_app=true) return Dict() end - sqr = collect(factor_squarefree(sr[1][1])) + v>1 && println("Square-free factorization") + @iftime v>1 sqr = collect(factor_squarefree(sr[1][1])) # Filter out factors with zero multiplicity and sort by multiplicity sqr = sort!(filter(t -> t[2] > 0, sqr), by = t -> t[2]) @@ -390,14 +509,12 @@ function param_crit_split(f, g; v=1, detect_app=true) #println(group_sqr) v>0 && println("Compute crit partition w.r.t to multiplicity") -@iftime v>0 begin # Initalization singmult = filter(p->p*(p-1)<=sqrmult[end], 2:sqrmult[end]) - param_crit = Dict(p => [QQMPolyRingElem[], -sr[p][end-1], (p-1)*sr[p][end]] for p in singmult) + param_crit = Dict(p => [[], -sr[p][end-1], (p-1)*sr[p][end]] for p in singmult) # Critical points : multiplicity 1 in res (1 in sqrmult) && push!(param_crit, 1=>[group_sqr[1], -sr[2][end-1], sr[2][end]]) - if length(singmult) == 0 return filter(p->length(p[2][1])>0, param_crit) end @@ -406,24 +523,31 @@ function param_crit_split(f, g; v=1, detect_app=true) v>0 && println("Compute apparent singularities") if 2 in sqrmult if detect_app + @iftime v>0 begin A = derivative(derivative(f,2),2)*derivative(g,1) - derivative(derivative(f,1),2)*derivative(g,2) - dA = [ int_coeffs(intersect_biv([q, -sr[2][end-1], sr[2][end]], A)) for q in group_sqr[2] ] - @time "Division" push!(param_crit, -1=>[group_sqr[2]./dA, -sr[2][end-1], sr[2][end]]) + if f|>parent|>base_ring|>characteristic > 0 + dA = [ (intersect_biv_mod([q, -sr[2][end-1], sr[2][end]], A, RS)) for q in group_sqr[2] ] + else + dA = [ (intersect_biv([q, -sr[2][end-1], sr[2][end]], A)) for q in group_sqr[2] ] + end + push!(param_crit, 0=>[group_sqr[2]./dA, -sr[2][end-1], sr[2][end]]) append!(param_crit[2][1], dA) + end else - push!(param_crit, -1=>[group_sqr[2], -sr[2][end-1], sr[2][end]]) + push!(param_crit, 0=>[group_sqr[2], -sr[2][end-1], sr[2][end]]) end end # Other sing filter!(m->!(m in [1,2]), sqrmult) #TODO: simpler criterion for mult=p*(p-1)? lsr = [ try sr[p][end] catch; one(parent(f)) end for p in 2:(singmult[end]+1) ] - Ld = Vector{Vector{Dict{Int, QQMPolyRingElem}}}(undef, length(sqrmult)) - println("Compute gcd decomposition") + Ld = Vector{Vector{Dict{Int, MPolyRingElem}}}(undef, length(sqrmult)) + v>0 && println("Compute gcd decomposition") +@iftime v>0 begin Threads.@threads for k in eachindex(sqrmult) - Ld[k] = Vector{Dict{Int, QQMPolyRingElem}}(undef,length(group_sqr[sqrmult[k]])) + Ld[k] = Vector{Dict{Int, MPolyRingElem}}(undef,length(group_sqr[sqrmult[k]])) for l in eachindex(group_sqr[sqrmult[k]]) - Ld[k][l] = fact_gcd(group_sqr[sqrmult[k]][l], lsr) + Ld[k][l] = fact_gcd(group_sqr[sqrmult[k]][l], lsr, RS) end end for k in eachindex(Ld) From 67a58ab95db57e4bd687ec74b8ff057f166a9949 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 17 Oct 2024 00:51:27 +0200 Subject: [PATCH 099/180] other param comp (commented) + fix control points --- src/connectivity/connectcurves.jl | 70 ++++++++++++++++--------------- 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 4890279..2034a94 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -8,7 +8,8 @@ export compute_graph, connected_components, number_connected_components, group_b # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, - rat_to_Arb, evaluate_Arb, evaluate_Arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, intersect_biv, num_biv_rat_mod, parray_asvarcoeff + rat_to_Arb, evaluate_Arb, evaluate_Arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, + intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit include("tools.jl") include("subresultants.jl") @@ -22,17 +23,25 @@ include("src/resultant/bresultant.jl") function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) R = parent(f) x, y = gens(R) - + intC = int_coeff ? int_coeffs : identity # Pre-processing the input - f = int_coeff ? int_coeffs(f) : f + f, g = intC([f,g]) changemat = generic ? [1 0; 0 1] : trimat_rand(QQ, 2, range=-100:100) f = evaluate(f, collect(changemat*[x; y])); v > 1 && println(f) - v > 0 && println("\nCompute parametrization of critical pts...") - @iftime (v > 0) params = param_crit_split(f,g) - #println(params) - #append!(params, C) + v > 0 && println("Compute parametrization of critical pts...") + @iftime (v > 0) params = param_crit_split(f,g,v=v-1, detect_app=true) + #@iftime (v > 0) params = mmod_param_crit(f, g,v=v-1, detect_app=false) + #=params = Bresultant(f, derivative(f,2), bspath="AlgebraicSolving.jl/src/connectivity/src/resultant/bresultant",v=2); + params = change_ringvar.(params, Ref([:x,:y])) + params = [ [[p[1]], p[3], p[2]] for p in params] + params = Dict(1=>params[1], -1=>params[2])=# + + for i in 1:length(C) + params[-i] = [ [C[i][1] |> intC], C[i][2], C[i][3] ] + end + #println(keys(params)) if arb compt = 0 while compt < 5 @@ -66,7 +75,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen end catch precx *= 2 - v > 0 && println("Refine x-precision to $precx") + v > 0 && println("\nRefine x-precision to $precx") compt += 1 else break @@ -93,6 +102,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen xcritpermut = order_permut2d(xcrit); end end + #println(xcrit) v > 0 && println("\nTest for identifying singular boxes") @iftime (v > 0) begin @@ -101,8 +111,8 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen ######################################################### Lfyk = diff_list(f, 2, max(maximum(eachindex(LBcrit)),2)) for ind in eachindex(LBcrit) - ind!=1 || continue # extreme pts - m = ind==-1 ? 2 : ind # nodes have mult 2 + ind>1 || ind==0 || continue # extreme and control pts + m = ind==0 ? 2 : ind # nodes have mult 2 while true flag = false for j in eachindex(LBcrit[ind]) @@ -130,7 +140,7 @@ end ndig = maximum([ndigits(length(LBcrit[i])) for i in eachindex(LBcrit)]) for i in eachindex(LBcrit) LPCside[i] = Array{Any}(undef, length(LBcrit[i])) - ndigi = Int(floor(log10(max(1,length(LBcrit[i]))))) + ndigi = ndigits(length(LBcrit[i])) Ptype = (i > length(LBcrit)-length(C)) ? "Pcon" : "mult" precxtmp = precx compt = 0 @@ -275,10 +285,8 @@ end ########################### # The critical point ########################## - # If we are dealing with a node - if i == -1 - # if it is an isolated point - if isempty(nI[1]) && isempty(nI[2]) + # If we are dealing with a isolated node + if i in [0,2] && isempty(nI[1]) && isempty(nI[2]) push!(Lapp[1], (i,j)) #pass # We can add the isolated vertex @@ -286,12 +294,12 @@ end # push!(Corr[i][j][2][1], length(Vert)) # We will subsequently add the vertex in the graph # push!(Viso, length(Vert)) - else - # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 - push!(Edg, (Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]])) - push!(Edg, (Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]])) - push!(Lapp[2], (i,j)) - end + # If we are dealing with an apparent singularity + elseif i == 0 + # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 + push!(Edg, (Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]])) + push!(Edg, (Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]])) + push!(Lapp[2], (i,j)) else # We can add the vertex push!(Vert, (xcmid, ycmid)) @@ -304,10 +312,10 @@ end for k in nI[2] push!(Edg, (length(Vert), Corr[i][j][3][k])) end - #if i > length(params)-length(C) - # # If this is a control point - # push!(Vcon[i + length(C) - length(params)], length(Vert)) - #end + if i < 0 + # If this is a control point + push!(Vcon[-i], length(Vert)) + end end ########################### # Above the critical point @@ -322,11 +330,7 @@ end if v > 0 && Lapp != [[],[]] println("Removed apparent singularities: $(length(Lapp[1])) isolated $(length(Lapp[2])) nodes") end - #EdgPlot = [[Vert[k] for k in [i, j]] for (i, j) in Edg] - #plot_graph(Vert, EdgPlot) - #gui() - #plot_graph_comp(Vert,CEdg) # Operate inverse change of variable if necessary if !(generic) for i in eachindex(Vert) @@ -343,14 +347,14 @@ end end end -function compute_graph(f::P, C::Dict{Int,Vector{P}}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) - G, Vcon = compute_graph(f, collect(values(C)), generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf) +function compute_graph(f::P, g::P, C::Dict{Int,Vector{P}}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) + G, Vcon = compute_graph(f, g, collect(values(C)), generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf) VC = Dict{Int64, Vector{Int}}([ k => Vcon[i] for (i,k) in enumerate(keys(C)) ]) return G, VC end -function compute_graph(f::P, C::Vector{P}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) - G, (Vcon,) = compute_graph(f, [C], generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf = outf) +function compute_graph(f::P, g::P, C::Vector{P}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) + G, (Vcon,) = compute_graph(f, g, [C], generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf = outf) return G, Vcon end From 9a02642a12a8828dbe976a1ac28d70002c6db5da Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 31 Mar 2025 01:05:32 +0200 Subject: [PATCH 100/180] maj (mainly verbose) --- Manifest.toml | 68 +++++++++++++++------------ Project.toml | 2 +- src/connectivity/Cannytools.jl | 8 ++-- src/connectivity/computeRM.jl | 10 ++-- src/connectivity/connectcurves.jl | 6 +++ src/connectivity/paramcurve.jl | 19 ++++---- src/connectivity/plots.jl | 12 ++--- src/connectivity/src/usolve/usolve.jl | 4 +- src/connectivity/subresultants.jl | 2 +- 9 files changed, 72 insertions(+), 59 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 05ed0fc..7faf1d8 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,13 +2,13 @@ julia_version = "1.10.1" manifest_format = "2.0" -project_hash = "4db683e8f9f80c8c42d885d685c8810868b9b1a4" +project_hash = "11eb6a443ca7f27cf646ae7e6a1882d5932bc885" [[deps.AbstractAlgebra]] deps = ["InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] -git-tree-sha1 = "45e46834b8fcfd59389939445267047577b19df5" +git-tree-sha1 = "709a09fbc20ae499657a9cd2e832c9946809ece8" uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" -version = "0.43.1" +version = "0.43.6" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" @@ -33,9 +33,9 @@ version = "1.0.8+1" [[deps.Cairo_jll]] deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "a2f1c8c668c8e3cb4cca4e57a8efdb09067bb3fd" +git-tree-sha1 = "009060c9a6168704143100f36ab08f06c2af4642" uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.18.0+2" +version = "1.18.2+1" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] @@ -218,15 +218,15 @@ version = "6.2.1+6" [[deps.GR]] deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Preferences", "Printf", "Qt6Wayland_jll", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "p7zip_jll"] -git-tree-sha1 = "629693584cef594c3f6f99e76e7a7ad17e60e8d5" +git-tree-sha1 = "ee28ddcd5517d54e417182fec3886e7412d3926f" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.73.7" +version = "0.73.8" [[deps.GR_jll]] deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "a8863b69c2a0859f2c2c87ebdc4c6712e88bdf0d" +git-tree-sha1 = "f31929b9e67066bee48eec8b03c0df47d31a74b3" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.73.7+0" +version = "0.73.8+0" [[deps.Gettext_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] @@ -236,9 +236,9 @@ version = "0.21.0+0" [[deps.Glib_jll]] deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "7c82e6a6cd34e9d935e9aa4051b66c6ff3af59ba" +git-tree-sha1 = "674ff0db93fffcd11a3573986e550d66cd4fd71f" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.80.2+0" +version = "2.80.5+0" [[deps.Graphite2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -285,9 +285,9 @@ version = "0.1.8" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "f389674c99bfcde17dc57454011aa44d5a260a40" +git-tree-sha1 = "be3dc50a92e5a386872a493a10050136d4703f9b" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.6.0" +version = "1.6.1" [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] @@ -308,10 +308,10 @@ uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" version = "3.100.2+0" [[deps.LERC_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "36bdbc52f13a7d1dcb0f3cd694e01677a515655b" uuid = "88015f11-f218-50d7-93a8-a6af411a945d" -version = "3.0.0+1" +version = "4.0.0+0" [[deps.LLVMOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -326,9 +326,9 @@ uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" version = "2.10.2+1" [[deps.LaTeXStrings]] -git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" +git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.3.1" +version = "1.4.0" [[deps.Latexify]] deps = ["Format", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] @@ -411,9 +411,9 @@ version = "2.40.1+0" [[deps.Libtiff_jll]] deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "2da088d113af58221c52828a80378e16be7d037a" +git-tree-sha1 = "b404131d06f7886402758c9ce2214b636eb4d54a" uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.5.1+1" +version = "4.7.0+0" [[deps.Libuuid_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -502,9 +502,9 @@ version = "1.0.2" [[deps.Nemo]] deps = ["AbstractAlgebra", "FLINT_jll", "Libdl", "LinearAlgebra", "Pkg", "Random", "RandomExtensions", "SHA"] -git-tree-sha1 = "a644b4943424d9f1ffe7a7a1cdda617053bac5c0" +git-tree-sha1 = "b02de63b9379b37f75488c299f2f1f49da666d84" uuid = "2edaba10-b0f1-5616-af89-8c11ac63239a" -version = "0.47.1" +version = "0.47.2" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" @@ -595,10 +595,10 @@ uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" version = "3.2.0" [[deps.PlotUtils]] -deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] -git-tree-sha1 = "7b1a9df27f072ac4c9c7cbe5efb198489258d1f5" +deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "StableRNGs", "Statistics"] +git-tree-sha1 = "650a022b2ce86c7dcfbdecf00f78afeeb20e5655" uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.4.1" +version = "1.4.2" [[deps.Plots]] deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "TOML", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] @@ -747,6 +747,12 @@ deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" version = "1.10.0" +[[deps.StableRNGs]] +deps = ["Random"] +git-tree-sha1 = "83e6cce8324d49dfaf9ef059227f91ed4441a8e5" +uuid = "860ef19b-820b-49d6-a774-d7a799459cd3" +version = "1.0.2" + [[deps.StaticArrays]] deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] git-tree-sha1 = "eeafab08ae20c62c44c8399ccb9354a04b80db50" @@ -809,9 +815,9 @@ deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[deps.TranscodingStreams]] -git-tree-sha1 = "e84b3a11b9bece70d14cce63406bbc79ed3464d2" +git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.11.2" +version = "0.11.3" [[deps.URIs]] git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" @@ -1108,9 +1114,9 @@ version = "1.18.0+0" [[deps.libpng_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "d7015d2e18a5fd9a4f47de711837e980519781a4" +git-tree-sha1 = "b70c870239dc3d7bc094eb2d6be9b73d27bef280" uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.43+1" +version = "1.6.44+0" [[deps.libvorbis_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] @@ -1120,9 +1126,9 @@ version = "1.3.7+2" [[deps.msolve_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "FLINT_jll", "GMP_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl", "MPFR_jll"] -git-tree-sha1 = "7324fd011ebc4b9e43d9aa365c79797860459d0a" +git-tree-sha1 = "31d4b30cc109d1e49293ce94d468a73932093aac" uuid = "6d01cc9a-e8f6-580e-8c54-544227e08205" -version = "0.700.200+0" +version = "0.700.300+0" [[deps.mtdev_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] diff --git a/Project.toml b/Project.toml index 0d8fa27..0937d3d 100644 --- a/Project.toml +++ b/Project.toml @@ -27,4 +27,4 @@ Random = "1.6" StaticArrays = "1" Test = "1.6" julia = "1.6" -msolve_jll = "0.700.200" +msolve_jll = "0.700.300" diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index c7a04a1..27b970b 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -290,13 +290,13 @@ function MidRationalPoints(S::Vector{Vector{QQFieldElem}}) # S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] # such that the [l_i, r_i] are rational and disjoint open intervals. # - # It orders the [l_i,r_i] and computes the simplest + # It orders the [l_i,r_i], removes repetitions and computes the simplest # rational points between these intervals. - n = length(S) - if n==0 - return Vector{QQFieldElem}(undef, 0) + if isempty(S) + return QQFieldElem[] end S1 = sort(S, lt=(x, y) -> x[2] <= y[1]) + n = unique!(S1) |> length ratioP = Vector{QQFieldElem}(undef, n-1) for i in 1:(n- 1) ri, li1 = S1[i][2], S1[i+1][1] diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 303af35..00cc00f 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -39,27 +39,27 @@ function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{V else ## sing(Fq) ## v>0 && println("Compute first the singular points") - singFq = computepolarproj(0, Fq, dimV-e, newvarias, output="real", verb=v-1, nr_thrds=Threads.nthreads()) + singFq = computepolarproj(0, Fq, dimV-e, newvarias, output="real", verb=max(v-1,0), nr_thrds=Threads.nthreads()) @assert(length(singFq)==0, "Non-emtpy real sing locus!") #@assert(degree(singFq.elim)==0, "Non-emtpy sing locus!") ## K(pi_1,Fq) ## v >0 && println("First critical points") - K1Fq = computepolarproj(1, Fq, dimV-e, newvarias, output="interval", verb=v-1, nr_thrds=Threads.nthreads()) + K1Fq = computepolarproj(1, Fq, dimV-e, newvarias, output="interval", verb=max(v-1,0), nr_thrds=Threads.nthreads()) ## K(pi_2, Fq) ## v >0 && println("Second critical points") - K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors", verb=v-1, nr_thrds=Threads.nthreads()) + K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors", verb=max(v-1,0), nr_thrds=Threads.nthreads()) polar = change_ringvar(K2Fq.gens, A.S) push!(R, AlgebraicSolving.Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) ## Points with vertical tg in K(pi_2, Fq) ## v >0 && println("Vertical tg points") - K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=v-1, nr_thrds=Threads.nthreads()) + K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=max(v-1,0), nr_thrds=Threads.nthreads()) ## New base points ## K1W = vcat(K1Fq, K1WmFq) - K1WRat = MidRationalPoints(getindex.(K1W,1)) + K1WRat = MidRationalPoints(getindex(K1W, 1)) newQ = [ vcat(q, [kv]) for kv in K1WRat ] # Heuristic to be proven # newQ = newQ[2:end-1] diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 2034a94..9dce70d 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -50,6 +50,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen v > 0 && println("\nIsolating critical values with precision ", precx,"..") @iftime (v > 0) begin xcrit = Dict(p[1]=> reduce(vcat, [isolate(pp, prec=precx) for pp in p[2][1]]) for p in params) + # Enlarge exact isolating root intervals for i in eachindex(xcrit) for j in eachindex(xcrit[i]) if xcrit[i][j][1]==xcrit[i][j][2] @@ -65,6 +66,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen precArb = precx Pcrit = Dict( i => [[xc, evaluate_Arb(params[i][2], params[i][3], rat_to_Arb(xc, precArb))] for xc in xcrit[i]] for i in eachindex(xcrit)) LBcrit =Dict( i=> [[ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for (i, pcrit) in Pcrit) + # Enlarge exact isolating box vertical side (horizontal lines) for i in eachindex(LBcrit) for j in eachindex(LBcrit[i]) if LBcrit[i][j][2][1]==LBcrit[i][j][2][2] @@ -89,6 +91,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen @iftime (v > 0) begin # TODO: parameter -I LBcrit = Dict(p[1]=>reduce(vcat,[ sort(real_solutions(AlgebraicSolving.Ideal([pp, p[2][3]*y-p[2][2]]), precision=precx,interval=true),by=t->t[1]) for pp in p[2][1] ]) for p in params) + # Enlarge each exact isolating box side for i in eachindex(LBcrit) for j in eachindex(LBcrit[i]) for k in eachindex(LBcrit[i][j]) @@ -117,6 +120,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen flag = false for j in eachindex(LBcrit[ind]) pcrit = [ rat_to_Arb(c, precx) for c in LBcrit[ind][j] ] + # Check if the the mult(pcrit)-th derivative of f vanishes on pcrit if contains_zero(evaluate(Lfyk[m+1], pcrit)) (v > 0) && println("Refine singular boxes of multiplicity ", m) # TODO refine_boxes(params[k], LBcrit[k]) @@ -140,8 +144,10 @@ end ndig = maximum([ndigits(length(LBcrit[i])) for i in eachindex(LBcrit)]) for i in eachindex(LBcrit) LPCside[i] = Array{Any}(undef, length(LBcrit[i])) + # Data printing part ndigi = ndigits(length(LBcrit[i])) Ptype = (i > length(LBcrit)-length(C)) ? "Pcon" : "mult" + ### precxtmp = precx compt = 0 while compt < 5 diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl index ede2dc8..3ad2cbe 100644 --- a/src/connectivity/paramcurve.jl +++ b/src/connectivity/paramcurve.jl @@ -59,7 +59,7 @@ function compute_param(I::Ideal{P} where P<:MPolyRingElem; use_lfs = false, lfs return compute_param(I.gens, use_lfs = use_lfs, lfs = lfs) end -function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs = []) +function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs = [], v=0) R = parent(first(F)) varias, N = gens(R), nvars(R) DEG = deg_Alg(F,1) @@ -73,7 +73,7 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs if NEW_DEG == DEG push!(ivarias_gen, ind) end - (length(ivarias_gen) < 2 && ind > 0) || break + (length(ivarias_gen) < 2 && ind > 1) || break ind -= 1 end reverse!(ivarias_gen) @@ -116,9 +116,10 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs lf_cfs = vcat(lfs, [ rand(ZZ(-100):ZZ(100), N) for _ in 1:2-length(lfs)]) append!(F, [ transpose(lf)*varias for lf in lf_cfs ]) end + println(varias) # Compute DEG+1 evaluations of the param (whose deg is bounded by DEG) - println("Parametrization step...") - @time begin + v > 0 && println("Parametrization step...") + #@iftime v>0 begin PARAM = Vector{Vector{AlgebraicSolving.QQPolyRingElem}}(undef,DEG+2) _values = Vector{QQFieldElem}(undef,DEG+2) i = 1 @@ -150,7 +151,7 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs #println("Good specialization: ",i+j-1) else #println(r.vars, rem_ind(R.S, N-1)) - println("bad specialization: ", i+j-1) + v>1 && println("bad specialization: ", i+j-1) end end @@ -158,11 +159,11 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs free_ind = [ free_ind[j] for j in eachindex(free_ind) if !used_ind[j] ] used_ind = zeros(Bool, length(free_ind)) end - end + #end # Interpolate each coefficient of each poly in the param - println("Interpolation step...") - @time begin + v > 0 && println("Interpolation step...") + #@iftime v>0 begin POLY_PARAM = Vector{QQMPolyRingElem}(undef,N) T, (x,y) = polynomial_ring(QQ, [:x,:y]) A, u = polynomial_ring(QQ, :u) @@ -181,7 +182,7 @@ function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs POLY_PARAM[count] = POL end - end + #end return [R.S, lf_cfs, POLY_PARAM[1], POLY_PARAM[2], POLY_PARAM[3:end]] end diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 020c5a4..ba1f3c6 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -40,15 +40,15 @@ function plot_graphs(CG; width=3, vert=true, subplt=false) G, CVemph = length(CG[j][1])==2 ? CG[j] : (CG[j], Vector{Int}()) plot_graph(G, CVemph, color=col[j+2], vert=vert, subplt=true) end - #subplt || gui() - savefig("/home/remi/Documents/gittravail/test.html") - replace_width_height_in_file("/home/remi/Documents/gittravail/test.html", 1000, 750) + subplt || gui() + #savefig("/home/remi/Documents/gittravail/test.html") + #replace_width_height_in_file("/home/remi/Documents/gittravail/test.html", 1000, 750) end function plot_graph_comp(G, Vemph=[]; width=3, vert=true, subplt=false) plot(legend=false) CG = connected_components(G, Vemph) - println(Vemph) + #println(Vemph) plot_graphs(CG, width=width, vert=vert, subplt=true) subplt || gui()#savefig("/tmp/test.html") end @@ -66,13 +66,13 @@ function replace_width_height_in_file(filename, x, y) new_height = "\"height\": $y" # Replace the last occurrence of "width": 600 - last_width_pos = findlast(occursin(width_pattern), split(content, "\n")) + last_width_pos = findlast(occursin(width_pattern), Base.split(content, "\n")) if last_width_pos !== nothing content = replace(content, width_pattern => new_width; count=1) end # Replace the last occurrence of "height": 400 - last_height_pos = findlast(occursin(height_pattern), split(content, "\n")) + last_height_pos = findlast(occursin(height_pattern), Base.split(content, "\n")) if last_height_pos !== nothing content = replace(content, height_pattern => new_height; count=1) end diff --git a/src/connectivity/src/usolve/usolve.jl b/src/connectivity/src/usolve/usolve.jl index f9c6b28..33fd8f2 100644 --- a/src/connectivity/src/usolve/usolve.jl +++ b/src/connectivity/src/usolve/usolve.jl @@ -23,8 +23,8 @@ end function usolve_out_to_tuple(foutput="/tmp/out.us") ff = open(foutput, "r") s = read(ff, String) - Ls = split(s, "\n")[1:end-1] - Ls = [ split(ls, " ") for ls in Ls[2:end] ] + Ls = Base.split(s, "\n")[1:end-1] + Ls = [ Base.split(ls, " ") for ls in Ls[2:end] ] return [ [eval(Meta.parse("ZZ($l)")) for l in ls] for ls in Ls ] end diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index a8caca1..046286d 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -472,7 +472,7 @@ function intersect_biv(P::Vector{T} where T<:Any, A::MPolyRingElem) dAf != dAfold || break end catch - println("No rational rec..") + #println("No rational rec..") end compt += 1 end From cdd9fdfb5fdb73339462a5d731f4148630e9272c Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 10 Apr 2025 10:16:46 +0200 Subject: [PATCH 101/180] first attempt to add query points --- src/connectivity/computeRM.jl | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 00cc00f..504fc95 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -10,11 +10,11 @@ export change_ringvar, compute_minors, detmpoly, change_ringvar_mod, MPolyBuild include("Cannytools.jl") -function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{Vector{QQFieldElem}}([[]]) ; v=0) +function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int; Q=Vector{Vector{QQFieldElem}}([[]]), C=Vector{Vector{QQFieldElem}}([]), v=0) # V is a variety of dimension dimV # Q are base points with rational coefficients # C are query points with rational coefficients - + println(Q) A = parent(V) varias, nvarias = gens(A), nvars(A) hV = V.gens @@ -41,32 +41,34 @@ function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int, Q=Vector{V v>0 && println("Compute first the singular points") singFq = computepolarproj(0, Fq, dimV-e, newvarias, output="real", verb=max(v-1,0), nr_thrds=Threads.nthreads()) @assert(length(singFq)==0, "Non-emtpy real sing locus!") - #@assert(degree(singFq.elim)==0, "Non-emtpy sing locus!") ## K(pi_1,Fq) ## - v >0 && println("First critical points") + v>0 && println("First critical points") K1Fq = computepolarproj(1, Fq, dimV-e, newvarias, output="interval", verb=max(v-1,0), nr_thrds=Threads.nthreads()) ## K(pi_2, Fq) ## - v >0 && println("Second critical points") + v>0 && println("Second critical points") K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors", verb=max(v-1,0), nr_thrds=Threads.nthreads()) polar = change_ringvar(K2Fq.gens, A.S) push!(R, AlgebraicSolving.Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) ## Points with vertical tg in K(pi_2, Fq) ## - v >0 && println("Vertical tg points") + v>0 && println("Vertical tg points") K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=max(v-1,0), nr_thrds=Threads.nthreads()) ## New base points ## K1W = vcat(K1Fq, K1WmFq) K1WRat = MidRationalPoints(getindex(K1W, 1)) - newQ = [ vcat(q, [kv]) for kv in K1WRat ] # Heuristic to be proven - # newQ = newQ[2:end-1] - - RFq = computeRM(V, dimV, newQ) + #K1WRat = K1WRat[2:end-1] + ########## + append!(K1WRat, [ c[e+1] for c in C if c[1:e]==q && !(c[e+1] in K1WRat) ]) |> sort! + newQ = [ vcat(q, [kv]) for kv in K1WRat ] - R = vcat(R, RFq) + if !isempty(newQ) + RFq = computeRM(V, dimV, Q=newQ, C=C) + R = vcat(R, RFq) + end end end From f2d5b93c65bc682114b4f33e31d38db9c25a69a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Fri, 18 Apr 2025 15:33:34 +0200 Subject: [PATCH 102/180] add current files --- src/connectivity/Cannytools.jl | 309 +++++++++++++++++++++++++++++++++ src/connectivity/computeRM.jl | 90 ++++++++++ 2 files changed, 399 insertions(+) create mode 100644 src/connectivity/Cannytools.jl create mode 100644 src/connectivity/computeRM.jl diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl new file mode 100644 index 0000000..27b970b --- /dev/null +++ b/src/connectivity/Cannytools.jl @@ -0,0 +1,309 @@ +# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables +function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} + R = parent(first(F)) + # Locate variables of R in newvarias + to_varias = Vector{Int}(undef,0) + for v in newvarias_S + ind = findfirst(x->x==v, R.S) + push!(to_varias, typeof(ind)==Nothing ? length(R.S)+1 : ind) + end + + ind_novarias = setdiff(eachindex(R.S), to_varias) + newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) + + res = typeof(first(F))[] + ctx = MPolyBuildCtx(newR) + + for f in F + for (e, c) in zip(exponent_vectors(f), coefficients(f)) + @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") + push!(e, 0) + push_term!(ctx, c, [e[i] for i in to_varias ]) + end + push!(res, finish(ctx)) + end + + return res +end + +function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: PolyRingElem} + R = parent(first(F)) + to_varias = [ v==R.S ? 1 : 2 for v in newvarias_S] + newR, = polynomial_ring(base_ring(R), newvarias_S) + + res = typeof(zero(newR))[] + ctx = MPolyBuildCtx(newR) + + LcF = [ filter!(t->t[2]!=0, collect(enumerate(coefficients(f)))) for f in F ] + for f in LcF + for (ef, c) in f + e = [ef-1, 0] + push_term!(ctx, c, [e[i] for i in to_varias ]) + end + push!(res, finish(ctx)) + end + + return res +end + +function change_ringvar(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) + return first(change_ringvar([f], newvarias_S)) +end + +function change_ringvar(F::Vector{P}, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {P <: MPolyRingElem, I <: Int64} + R = parent(first(F)) + return change_ringvar(F, [R.S[i] for i in ind_newvarias]) +end + +function change_ringvar(f::MPolyRingElem, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {I <: Int64} + R = parent(f) + return first(change_ringvar([f], [R.S[i] for i in ind_newvarias])) +end + +# Return the polynomials in F, but injected in the polynomial ring with the variables occuring in F +function change_ringvar(F::Vector{P}) where {P <: MPolyRingElem} + union_varias = Set{Symbol}() + for f in F + union!(union_varias, map(Symbol, vars(f)) ) + end + return change_ringvar(F, collect(union_varias)) +end + +function change_ringvar(f::MPolyRingElem) + return first(change_ringvar([f])) +end + +# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables +function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} + R = parent(first(F)) + # Locate variables of R in newvarias + to_varias = Vector{Int}(undef,0) + for v in newvarias_S + ind = findfirst(x->x==v, oldvarias_S) + push!(to_varias, typeof(ind)==Nothing ? length(oldvarias_S)+1 : ind) + end + + ind_novarias = setdiff(eachindex(oldvarias_S), to_varias) + newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) + + res = typeof(first(F))[] + ctx = MPolyBuildCtx(newR) + + for f in F + for (e, c) in zip(exponent_vectors(f), coefficients(f)) + @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") + push!(e, 0) + push_term!(ctx, c, [e[i] for i in to_varias ]) + end + push!(res, finish(ctx)) + end + + return res +end + +function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: PolyRingElem} + R = parent(first(F)) + A, (x,) = polynomial_ring(base_ring(R), oldvarias_S) + return change_ringvar_mod([ evaluate(f, x) for f in F ], newvarias_S, oldvarias_S) +end + +function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) + return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) +end + +#function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) +# return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) +#end + +function MPolyBuild(F::Vector{Vector{P}}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} + A = parent(first(first(F))) + R, = polynomial_ring(A, newvarias_S) + to_varias = [ i==idx ? 1 : 2 for i in eachindex(newvarias_S) ] + + res = typeof(zero(R))[] + ctx = MPolyBuildCtx(R) + + LcF = [ filter!(t->t[2]!=0, collect(enumerate(f))) for f in F ] + for f in LcF + for (ef, c) in f + e = [ef-1, 0] + push_term!(ctx, c, [e[i] for i in to_varias ]) + end + push!(res, finish(ctx)) + end + + return res +end + +function MPolyBuild(f::Vector{P}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} + return first(MPolyBuild([f], newvarias_S, idx)) +end + +function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) + #println("$j $V $dimV") + # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj + @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" + R = parent(V) + n, hV = R.nvars, V.gens + c = n - dimV + + JW = transpose([ derivative(f, k) for k=j+1:n, f in hV ]) + sizeminors = c + dimproj - (j-1) + hW = vcat(hV, compute_minors(sizeminors, JW, R)) + filter!(!iszero, hW) + output_functions = Dict( + "minors" => x -> x, + "groebner" => x -> groebner_basis(x, info_level=verb,nr_thrds=nr_thrds), + "real" => x -> real_solutions(x, info_level=verb,nr_thrds=nr_thrds), + "interval" => x -> real_solutions(x, interval=true, info_level=verb,nr_thrds=nr_thrds), + "parametric" => x -> rational_parametrization(x, info_level=verb,nr_thrds=nr_thrds) + ) + + return output_functions[output](AlgebraicSolving.Ideal(hW)) +end + +function computepolarphi(j::Int, V::AlgebraicSolving.Ideal, phi::Vector{T} where T<:MPolyRingElem, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) + # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj + @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" + R = parent(V) + n, hV = nvars(R), V.gens + c = n - dimV + + if j==0 + JW = transpose([ derivative(f, k) for k=1:n, f in hV ]) + sizeminors = c + else + JW = transpose([ derivative(f, k) for k=1:n, f in vcat(hV,phi) ]) + sizeminors = c + j + dimproj - (j-1) + end + hW = vcat(hV, compute_minors(sizeminors, JW, R)) + output_functions = Dict( + "minors" => x -> x, + "groebner" => x -> groebner_basis(x, info_level=verb,nr_thrds=nr_thrds), + "real" => x -> real_solutions(x, info_level=verb,nr_thrds=nr_thrds), + "interval" => x -> real_solutions(x, interval=true, info_level=verb,nr_thrds=nr_thrds), + "parametric" => x -> rational_parametrization(x, info_level=verb,nr_thrds=nr_thrds) + ) + + return output_functions[output](AlgebraicSolving.Ideal(hW)) +end + +function compute_minors(p, A, R) + #Computes the p-minors of a matrix A + n, m = size(A) + rowsmins = collect(combinations(1:n, p)) + colsmins = collect(combinations(1:m, p)) + mins = Vector{eltype(A)}(undef, length(rowsmins) * length(colsmins)) + k = 1 + for rowsmin in rowsmins + for colsmin in colsmins + mins[k] = detmpoly(A[rowsmin, colsmin], R) + k += 1 + end + end + + return mins +end + +function combinations(a, n) + # Helper function to recursively generate combinations + function _combinations(a, n, start, chosen) + if length(chosen) == n + return [chosen] + elseif start > length(a) + return Vector{Int}([]) + else + # Include the current element and recurse + include_current = _combinations(a, n, start + 1, [chosen; a[start]]) + # Exclude the current element and recurse + exclude_current = _combinations(a, n, start + 1, chosen) + return vcat(include_current, exclude_current) + end + end + return _combinations(a, n, 1, Vector{Int}([])) +end + +function detmpoly(A::Matrix{T} where T<:MPolyRingElem, R) + # Get the size of the matrix + n = size(A, 1) + if n != size(A, 2) + throw(ArgumentError("Matrix must be square")) + end + + if n == 1 + return A[1, 1] + end + + # Initialize the determinant polynomial + detA = zero(R) + + # Compute the determinant polynomial + for j = 1:n + submatrix = A[2:end, [i for i = 1:n if i != j]] + detA += (-1)^(1+j)*A[1, j] * detmpoly(submatrix, R) + end + + return detA +end + +function contfrac_convergents(x::Rational{Int}) + q = Rational{Int}[] + fpart, ipart = modf(x) + push!(q, ipart) + na, da, nb, db = Int(1), Int(0), Int(ipart), Int(1) + while true + fpart == 0 && return q + x = inv(fpart) + fpart, ipart = modf(x) + na, da, nb, db = nb, db, na+ipart*nb, da+ipart*db + push!(q, nb//db) + end +end + +function modfQQ(x::QQFieldElem) + ipart, fpart = [ f(numerator(x), denominator(x)) for f in [div, rem]] + return QQFieldElem(fpart, denominator(x)), ipart +end + +function small_mid_point(a::QQFieldElem,b::QQFieldElem) + a == b && return a + if b < a + a, b = b, a + end + x = (a+b)/ QQFieldElem(2) + fpart, ipart = modfQQ(x) + println("\n",fpart," , ", ipart) + q1, q2 = QQFieldElem(1//0), QQFieldElem(ipart,1) + while true + #println("(",q1," ; ",q2,")") + if numerator(fpart) == 0 || (q2 > a && q2 < b) + return q2 + end + x = inv(fpart) + fpart, ipart = modfQQ(x) + println(fpart," , ", ipart) + q1, q2 = q2, QQFieldElem(numerator(q1) + ipart*numerator(q2), denominator(q1) + ipart*denominator(q2)) + end +end + +function MidRationalPoints(S::Vector{Vector{QQFieldElem}}) + # S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] + # such that the [l_i, r_i] are rational and disjoint open intervals. + # + # It orders the [l_i,r_i], removes repetitions and computes the simplest + # rational points between these intervals. + if isempty(S) + return QQFieldElem[] + end + S1 = sort(S, lt=(x, y) -> x[2] <= y[1]) + n = unique!(S1) |> length + ratioP = Vector{QQFieldElem}(undef, n-1) + for i in 1:(n- 1) + ri, li1 = S1[i][2], S1[i+1][1] + @assert ri < li1 "The intervals are not disjoint." + #ratioP[i] = small_mid_point(ri, li1) + ratioP[i] = simplest_between(ri, li1) + end + return ratioP +end + diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl new file mode 100644 index 0000000..504fc95 --- /dev/null +++ b/src/connectivity/computeRM.jl @@ -0,0 +1,90 @@ +#using Pkg +#Pkg.activate("AlgebraicSolving.jl") +#using Revise +#using AlgebraicSolving +#using Nemo + +export computeRM, computepolarproj, computepolarphi +# DEBUG +export change_ringvar, compute_minors, detmpoly, change_ringvar_mod, MPolyBuild + +include("Cannytools.jl") + +function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int; Q=Vector{Vector{QQFieldElem}}([[]]), C=Vector{Vector{QQFieldElem}}([]), v=0) + # V is a variety of dimension dimV + # Q are base points with rational coefficients + # C are query points with rational coefficients + println(Q) + A = parent(V) + varias, nvarias = gens(A), nvars(A) + hV = V.gens + #println(Q) + e = length(first(Q)) + fixvarias, newvarias = varias[1:e], varias[e+1:nvarias] + + R = Vector{AlgebraicSolving.Ideal{QQMPolyRingElem}}(undef,0) + + for q in Q + ## Fq ## + if e > 0 + hFq = change_ringvar([evaluate(h, fixvarias, q) for h in V.gens], e+1:nvarias) + Fq = AlgebraicSolving.Ideal(hFq) + else + Fq = V + end + + if dimV - e <= 1 + curve = change_ringvar(Fq.gens, A.S) + push!(R, AlgebraicSolving.Ideal(vcat(curve, [fixvarias[j] - q[j] for j in 1:e]))) + else + ## sing(Fq) ## + v>0 && println("Compute first the singular points") + singFq = computepolarproj(0, Fq, dimV-e, newvarias, output="real", verb=max(v-1,0), nr_thrds=Threads.nthreads()) + @assert(length(singFq)==0, "Non-emtpy real sing locus!") + + ## K(pi_1,Fq) ## + v>0 && println("First critical points") + K1Fq = computepolarproj(1, Fq, dimV-e, newvarias, output="interval", verb=max(v-1,0), nr_thrds=Threads.nthreads()) + + ## K(pi_2, Fq) ## + v>0 && println("Second critical points") + K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors", verb=max(v-1,0), nr_thrds=Threads.nthreads()) + polar = change_ringvar(K2Fq.gens, A.S) + push!(R, AlgebraicSolving.Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) + + ## Points with vertical tg in K(pi_2, Fq) ## + v>0 && println("Vertical tg points") + K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=max(v-1,0), nr_thrds=Threads.nthreads()) + + ## New base points ## + K1W = vcat(K1Fq, K1WmFq) + K1WRat = MidRationalPoints(getindex(K1W, 1)) + # Heuristic to be proven + #K1WRat = K1WRat[2:end-1] + ########## + append!(K1WRat, [ c[e+1] for c in C if c[1:e]==q && !(c[e+1] in K1WRat) ]) |> sort! + newQ = [ vcat(q, [kv]) for kv in K1WRat ] + + if !isempty(newQ) + RFq = computeRM(V, dimV, Q=newQ, C=C) + R = vcat(R, RFq) + end + end + end + + return R +end + +#= +## Test ## +R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) +#h = x1^2+x2^2+x3^2+x4^2-1 +h = (x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2) +h = evaluate(h,[x1,x2,x3],[x1+rand(-10:10)*x2+rand(-10:10)*x3+rand(-10:10)*x4,x2+rand(-10:10)*x3+rand(-10:10)*x4,x3+rand(-10:10)*x4]) +V = AlgebraicSolving.Ideal([h]) + +carte = (computeRM(V, 3, [Vector{QQFieldElem}(undef,0)])) +#println(carte) +=# + + From 85d734c485cde27f0f1a481d3d895bcf5b992eef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Fri, 18 Apr 2025 17:18:53 +0200 Subject: [PATCH 103/180] simplify computepolar + remove useless functions + remove useless checks --- src/AlgebraicSolving.jl | 2 + src/connectivity/Cannytools.jl | 215 +++------------------------------ src/connectivity/computeRM.jl | 142 ++++++++++++---------- 3 files changed, 96 insertions(+), 263 deletions(-) diff --git a/src/AlgebraicSolving.jl b/src/AlgebraicSolving.jl index 5cab42f..9c66519 100644 --- a/src/AlgebraicSolving.jl +++ b/src/AlgebraicSolving.jl @@ -18,6 +18,8 @@ include("algorithms/paramcurve.jl") include("algorithms/hilbert.jl") #= siggb =# include("siggb/siggb.jl") +#= connectivity =# +include("connectivity/computeRM.jl") #= examples =# include("examples/katsura.jl") include("examples/cyclic.jl") diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 27b970b..16c274a 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -1,191 +1,22 @@ -# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables -function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} - R = parent(first(F)) - # Locate variables of R in newvarias - to_varias = Vector{Int}(undef,0) - for v in newvarias_S - ind = findfirst(x->x==v, R.S) - push!(to_varias, typeof(ind)==Nothing ? length(R.S)+1 : ind) - end - - ind_novarias = setdiff(eachindex(R.S), to_varias) - newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) - - res = typeof(first(F))[] - ctx = MPolyBuildCtx(newR) - - for f in F - for (e, c) in zip(exponent_vectors(f), coefficients(f)) - @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") - push!(e, 0) - push_term!(ctx, c, [e[i] for i in to_varias ]) - end - push!(res, finish(ctx)) - end - - return res -end - -function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: PolyRingElem} - R = parent(first(F)) - to_varias = [ v==R.S ? 1 : 2 for v in newvarias_S] - newR, = polynomial_ring(base_ring(R), newvarias_S) - - res = typeof(zero(newR))[] - ctx = MPolyBuildCtx(newR) - - LcF = [ filter!(t->t[2]!=0, collect(enumerate(coefficients(f)))) for f in F ] - for f in LcF - for (ef, c) in f - e = [ef-1, 0] - push_term!(ctx, c, [e[i] for i in to_varias ]) - end - push!(res, finish(ctx)) - end - - return res -end - -function change_ringvar(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) - return first(change_ringvar([f], newvarias_S)) -end - -function change_ringvar(F::Vector{P}, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {P <: MPolyRingElem, I <: Int64} - R = parent(first(F)) - return change_ringvar(F, [R.S[i] for i in ind_newvarias]) -end - -function change_ringvar(f::MPolyRingElem, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {I <: Int64} - R = parent(f) - return first(change_ringvar([f], [R.S[i] for i in ind_newvarias])) -end - -# Return the polynomials in F, but injected in the polynomial ring with the variables occuring in F -function change_ringvar(F::Vector{P}) where {P <: MPolyRingElem} - union_varias = Set{Symbol}() - for f in F - union!(union_varias, map(Symbol, vars(f)) ) - end - return change_ringvar(F, collect(union_varias)) -end - -function change_ringvar(f::MPolyRingElem) - return first(change_ringvar([f])) -end - -# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables -function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} - R = parent(first(F)) - # Locate variables of R in newvarias - to_varias = Vector{Int}(undef,0) - for v in newvarias_S - ind = findfirst(x->x==v, oldvarias_S) - push!(to_varias, typeof(ind)==Nothing ? length(oldvarias_S)+1 : ind) - end - - ind_novarias = setdiff(eachindex(oldvarias_S), to_varias) - newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) - - res = typeof(first(F))[] - ctx = MPolyBuildCtx(newR) - - for f in F - for (e, c) in zip(exponent_vectors(f), coefficients(f)) - @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") - push!(e, 0) - push_term!(ctx, c, [e[i] for i in to_varias ]) - end - push!(res, finish(ctx)) - end - - return res -end - -function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: PolyRingElem} - R = parent(first(F)) - A, (x,) = polynomial_ring(base_ring(R), oldvarias_S) - return change_ringvar_mod([ evaluate(f, x) for f in F ], newvarias_S, oldvarias_S) -end - -function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) - return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) -end - -#function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) -# return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) -#end - -function MPolyBuild(F::Vector{Vector{P}}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} - A = parent(first(first(F))) - R, = polynomial_ring(A, newvarias_S) - to_varias = [ i==idx ? 1 : 2 for i in eachindex(newvarias_S) ] - - res = typeof(zero(R))[] - ctx = MPolyBuildCtx(R) - - LcF = [ filter!(t->t[2]!=0, collect(enumerate(f))) for f in F ] - for f in LcF - for (ef, c) in f - e = [ef-1, 0] - push_term!(ctx, c, [e[i] for i in to_varias ]) - end - push!(res, finish(ctx)) - end - - return res -end - -function MPolyBuild(f::Vector{P}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} - return first(MPolyBuild([f], newvarias_S, idx)) -end - -function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) - #println("$j $V $dimV") - # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj - @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" +# Compute the set of points x where phi_j(T_x(V)) has dimension < dimproj +function computepolar( + j::Int, # j-th first coordinate images of phi + V::Ideal{P}; # input ideal + phi::Vector{P} = P[], # polynomial map in consideration (completed by sufficiently many projections) + dimproj = j-1, # maximum dimension of tangent space of phi + v=0, # verbosity level + ) where (P <: MPolyRingElem) + V.dim == -1 && dimension(V) R = parent(V) - n, hV = R.nvars, V.gens - c = n - dimV + n = nvars(R) + c = n - V.dim + nphi = length(phi) - JW = transpose([ derivative(f, k) for k=j+1:n, f in hV ]) - sizeminors = c + dimproj - (j-1) - hW = vcat(hV, compute_minors(sizeminors, JW, R)) - filter!(!iszero, hW) - output_functions = Dict( - "minors" => x -> x, - "groebner" => x -> groebner_basis(x, info_level=verb,nr_thrds=nr_thrds), - "real" => x -> real_solutions(x, info_level=verb,nr_thrds=nr_thrds), - "interval" => x -> real_solutions(x, interval=true, info_level=verb,nr_thrds=nr_thrds), - "parametric" => x -> rational_parametrization(x, info_level=verb,nr_thrds=nr_thrds) - ) + JW = transpose([ derivative(f, k) for k=max(j+1-nphi,0):n, f in vcat(V.gens, phi[1:min(j,nphi)])]) + sizeminors = c + min(nphi,j) + min(dimproj,j-1) - (j-1) + minors = compute_minors(sizeminors, JW, R) - return output_functions[output](AlgebraicSolving.Ideal(hW)) -end - -function computepolarphi(j::Int, V::AlgebraicSolving.Ideal, phi::Vector{T} where T<:MPolyRingElem, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) - # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj - @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" - R = parent(V) - n, hV = nvars(R), V.gens - c = n - dimV - - if j==0 - JW = transpose([ derivative(f, k) for k=1:n, f in hV ]) - sizeminors = c - else - JW = transpose([ derivative(f, k) for k=1:n, f in vcat(hV,phi) ]) - sizeminors = c + j + dimproj - (j-1) - end - hW = vcat(hV, compute_minors(sizeminors, JW, R)) - output_functions = Dict( - "minors" => x -> x, - "groebner" => x -> groebner_basis(x, info_level=verb,nr_thrds=nr_thrds), - "real" => x -> real_solutions(x, info_level=verb,nr_thrds=nr_thrds), - "interval" => x -> real_solutions(x, interval=true, info_level=verb,nr_thrds=nr_thrds), - "parametric" => x -> rational_parametrization(x, info_level=verb,nr_thrds=nr_thrds) - ) - - return output_functions[output](AlgebraicSolving.Ideal(hW)) + return Ideal(vcat(V.gens, minors)) end function compute_minors(p, A, R) @@ -246,20 +77,6 @@ function detmpoly(A::Matrix{T} where T<:MPolyRingElem, R) return detA end -function contfrac_convergents(x::Rational{Int}) - q = Rational{Int}[] - fpart, ipart = modf(x) - push!(q, ipart) - na, da, nb, db = Int(1), Int(0), Int(ipart), Int(1) - while true - fpart == 0 && return q - x = inv(fpart) - fpart, ipart = modf(x) - na, da, nb, db = nb, db, na+ipart*nb, da+ipart*db - push!(q, nb//db) - end -end - function modfQQ(x::QQFieldElem) ipart, fpart = [ f(numerator(x), denominator(x)) for f in [div, rem]] return QQFieldElem(fpart, denominator(x)), ipart diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 504fc95..418a4fb 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,75 +4,89 @@ #using AlgebraicSolving #using Nemo -export computeRM, computepolarproj, computepolarphi +export computeRM, computepolarproj, computepolarphi, computepolar # DEBUG -export change_ringvar, compute_minors, detmpoly, change_ringvar_mod, MPolyBuild +export compute_minors, detmpoly, change_ringvar_mod, MPolyBuild include("Cannytools.jl") -function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int; Q=Vector{Vector{QQFieldElem}}([[]]), C=Vector{Vector{QQFieldElem}}([]), v=0) - # V is a variety of dimension dimV - # Q are base points with rational coefficients - # C are query points with rational coefficients - println(Q) - A = parent(V) - varias, nvarias = gens(A), nvars(A) - hV = V.gens - #println(Q) - e = length(first(Q)) - fixvarias, newvarias = varias[1:e], varias[e+1:nvarias] - - R = Vector{AlgebraicSolving.Ideal{QQMPolyRingElem}}(undef,0) - - for q in Q - ## Fq ## - if e > 0 - hFq = change_ringvar([evaluate(h, fixvarias, q) for h in V.gens], e+1:nvarias) - Fq = AlgebraicSolving.Ideal(hFq) - else - Fq = V - end - - if dimV - e <= 1 - curve = change_ringvar(Fq.gens, A.S) - push!(R, AlgebraicSolving.Ideal(vcat(curve, [fixvarias[j] - q[j] for j in 1:e]))) - else - ## sing(Fq) ## - v>0 && println("Compute first the singular points") - singFq = computepolarproj(0, Fq, dimV-e, newvarias, output="real", verb=max(v-1,0), nr_thrds=Threads.nthreads()) - @assert(length(singFq)==0, "Non-emtpy real sing locus!") - - ## K(pi_1,Fq) ## - v>0 && println("First critical points") - K1Fq = computepolarproj(1, Fq, dimV-e, newvarias, output="interval", verb=max(v-1,0), nr_thrds=Threads.nthreads()) - - ## K(pi_2, Fq) ## - v>0 && println("Second critical points") - K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors", verb=max(v-1,0), nr_thrds=Threads.nthreads()) - polar = change_ringvar(K2Fq.gens, A.S) - push!(R, AlgebraicSolving.Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) - - ## Points with vertical tg in K(pi_2, Fq) ## - v>0 && println("Vertical tg points") - K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=max(v-1,0), nr_thrds=Threads.nthreads()) - - ## New base points ## - K1W = vcat(K1Fq, K1WmFq) - K1WRat = MidRationalPoints(getindex(K1W, 1)) - # Heuristic to be proven - #K1WRat = K1WRat[2:end-1] - ########## - append!(K1WRat, [ c[e+1] for c in C if c[1:e]==q && !(c[e+1] in K1WRat) ]) |> sort! - newQ = [ vcat(q, [kv]) for kv in K1WRat ] - - if !isempty(newQ) - RFq = computeRM(V, dimV, Q=newQ, C=C) - R = vcat(R, RFq) +function computeRM( + V::Ideal{T} where T <: QQMPolyRingElem; # input ideal + Q::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # base points with rational coefficients + C::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # query points with rational coefficients + v::Int=0, # verbosity level + checks::Bool=false # perform checks (dimension, regularity, etc.) + ) + # Some preprocessing + V.dim == -1 && dimension(V) + println(Q) + isempty(Q) && push!(Q,[]) + # Get data + A = parent(V) + varias, nvarias = gens(A), nvars(A) + e = length(first(Q)) + fixvarias = varias[1:e] + + RM = Vector{Ideal{QQMPolyRingElem}}(undef,0) + for q in Q + ## Fq ## + if e > 0 + hFq = change_ringvar([evaluate(h, fixvarias, q) for h in V.gens], A.S[e+1:end]) + Fq = Ideal(hFq) + else + Fq = V + end + # Genericity assumption (can be checked) + Fq.dim = V.dim - e + + if V.dim - e <= 1 + curve = change_ringvar(Fq.gens, A.S) + push!(RM, Ideal(vcat(curve, [fixvarias[j] - q[j] for j in 1:e]))) + else + ## sing(Fq) ## + if checks + v>0 && println("Compute first the singular points") + singFq = computepolar(0, Fq, v=max(v-1,0)) + @assert(isempty(real_solutions(singFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads())), "Non-emtpy real sing locus!") + end + + ## K(pi_1,Fq) ## + v>0 && println("First critical points") + K1Fq = computepolar(1, Fq, v=max(v-1,0)) + K1Fq = real_solutions(K1Fq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) + + ## K(pi_2, Fq) ## + v>0 && println("Second critical points") + K2Fq = computepolar(2, Fq, v=max(v-1,0)) + if checks + @assert(isone(dimension(K2Fq)), "Non-generic polar variety") + end + K2Fq.dim = 1 + polar = change_ringvar(K2Fq.gens, A.S) + push!(RM, Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) + + ## Points with vertical tg in K(pi_2, Fq) ## + v>0 && println("Vertical tg points") + K1WmFq = computepolar(2, K2Fq, dimproj=0, v=max(v-1,0)) + K1WmFq = real_solutions(K1WmFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) + + ## New base points ## + K1W = vcat(K1Fq, K1WmFq) + K1WRat = MidRationalPoints(getindex(K1W, 1)) + # Heuristic to be proven + #K1WRat = K1WRat[2:end-1] + ########## + append!(K1WRat, [ c[e+1] for c in C if c[1:e]==q && !(c[e+1] in K1WRat) ]) |> sort! + newQ = [ vcat(q, [kv]) for kv in K1WRat ] + + if !isempty(newQ) + RMFq = computeRM(V, Q=newQ, C=C) + append!(RM, RMFq) + end end - end - end + end - return R + return RM end #= @@ -81,7 +95,7 @@ R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) #h = x1^2+x2^2+x3^2+x4^2-1 h = (x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2) h = evaluate(h,[x1,x2,x3],[x1+rand(-10:10)*x2+rand(-10:10)*x3+rand(-10:10)*x4,x2+rand(-10:10)*x3+rand(-10:10)*x4,x3+rand(-10:10)*x4]) -V = AlgebraicSolving.Ideal([h]) +V = Ideal([h]) carte = (computeRM(V, 3, [Vector{QQFieldElem}(undef,0)])) #println(carte) From 7f0c5614e40be5760791d989a8fbcb2ff9832425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Fri, 18 Apr 2025 18:25:17 +0200 Subject: [PATCH 104/180] remove query points --- src/connectivity/computeRM.jl | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 418a4fb..1d8d9f8 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -17,13 +17,19 @@ function computeRM( v::Int=0, # verbosity level checks::Bool=false # perform checks (dimension, regularity, etc.) ) + # Some base cases + A = parent(V) + varias = gens(A) + if length(varias)<=2 + return [V] + end # Some preprocessing V.dim == -1 && dimension(V) println(Q) + println(C) + println() isempty(Q) && push!(Q,[]) - # Get data - A = parent(V) - varias, nvarias = gens(A), nvars(A) + # Base points e = length(first(Q)) fixvarias = varias[1:e] @@ -76,11 +82,12 @@ function computeRM( # Heuristic to be proven #K1WRat = K1WRat[2:end-1] ########## - append!(K1WRat, [ c[e+1] for c in C if c[1:e]==q && !(c[e+1] in K1WRat) ]) |> sort! + Cq = [c for c in C if c[1:e]==q] + append!(K1WRat, getindex.(Cq, e+1)) |> sort! newQ = [ vcat(q, [kv]) for kv in K1WRat ] if !isempty(newQ) - RMFq = computeRM(V, Q=newQ, C=C) + RMFq = computeRM(V, Q=newQ, C=Cq) append!(RM, RMFq) end end From 9477d47954c0b1a1cf5f219325cd5c3c3c6ebb82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Tue, 22 Apr 2025 20:18:42 +0200 Subject: [PATCH 105/180] remove custom small_mid_point + debut canny param --- src/connectivity/Cannytools.jl | 30 +-------- src/connectivity/computeRM.jl | 113 ++++++++++++++++++--------------- 2 files changed, 64 insertions(+), 79 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 16c274a..49dd3c6 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -77,32 +77,6 @@ function detmpoly(A::Matrix{T} where T<:MPolyRingElem, R) return detA end -function modfQQ(x::QQFieldElem) - ipart, fpart = [ f(numerator(x), denominator(x)) for f in [div, rem]] - return QQFieldElem(fpart, denominator(x)), ipart -end - -function small_mid_point(a::QQFieldElem,b::QQFieldElem) - a == b && return a - if b < a - a, b = b, a - end - x = (a+b)/ QQFieldElem(2) - fpart, ipart = modfQQ(x) - println("\n",fpart," , ", ipart) - q1, q2 = QQFieldElem(1//0), QQFieldElem(ipart,1) - while true - #println("(",q1," ; ",q2,")") - if numerator(fpart) == 0 || (q2 > a && q2 < b) - return q2 - end - x = inv(fpart) - fpart, ipart = modfQQ(x) - println(fpart," , ", ipart) - q1, q2 = q2, QQFieldElem(numerator(q1) + ipart*numerator(q2), denominator(q1) + ipart*denominator(q2)) - end -end - function MidRationalPoints(S::Vector{Vector{QQFieldElem}}) # S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] # such that the [l_i, r_i] are rational and disjoint open intervals. @@ -118,8 +92,8 @@ function MidRationalPoints(S::Vector{Vector{QQFieldElem}}) for i in 1:(n- 1) ri, li1 = S1[i][2], S1[i+1][1] @assert ri < li1 "The intervals are not disjoint." - #ratioP[i] = small_mid_point(ri, li1) - ratioP[i] = simplest_between(ri, li1) + eps = (li1-ri)//1000 + ratioP[i] = simplest_between(ri + eps, li1 - eps) end return ratioP end diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 1d8d9f8..9257763 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,13 +4,22 @@ #using AlgebraicSolving #using Nemo -export computeRM, computepolarproj, computepolarphi, computepolar +export roadmap, computepolarproj, computepolarphi, computepolar # DEBUG -export compute_minors, detmpoly, change_ringvar_mod, MPolyBuild - +export compute_minors, detmpoly, change_ringvar_mod, MPolyBuild, small_mid_point include("Cannytools.jl") -function computeRM( +function roadmap( + V::Ideal{P}; # input ideal + Q::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # base points with rational coefficients + C::Vector{Vector{P}}=Vector{Vector{P}}(), # query points with rational coefficients + v::Int=0, # verbosity level + checks::Bool=false # perform checks (dimension, regularity, etc.) +) where (P <: QQMPolyRingElem) + CQ = real_solutions(C, info_level=max(v-1,0), nr_thrds=Threads.nthreads()) +end + +function roadmap( V::Ideal{T} where T <: QQMPolyRingElem; # input ideal Q::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # base points with rational coefficients C::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # query points with rational coefficients @@ -36,60 +45,62 @@ function computeRM( RM = Vector{Ideal{QQMPolyRingElem}}(undef,0) for q in Q ## Fq ## - if e > 0 - hFq = change_ringvar([evaluate(h, fixvarias, q) for h in V.gens], A.S[e+1:end]) - Fq = Ideal(hFq) + Fq = e > 0 ? Ideal(change_ringvar([evaluate(h, fixvarias, q) for h in V.gens], A.S[e+1:end])) : V + # Genericity assumption (can be checked) + if checks + @assert(dimension(Fq) == V.dim - e, "Non-generic polar variety") else - Fq = V + Fq.dim = V.dim - e end - # Genericity assumption (can be checked) - Fq.dim = V.dim - e - if V.dim - e <= 1 + # Terminal case (dim <=1) + if Fq.dim <= 1 curve = change_ringvar(Fq.gens, A.S) push!(RM, Ideal(vcat(curve, [fixvarias[j] - q[j] for j in 1:e]))) + continue + end + + ## sing(Fq) ## + if checks + v>0 && println("Compute first the singular points") + singFq = computepolar(0, Fq, v=max(v-1,0)) + @assert(isempty(real_solutions(singFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads())), "Non-emtpy real sing locus!") + end + + ## K(pi_1,Fq) ## + v>0 && println("First critical points") + K1Fq = computepolar(1, Fq, v=max(v-1,0)) + K1Fq = real_solutions(K1Fq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) + + ## K(pi_2, Fq) ## + v>0 && println("Second critical points") + K2Fq = computepolar(2, Fq, v=max(v-1,0)) + if checks + @assert(isone(dimension(K2Fq)), "Non-generic polar variety") else - ## sing(Fq) ## - if checks - v>0 && println("Compute first the singular points") - singFq = computepolar(0, Fq, v=max(v-1,0)) - @assert(isempty(real_solutions(singFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads())), "Non-emtpy real sing locus!") - end - - ## K(pi_1,Fq) ## - v>0 && println("First critical points") - K1Fq = computepolar(1, Fq, v=max(v-1,0)) - K1Fq = real_solutions(K1Fq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) - - ## K(pi_2, Fq) ## - v>0 && println("Second critical points") - K2Fq = computepolar(2, Fq, v=max(v-1,0)) - if checks - @assert(isone(dimension(K2Fq)), "Non-generic polar variety") - end K2Fq.dim = 1 - polar = change_ringvar(K2Fq.gens, A.S) - push!(RM, Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) - - ## Points with vertical tg in K(pi_2, Fq) ## - v>0 && println("Vertical tg points") - K1WmFq = computepolar(2, K2Fq, dimproj=0, v=max(v-1,0)) - K1WmFq = real_solutions(K1WmFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) - - ## New base points ## - K1W = vcat(K1Fq, K1WmFq) - K1WRat = MidRationalPoints(getindex(K1W, 1)) - # Heuristic to be proven - #K1WRat = K1WRat[2:end-1] - ########## - Cq = [c for c in C if c[1:e]==q] - append!(K1WRat, getindex.(Cq, e+1)) |> sort! - newQ = [ vcat(q, [kv]) for kv in K1WRat ] - - if !isempty(newQ) - RMFq = computeRM(V, Q=newQ, C=Cq) - append!(RM, RMFq) - end + end + polar = change_ringvar(K2Fq.gens, A.S) + push!(RM, Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) + + ## Points with vertical tg in K(pi_2, Fq) ## + v>0 && println("Vertical tg points") + K1WmFq = computepolar(2, K2Fq, dimproj=0, v=max(v-1,0)) + K1WmFq = real_solutions(K1WmFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) + + ## New base points ## + K1W = vcat(K1Fq, K1WmFq) + K1WRat = MidRationalPoints(getindex(K1W, 1)) + # Heuristic to be proven + #K1WRat = K1WRat[2:end-1] + ########## + Cq = [c for c in C if c[1:e]==q] + append!(K1WRat, getindex.(Cq, e+1)) |> sort! + newQ = [ vcat(q, [kv]) for kv in K1WRat ] + + if !isempty(newQ) + RMFq = roadmap(V, Q=newQ, C=Cq) + append!(RM, RMFq) end end From 0d811458d37af7b337415f7c8b6217f37d404f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 23 Apr 2025 18:33:23 +0200 Subject: [PATCH 106/180] roadmap query ideal --- src/algorithms/paramcurve.jl | 2 +- src/connectivity/computeRM.jl | 24 +++++++++++++----------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/algorithms/paramcurve.jl b/src/algorithms/paramcurve.jl index 7868ff5..f74a061 100644 --- a/src/algorithms/paramcurve.jl +++ b/src/algorithms/paramcurve.jl @@ -1,4 +1,4 @@ -export rational_curve_parametrization +export rational_curve_parametrization, add_genvars @doc Markdown.doc""" rational_curve_parametrization(I::Ideal{T} where T <: MPolyRingElem, ) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 9257763..1979775 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -9,16 +9,6 @@ export roadmap, computepolarproj, computepolarphi, computepolar export compute_minors, detmpoly, change_ringvar_mod, MPolyBuild, small_mid_point include("Cannytools.jl") -function roadmap( - V::Ideal{P}; # input ideal - Q::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # base points with rational coefficients - C::Vector{Vector{P}}=Vector{Vector{P}}(), # query points with rational coefficients - v::Int=0, # verbosity level - checks::Bool=false # perform checks (dimension, regularity, etc.) -) where (P <: QQMPolyRingElem) - CQ = real_solutions(C, info_level=max(v-1,0), nr_thrds=Threads.nthreads()) -end - function roadmap( V::Ideal{T} where T <: QQMPolyRingElem; # input ideal Q::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # base points with rational coefficients @@ -95,7 +85,7 @@ function roadmap( #K1WRat = K1WRat[2:end-1] ########## Cq = [c for c in C if c[1:e]==q] - append!(K1WRat, getindex.(Cq, e+1)) |> sort! + append!(K1WRat, unique(getindex.(Cq, e+1))) |> sort! newQ = [ vcat(q, [kv]) for kv in K1WRat ] if !isempty(newQ) @@ -107,6 +97,18 @@ function roadmap( return RM end +function roadmap( + V::Ideal{P}, # input ideal + C::Ideal{P}; # query points as an ideal + v::Int=0, # verbosity level + checks::Bool=false # perform checks (dimension, regularity, etc.) +) where (P <: QQMPolyRingElem) + println("plop") + @assert(parent(V)==parent(C), "Equations for variety and query points must be in the same ring") + CQ = real_solutions(C, info_level=max(v-1,0), nr_thrds=Threads.nthreads()) + return roadmap(V, C=CQ, v=v, checks=checks) +end + #= ## Test ## R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) From c65a16932851ba2deea860872f78fbb56efb3a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 23 Apr 2025 19:51:46 +0200 Subject: [PATCH 107/180] MidRationalPoints: improve + add query points --- src/connectivity/Cannytools.jl | 57 ++++++++++++++++++++++++++-------- src/connectivity/computeRM.jl | 4 +-- 2 files changed, 45 insertions(+), 16 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 49dd3c6..6a7f90f 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -77,24 +77,55 @@ function detmpoly(A::Matrix{T} where T<:MPolyRingElem, R) return detA end -function MidRationalPoints(S::Vector{Vector{QQFieldElem}}) - # S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] +function MidRationalPoints(S::Vector{Vector{T}}, Q::Vector{T} = T[]) where {T <: QQFieldElem} + # * S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] # such that the [l_i, r_i] are rational and disjoint open intervals. + # * Q is a list of rationals that intersects no [l_i,r_i] # - # It orders the [l_i,r_i], removes repetitions and computes the simplest - # rational points between these intervals. - if isempty(S) - return QQFieldElem[] + # It orders the [l_i,r_i], and compute a list ratioP such that + # strictly between each of these intervals there is: + # - either at least one element of Q + # - or the simplest rational number + isempty(S) && return Q + + S1, Q1 = sort(S, lt=(x, y) -> x[2] <= y[1]), sort(Q) + ratioP = T[] + qidx = 1 + qlen = length(Q1) + + # Handle left gap before first interval + while qidx <= qlen && Q1[qidx] < S1[1][1] + push!(ratioP, Q1[qidx]) + qidx += 1 end - S1 = sort(S, lt=(x, y) -> x[2] <= y[1]) - n = unique!(S1) |> length - ratioP = Vector{QQFieldElem}(undef, n-1) - for i in 1:(n- 1) + + # Loop through gaps between sorted disjoint intervals + for i in 1:(length(S1) - 1) ri, li1 = S1[i][2], S1[i+1][1] - @assert ri < li1 "The intervals are not disjoint." - eps = (li1-ri)//1000 - ratioP[i] = simplest_between(ri + eps, li1 - eps) + @assert ri < li1 "Intervals are not disjoint." + inserted = false + while qidx <= qlen && Q1[qidx] < li1 + push!(ratioP, Q1[qidx]) + inserted = true + qidx += 1 + end + if !inserted + eps = (li1 - ri)//1000 # for open interval + # We choose the simplest in absolute value + if -ri > li1 # this means ri is negative and the largest in absolute value + push!(ratioP, -simplest_between(-ri - eps, -li1 + eps)) + else + push!(ratioP, simplest_between(ri + eps, li1 - eps)) + end + end + end + + # Append remaining right-side Q points + while qidx <= qlen + push!(ratioP, Q1[qidx]) + qidx += 1 end + return ratioP end diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 1979775..de7a387 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,9 +4,7 @@ #using AlgebraicSolving #using Nemo -export roadmap, computepolarproj, computepolarphi, computepolar -# DEBUG -export compute_minors, detmpoly, change_ringvar_mod, MPolyBuild, small_mid_point +export roadmap, computepolar include("Cannytools.jl") function roadmap( From 9b2691aaa21d63ff6dca9dd866da3ae91ae7352d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 23 Apr 2025 21:18:22 +0200 Subject: [PATCH 108/180] avoid intermediate fibers when already intermediate query points + big bug --- src/algorithms/paramcurve.jl | 2 +- src/algorithms/solvers.jl | 2 +- src/connectivity/Cannytools.jl | 1 + src/connectivity/computeRM.jl | 41 ++++++++++++++++------------------ 4 files changed, 22 insertions(+), 24 deletions(-) diff --git a/src/algorithms/paramcurve.jl b/src/algorithms/paramcurve.jl index f74a061..a4e7640 100644 --- a/src/algorithms/paramcurve.jl +++ b/src/algorithms/paramcurve.jl @@ -1,4 +1,4 @@ -export rational_curve_parametrization, add_genvars +export rational_curve_parametrization, add_genvars, change_ringvar @doc Markdown.doc""" rational_curve_parametrization(I::Ideal{T} where T <: MPolyRingElem, ) diff --git a/src/algorithms/solvers.jl b/src/algorithms/solvers.jl index ebf4539..af5a162 100644 --- a/src/algorithms/solvers.jl +++ b/src/algorithms/solvers.jl @@ -272,7 +272,7 @@ end rational_solutions(I::Ideal{T} where T <: MPolyRingElem, ) Given an ideal `I` with a finite solution set over the complex numbers, return -the rational roots of the ideal. +the rational roots of the ideal. # Arguments - `I::Ideal{T} where T <: MPolyRingElem`: input generators. diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 6a7f90f..2cf35df 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -105,6 +105,7 @@ function MidRationalPoints(S::Vector{Vector{T}}, Q::Vector{T} = T[]) where {T <: @assert ri < li1 "Intervals are not disjoint." inserted = false while qidx <= qlen && Q1[qidx] < li1 + @assert(Q1[qidx] > ri, "A query point is singular") push!(ratioP, Q1[qidx]) inserted = true qidx += 1 diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index de7a387..c508184 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,7 +4,7 @@ #using AlgebraicSolving #using Nemo -export roadmap, computepolar +export roadmap, computepolar, MidRationalPoints include("Cannytools.jl") function roadmap( @@ -22,9 +22,6 @@ function roadmap( end # Some preprocessing V.dim == -1 && dimension(V) - println(Q) - println(C) - println() isempty(Q) && push!(Q,[]) # Base points e = length(first(Q)) @@ -50,18 +47,19 @@ function roadmap( ## sing(Fq) ## if checks - v>0 && println("Compute first the singular points") + v>0 && println("Check real quasi-smoothness") singFq = computepolar(0, Fq, v=max(v-1,0)) - @assert(isempty(real_solutions(singFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads())), "Non-emtpy real sing locus!") + @assert(isempty(real_solutions(singFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads())), + "Non-empty real sing locus!") end ## K(pi_1,Fq) ## - v>0 && println("First critical points") + v>0 && println("V-critical points") K1Fq = computepolar(1, Fq, v=max(v-1,0)) K1Fq = real_solutions(K1Fq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) ## K(pi_2, Fq) ## - v>0 && println("Second critical points") + v>0 && println("Polar variety") K2Fq = computepolar(2, Fq, v=max(v-1,0)) if checks @assert(isone(dimension(K2Fq)), "Non-generic polar variety") @@ -72,20 +70,20 @@ function roadmap( push!(RM, Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) ## Points with vertical tg in K(pi_2, Fq) ## - v>0 && println("Vertical tg points") + v>0 && println("W-critical points with vertical tangent") K1WmFq = computepolar(2, K2Fq, dimproj=0, v=max(v-1,0)) K1WmFq = real_solutions(K1WmFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) - ## New base points ## + ## New base and query points ## + Cq = isempty(q) ? C : [ c[2:end] for c in C if c[1] == q[e]] K1W = vcat(K1Fq, K1WmFq) - K1WRat = MidRationalPoints(getindex(K1W, 1)) - # Heuristic to be proven - #K1WRat = K1WRat[2:end-1] + # Heuristic to be proven (Reeb's th) + #K1W = K1W[2:end-1] ########## - Cq = [c for c in C if c[1:e]==q] - append!(K1WRat, unique(getindex.(Cq, e+1))) |> sort! - newQ = [ vcat(q, [kv]) for kv in K1WRat ] + K1WRat = MidRationalPoints(first.(K1W), unique(first.(Cq))) + newQ = vcat.(Ref(q), K1WRat) + # Recursively compute roadmap of possible fibers if !isempty(newQ) RMFq = roadmap(V, Q=newQ, C=Cq) append!(RM, RMFq) @@ -96,13 +94,12 @@ function roadmap( end function roadmap( - V::Ideal{P}, # input ideal - C::Ideal{P}; # query points as an ideal - v::Int=0, # verbosity level - checks::Bool=false # perform checks (dimension, regularity, etc.) + V::Ideal{P}, # input ideal + C::Ideal{P}; # ideal defining query points + v::Int=0, # verbosity level + checks::Bool=false # perform checks (dimension, regularity, etc.) ) where (P <: QQMPolyRingElem) - println("plop") - @assert(parent(V)==parent(C), "Equations for variety and query points must be in the same ring") + @assert(parent(V)==parent(C), "Equations for variety and query points must live the same ring") CQ = real_solutions(C, info_level=max(v-1,0), nr_thrds=Threads.nthreads()) return roadmap(V, C=CQ, v=v, checks=checks) end From 8c96896a4aadd205c8d59e3989d83d7c1a214c46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 23 Apr 2025 22:23:37 +0200 Subject: [PATCH 109/180] no evaluation during recursive steps of roadmap --- src/connectivity/Cannytools.jl | 5 +++-- src/connectivity/computeRM.jl | 27 +++++++++++++++------------ 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 2cf35df..57f1af9 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -3,13 +3,14 @@ function computepolar( j::Int, # j-th first coordinate images of phi V::Ideal{P}; # input ideal phi::Vector{P} = P[], # polynomial map in consideration (completed by sufficiently many projections) + dim = -1, # specify dimension of V dimproj = j-1, # maximum dimension of tangent space of phi v=0, # verbosity level ) where (P <: MPolyRingElem) - V.dim == -1 && dimension(V) + dim == -1 && V.dim == -1 && dimension(V) R = parent(V) n = nvars(R) - c = n - V.dim + c = n - max(dim, V.dim) nphi = length(phi) JW = transpose([ derivative(f, k) for k=max(j+1-nphi,0):n, f in vcat(V.gens, phi[1:min(j,nphi)])]) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index c508184..e15943b 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -25,13 +25,12 @@ function roadmap( isempty(Q) && push!(Q,[]) # Base points e = length(first(Q)) - fixvarias = varias[1:e] RM = Vector{Ideal{QQMPolyRingElem}}(undef,0) for q in Q ## Fq ## - Fq = e > 0 ? Ideal(change_ringvar([evaluate(h, fixvarias, q) for h in V.gens], A.S[e+1:end])) : V # Genericity assumption (can be checked) + Fq = fbr(V, q) if checks @assert(dimension(Fq) == V.dim - e, "Non-generic polar variety") else @@ -40,47 +39,46 @@ function roadmap( # Terminal case (dim <=1) if Fq.dim <= 1 - curve = change_ringvar(Fq.gens, A.S) - push!(RM, Ideal(vcat(curve, [fixvarias[j] - q[j] for j in 1:e]))) + push!(RM, Fq) continue end ## sing(Fq) ## if checks v>0 && println("Check real quasi-smoothness") - singFq = computepolar(0, Fq, v=max(v-1,0)) + singFq = fbr(computepolar(e, V, v=max(v-1,0)), q) @assert(isempty(real_solutions(singFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads())), "Non-empty real sing locus!") end ## K(pi_1,Fq) ## v>0 && println("V-critical points") - K1Fq = computepolar(1, Fq, v=max(v-1,0)) + K1Fq = fbr(computepolar(e+1, V, v=max(v-1,0)), q) K1Fq = real_solutions(K1Fq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) ## K(pi_2, Fq) ## v>0 && println("Polar variety") - K2Fq = computepolar(2, Fq, v=max(v-1,0)) + K2Fqmins = computepolar(e+2, V, v=max(v-1,0)) + K2Fq = fbr(K2Fqmins, q) if checks @assert(isone(dimension(K2Fq)), "Non-generic polar variety") else K2Fq.dim = 1 end - polar = change_ringvar(K2Fq.gens, A.S) - push!(RM, Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) + push!(RM, K2Fq) ## Points with vertical tg in K(pi_2, Fq) ## v>0 && println("W-critical points with vertical tangent") - K1WmFq = computepolar(2, K2Fq, dimproj=0, v=max(v-1,0)) + K1WmFq = fbr(computepolar(e+2, K2Fqmins, dim=e+1, dimproj=e+0, v=max(v-1,0)), q) K1WmFq = real_solutions(K1WmFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) ## New base and query points ## - Cq = isempty(q) ? C : [ c[2:end] for c in C if c[1] == q[e]] + Cq = isempty(q) ? C : [ c for c in C if c[e] == q[e]] K1W = vcat(K1Fq, K1WmFq) # Heuristic to be proven (Reeb's th) #K1W = K1W[2:end-1] ########## - K1WRat = MidRationalPoints(first.(K1W), unique(first.(Cq))) + K1WRat = MidRationalPoints(getindex.(K1W,e+1), unique(getindex.(Cq, e+1))) newQ = vcat.(Ref(q), K1WRat) # Recursively compute roadmap of possible fibers @@ -104,6 +102,11 @@ function roadmap( return roadmap(V, C=CQ, v=v, checks=checks) end +function fbr(I::Ideal{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) + vars = gens(parent(I)) + return Ideal(vcat(I.gens, [vars[i] - Q[i] for i in 1:min(length(vars),length(Q))])) +end + #= ## Test ## R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) From 5de7bd0758b4bba33e027cd4d90e74c83183b344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Thu, 24 Apr 2025 19:58:33 +0200 Subject: [PATCH 110/180] correct bug, improve output --- src/connectivity/Cannytools.jl | 12 ++- src/connectivity/computeRM.jl | 140 +++++++++++++++++---------------- 2 files changed, 80 insertions(+), 72 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 57f1af9..456a324 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -3,21 +3,25 @@ function computepolar( j::Int, # j-th first coordinate images of phi V::Ideal{P}; # input ideal phi::Vector{P} = P[], # polynomial map in consideration (completed by sufficiently many projections) - dim = -1, # specify dimension of V dimproj = j-1, # maximum dimension of tangent space of phi v=0, # verbosity level + only_mins = false # return only minors without eqns of V ) where (P <: MPolyRingElem) - dim == -1 && V.dim == -1 && dimension(V) + V.dim == -1 && dimension(V) R = parent(V) n = nvars(R) - c = n - max(dim, V.dim) + c = n - V.dim nphi = length(phi) JW = transpose([ derivative(f, k) for k=max(j+1-nphi,0):n, f in vcat(V.gens, phi[1:min(j,nphi)])]) sizeminors = c + min(nphi,j) + min(dimproj,j-1) - (j-1) minors = compute_minors(sizeminors, JW, R) - return Ideal(vcat(V.gens, minors)) + if only_mins + return minors + else + return vcat(V.gens, minors) + end end function compute_minors(p, A, R) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index e15943b..f26f65d 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,86 +4,82 @@ #using AlgebraicSolving #using Nemo -export roadmap, computepolar, MidRationalPoints +export roadmap, computepolar, MidRationalPoints, fbr include("Cannytools.jl") function roadmap( - V::Ideal{T} where T <: QQMPolyRingElem; # input ideal - Q::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # base points with rational coefficients - C::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # query points with rational coefficients - v::Int=0, # verbosity level - checks::Bool=false # perform checks (dimension, regularity, etc.) - ) + V::Ideal{T} where T <: QQMPolyRingElem; # input ideal + q::Vector{QQFieldElem}=QQFieldElem[], # single base point with rational coefficients + C::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # query points with rational coefficients + v::Int=0, # verbosity level + checks::Bool=false # perform checks (dimension, regularity, etc.) +) # Some base cases A = parent(V) varias = gens(A) if length(varias)<=2 - return [V] + return [V.gens] end # Some preprocessing V.dim == -1 && dimension(V) - isempty(Q) && push!(Q,[]) # Base points - e = length(first(Q)) - - RM = Vector{Ideal{QQMPolyRingElem}}(undef,0) - for q in Q - ## Fq ## - # Genericity assumption (can be checked) - Fq = fbr(V, q) - if checks - @assert(dimension(Fq) == V.dim - e, "Non-generic polar variety") - else - Fq.dim = V.dim - e - end + e = length(q) - # Terminal case (dim <=1) - if Fq.dim <= 1 - push!(RM, Fq) - continue - end + RM = Vector{Tuple{Vector{QQMPolyRingElem}, Vector{QQFieldElem}}}(undef, 0) + ## Fq ## + # Genericity assumption (can be checked) + if checks + @assert(dimension(fbr(V,q)) == V.dim - e, "Non-generic coordinates") + end - ## sing(Fq) ## - if checks - v>0 && println("Check real quasi-smoothness") - singFq = fbr(computepolar(e, V, v=max(v-1,0)), q) - @assert(isempty(real_solutions(singFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads())), - "Non-empty real sing locus!") - end + # Terminal case (dim <=1) + if V.dim - e <= 1 + push!(RM, ([], q)) + return RM + end - ## K(pi_1,Fq) ## - v>0 && println("V-critical points") - K1Fq = fbr(computepolar(e+1, V, v=max(v-1,0)), q) - K1Fq = real_solutions(K1Fq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) - - ## K(pi_2, Fq) ## - v>0 && println("Polar variety") - K2Fqmins = computepolar(e+2, V, v=max(v-1,0)) - K2Fq = fbr(K2Fqmins, q) - if checks - @assert(isone(dimension(K2Fq)), "Non-generic polar variety") - else - K2Fq.dim = 1 - end - push!(RM, K2Fq) - - ## Points with vertical tg in K(pi_2, Fq) ## - v>0 && println("W-critical points with vertical tangent") - K1WmFq = fbr(computepolar(e+2, K2Fqmins, dim=e+1, dimproj=e+0, v=max(v-1,0)), q) - K1WmFq = real_solutions(K1WmFq, info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) - - ## New base and query points ## - Cq = isempty(q) ? C : [ c for c in C if c[e] == q[e]] - K1W = vcat(K1Fq, K1WmFq) - # Heuristic to be proven (Reeb's th) - #K1W = K1W[2:end-1] - ########## - K1WRat = MidRationalPoints(getindex.(K1W,e+1), unique(getindex.(Cq, e+1))) - newQ = vcat.(Ref(q), K1WRat) - - # Recursively compute roadmap of possible fibers - if !isempty(newQ) - RMFq = roadmap(V, Q=newQ, C=Cq) + ## sing(Fq) ## + if checks + v>0 && println("Check real quasi-smoothness") + singFq = computepolar(e, V, v=max(v-1,0)) |> Ideal + @assert(isempty(real_solutions(fbr(singFq, q), info_level=max(v-1,0), nr_thrds=Threads.nthreads())), + "Non-empty real sing locus!") + end + + ## K(pi_1,Fq) ## + v>0 && println("V-critical points") + K1Fq = computepolar(e+1, V, v=max(v-1,0)) |> Ideal + K1Fq = real_solutions(fbr(K1Fq,q), info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) + + ## K(pi_2, Fq) ## + v>0 && println("Polar variety") + K2Fqmins = computepolar(e+2, V, v=max(v-1,0), only_mins=true) + K2Fq = vcat(V.gens, K2Fqmins) |> Ideal + if checks + @assert(fbr(K2Fq, q) |> dimension == 1, "Non-generic polar variety") + else + K2Fq.dim = e + 1 + end + push!(RM, (K2Fqmins, q)) + + ## Points with vertical tg in K(pi_2, Fq) ## + v>0 && println("W-critical points with vertical tangent") + K1WmFq = computepolar(e+2, K2Fq, dimproj=e, v=max(v-1,0)) |> Ideal + K1WmFq = real_solutions(fbr(K1WmFq,q), info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) + + ## New base and query points ## + Cq = isempty(q) ? C : [ c for c in C if c[e] == q[e]] + K1W = vcat(K1Fq, K1WmFq) + # Heuristic to be proven (Reeb's th) + #K1W = K1W[2:end-1] + ########## + K1WRat = MidRationalPoints(getindex.(K1W,e+1), unique(getindex.(Cq, e+1))) + newQ = vcat.(Ref(q), K1WRat) + + # Recursively compute roadmap of possible fibers + if !isempty(newQ) + for newq in newQ + RMFq = roadmap(V, q=newq, C=Cq) append!(RM, RMFq) end end @@ -91,6 +87,8 @@ function roadmap( return RM end + + function roadmap( V::Ideal{P}, # input ideal C::Ideal{P}; # ideal defining query points @@ -102,9 +100,15 @@ function roadmap( return roadmap(V, C=CQ, v=v, checks=checks) end + +function fbr(F::Vector{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) + @assert(!isempty(F), "Empty polynomial vector") + vars = gens(parent(first(F))) + return Ideal(vcat(F, [vars[i] - Q[i] for i in 1:min(length(vars),length(Q))])) +end + function fbr(I::Ideal{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) - vars = gens(parent(I)) - return Ideal(vcat(I.gens, [vars[i] - Q[i] for i in 1:min(length(vars),length(Q))])) + return fbr(I.gens, Q) end #= From 4366ed4326d2e67474a911eac96c7ba8507d7e7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Thu, 24 Apr 2025 20:52:15 +0200 Subject: [PATCH 111/180] start Roadmap structure --- Project.toml | 1 + src/connectivity/computeRM.jl | 66 ++++++++++++++++++++++++++++++----- src/types.jl | 4 ++- 3 files changed, 61 insertions(+), 10 deletions(-) diff --git a/Project.toml b/Project.toml index e01efb9..e8efddd 100644 --- a/Project.toml +++ b/Project.toml @@ -4,6 +4,7 @@ authors = ["ederc ", "Mohab Safey El Din 0 && println("W-critical points with vertical tangent") @@ -80,15 +78,17 @@ function roadmap( if !isempty(newQ) for newq in newQ RMFq = roadmap(V, q=newq, C=Cq) - append!(RM, RMFq) + push!(RM.children, RMFq) end end - return RM + if e == 0 + return Roadmap(V, RM) + else + return RM + end end - - function roadmap( V::Ideal{P}, # input ideal C::Ideal{P}; # ideal defining query points @@ -111,6 +111,54 @@ function fbr(I::Ideal{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) return fbr(I.gens, Q) end +mutable struct RMnode + polar_eqs::Vector{QQMPolyRingElem} + base_pt::Vector{QQFieldElem} + children::Vector{RMnode} +end + +mutable struct Roadmap + initial_ideal::Ideal{QQMPolyRingElem} + root::RMnode +end + +function all_eqs(RM::Roadmap) + function all_eqs_rec(RMn::RMnode) + eqs = [fbr(vcat(RM.initial_ideal.gens, RMn.polar_eqs), RMn.base_pt)] + for child in RMn.children + append!(eqs, all_eqs_rec(child)) + end + return eqs + end + return all_eqs_rec(RM.root) +end + +function all_base_pts(RM::Roadmap) + function all_base_pts_rec(RMn::RMnode) + eqs = [RMn.base_pt] + for child in RMn.children + append!(eqs, all_base_pts_rec(child)) + end + return eqs + end + return all_base_pts_rec(RM.root) +end + +function nb_nodes(RM::Roadmap) + function nb_nodes_rec(RMn::RMnode) + nb = 1 + for child in RMn.children + nb += nb_nodes_rec(child) + end + return nb + end + return nb_nodes_rec(RM.root) +end + +Base.show(io::IO, RM::Roadmap) = print(io, all_base_pts(RM)) +Base.getindex(RM::Roadmap, idx::Union{Int, UnitRange}) = all_eqs(RM)[idx] +Base.lastindex(RM::Roadmap) = nb_nodes(RM) + #= ## Test ## R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) diff --git a/src/types.jl b/src/types.jl index a041ef9..381dc63 100644 --- a/src/types.jl +++ b/src/types.jl @@ -75,4 +75,6 @@ Base.parent(I::Ideal) = Nemo.parent(I.gens[1]) Base.show(io::IO, I::Ideal) = print(io, I.gens) -Base.getindex(I::Ideal, idx::Int) = I.gens[idx] +Base.getindex(I::Ideal, idx::Union{Int, UnitRange}) = I.gens[idx] + +Base.lastindex(I::Ideal) = lastindex(I.gens) From 4a9f502e31cd21f8c2f300065e476f1baa9bef70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Mon, 28 Apr 2025 14:46:39 +0200 Subject: [PATCH 112/180] remove abstract trees --- Project.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Project.toml b/Project.toml index e8efddd..e01efb9 100644 --- a/Project.toml +++ b/Project.toml @@ -4,7 +4,6 @@ authors = ["ederc ", "Mohab Safey El Din Date: Sat, 28 Jun 2025 23:09:59 +0200 Subject: [PATCH 113/180] maj dim nothing --- src/connectivity/computeRM.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 67192fa..8c63ea4 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -21,7 +21,7 @@ function roadmap( return [V.gens] end # Some preprocessing - V.dim == -1 && dimension(V) + isnothing(V.dim) && dimension(V) # Base points e = length(q) From ee70bc5009b7670287ec91c01e9ff384176f8f0d Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 13 Oct 2025 10:22:54 +0200 Subject: [PATCH 114/180] move RM struct to types.jl + improve internal functions --- src/connectivity/computeRM.jl | 50 +---------------------------------- src/types.jl | 37 ++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 49 deletions(-) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 8c63ea4..358012f 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,7 +4,7 @@ #using AlgebraicSolving #using Nemo -export roadmap, computepolar, MidRationalPoints, fbr, all_eqs, all_base_pts +export roadmap, computepolar, MidRationalPoints, fbr, all_eqs, all_base_pts, nb_nodes include("Cannytools.jl") function roadmap( @@ -111,54 +111,6 @@ function fbr(I::Ideal{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) return fbr(I.gens, Q) end -mutable struct RMnode - polar_eqs::Vector{QQMPolyRingElem} - base_pt::Vector{QQFieldElem} - children::Vector{RMnode} -end - -mutable struct Roadmap - initial_ideal::Ideal{QQMPolyRingElem} - root::RMnode -end - -function all_eqs(RM::Roadmap) - function all_eqs_rec(RMn::RMnode) - eqs = [fbr(vcat(RM.initial_ideal.gens, RMn.polar_eqs), RMn.base_pt)] - for child in RMn.children - append!(eqs, all_eqs_rec(child)) - end - return eqs - end - return all_eqs_rec(RM.root) -end - -function all_base_pts(RM::Roadmap) - function all_base_pts_rec(RMn::RMnode) - eqs = [RMn.base_pt] - for child in RMn.children - append!(eqs, all_base_pts_rec(child)) - end - return eqs - end - return all_base_pts_rec(RM.root) -end - -function nb_nodes(RM::Roadmap) - function nb_nodes_rec(RMn::RMnode) - nb = 1 - for child in RMn.children - nb += nb_nodes_rec(child) - end - return nb - end - return nb_nodes_rec(RM.root) -end - -Base.show(io::IO, RM::Roadmap) = print(io, all_base_pts(RM)) -Base.getindex(RM::Roadmap, idx::Union{Int, UnitRange}) = all_eqs(RM)[idx] -Base.lastindex(RM::Roadmap) = nb_nodes(RM) - #= ## Test ## R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) diff --git a/src/types.jl b/src/types.jl index e51750e..6ef5453 100644 --- a/src/types.jl +++ b/src/types.jl @@ -77,3 +77,40 @@ Base.show(io::IO, I::Ideal) = print(io, I.gens) Base.getindex(I::Ideal, idx::Union{Int, UnitRange}) = I.gens[idx] Base.lastindex(I::Ideal) = lastindex(I.gens) + +mutable struct RMnode + polar_eqs::Vector{QQMPolyRingElem} + base_pt::Vector{QQFieldElem} + children::Vector{RMnode} +end + +mutable struct Roadmap + initial_ideal::Ideal{QQMPolyRingElem} + root::RMnode +end + +function _collect_roadmap(RMn::RMnode, F) + data = [F(RMn)] + for child in RMn.children + append!(data, _collect_roadmap(child, F)) + end + return data +end + +function all_eqs(RM::Roadmap) + func(s) = fbr(vcat(RM.initial_ideal.gens, s.polar_eqs), s.base_pt) + return _collect_roadmap(RM.root, func) +end + +function all_base_pts(RM::Roadmap) + return _collect_roadmap(RM.root, s->s.base_pt) +end + +function nb_nodes(RM::Roadmap) + return length(_collect_roadmap(RM.root, s -> true)) +end + +Base.show(io::IO, RM::Roadmap) = print(io, all_base_pts(RM)) +Base.getindex(RM::Roadmap, idx::Union{Int, UnitRange}) = all_eqs(RM)[idx] +Base.lastindex(RM::Roadmap) = nb_nodes(RM) +Base.length(RM::Roadmap) = nb_nodes(RM) \ No newline at end of file From 4a9393611e4584ed9f20ba2510dcb42240d189dc Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Wed, 15 Oct 2025 00:13:01 +0200 Subject: [PATCH 115/180] start doc + some renamings --- src/connectivity/Cannytools.jl | 7 ++- src/connectivity/computeRM.jl | 112 ++++++++++++++++++++++++--------- 2 files changed, 85 insertions(+), 34 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 456a324..2327ff1 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -4,16 +4,16 @@ function computepolar( V::Ideal{P}; # input ideal phi::Vector{P} = P[], # polynomial map in consideration (completed by sufficiently many projections) dimproj = j-1, # maximum dimension of tangent space of phi - v=0, # verbosity level only_mins = false # return only minors without eqns of V ) where (P <: MPolyRingElem) - V.dim == -1 && dimension(V) + isnothing(V.dim) && dimension(V) R = parent(V) n = nvars(R) c = n - V.dim nphi = length(phi) - JW = transpose([ derivative(f, k) for k=max(j+1-nphi,0):n, f in vcat(V.gens, phi[1:min(j,nphi)])]) + psi = vcat(phi, V.gens[nphi+1:end]) + JW = transpose([ derivative(f, k) for k=max(j+1-nphi,0):n, f in psi]) sizeminors = c + min(nphi,j) + min(dimproj,j-1) - (j-1) minors = compute_minors(sizeminors, JW, R) @@ -24,6 +24,7 @@ function computepolar( end end + function compute_minors(p, A, R) #Computes the p-minors of a matrix A n, m = size(A) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 358012f..3719727 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,55 +4,105 @@ #using AlgebraicSolving #using Nemo -export roadmap, computepolar, MidRationalPoints, fbr, all_eqs, all_base_pts, nb_nodes +export roadmap, computepolar, MidRationalPoints, fbr, all_eqs, all_base_pts, nb_nodes, compute_minors, compute_minors_bis include("Cannytools.jl") +@doc Markdown.doc""" + roadmap(I::Ideal{T} where T <: MPolyRingElem, ) + +Given a **radical** ideal `I` with solution set X, that is smooth and +whose real trace XR is bounded, return a roadmap of XR + +The output is given as a Roadmap structure, encoding the recursive structure +of roadmaps. It is encoded as a chained list, whose root is containing the equations defining X +and each node representing a curve component, that is defined by additional polar equation and base point< +Moreover it is linked to fibers, that share the same base point. + +# Arguments +- `I::Ideal{T} where T <: QQMPolyRingElem`: input generators. +- `q::Vector{QQFieldElem}=QQFieldElem[]`: single base point with rational coefficients +- `C::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[]`: query points with rational coefficients +- `info_level::Int=0`: verbosity level +- `checks::Bool=false`: whether perform checks (dimension, regularity, etc.) +- 'generic_change=false": whether it performs a prior random linear change of variables (TODO) +) + +# Examples +```jldoctest +julia> using AlgebraicSolving + +julia> R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) +(Multivariate polynomial ring in 3 variables over QQ, QQMPolyRingElem[x1, x2, x3, x4]) + +julia> I = Ideal([x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2)]) +QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64] + +julia> RM = roadmap(I) +Vector{QQFieldElem}[[], [-3], [-3, -2], [-1], [-1, -2], [-1, -1], [-1, 2], [3], [3, 2]] + +julia> nb_nodes(RM) +9 + +julia> all_eqs(RM) +9-element Vector{Ideal{QQMPolyRingElem}}: + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, 4*x1^2*x3 + 4*x2^2*x3 + 4*x3^3 + 4*x3*x4^2 - 40*x3, 4*x1^2*x4 + 4*x2^2*x4 + 4*x3^2*x4 + 4*x4^3 + 32*x4] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, 4*x1^2*x4 + 4*x2^2*x4 + 4*x3^2*x4 + 4*x4^3 + 32*x4, x1 + 3] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 + 3, x2 + 2] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, 4*x1^2*x4 + 4*x2^2*x4 + 4*x3^2*x4 + 4*x4^3 + 32*x4, x1 + 1] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 + 1, x2 + 2] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 + 1, x2 + 1] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 + 1, x2 - 2] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, 4*x1^2*x4 + 4*x2^2*x4 + 4*x3^2*x4 + 4*x4^3 + 32*x4, x1 - 3] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 - 3, x2 - 2] + +julia> roadmap(V, generic_change=true) +..... +``` +""" function roadmap( - V::Ideal{T} where T <: QQMPolyRingElem; # input ideal + I::Ideal{T} where T <: QQMPolyRingElem; # input ideal q::Vector{QQFieldElem}=QQFieldElem[], # single base point with rational coefficients C::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # query points with rational coefficients - v::Int=0, # verbosity level + info_level::Int=0, # verbosity level checks::Bool=false # perform checks (dimension, regularity, etc.) ) # Some base cases - A = parent(V) - varias = gens(A) - if length(varias)<=2 - return [V.gens] + if nvars(parent(I))<=2 + return [I.gens] end # Some preprocessing - isnothing(V.dim) && dimension(V) + isnothing(I.dim) && dimension(I) # Base points e = length(q) ## Fq ## # Genericity assumption (can be checked) if checks - @assert(dimension(fbr(V,q)) == V.dim - e, "Non-generic coordinates") + @assert(dimension(fbr(I,q)) == I.dim - e, "Non-generic coordinates") end # Terminal case (dim <=1) - if V.dim - e <= 1 + if I.dim - e <= 1 return RMnode([], q, RMnode[]) end ## sing(Fq) ## if checks - v>0 && println("Check real quasi-smoothness") - singFq = computepolar(e, V, v=max(v-1,0)) |> Ideal - @assert(isempty(real_solutions(fbr(singFq, q), info_level=max(v-1,0), nr_thrds=Threads.nthreads())), + info_level>0 && println("Check real quasi-smoothness") + singFq = computepolar(e, I) |> Ideal + @assert(isempty(real_solutions(fbr(singFq, q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads())), "Non-empty real sing locus!") end ## K(pi_1,Fq) ## - v>0 && println("V-critical points") - K1Fq = computepolar(e+1, V, v=max(v-1,0)) |> Ideal - K1Fq = real_solutions(fbr(K1Fq,q), info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) + info_level>0 && println("I-critical points") + K1Fq = computepolar(e+1, I) |> Ideal + K1Fq = real_solutions(fbr(K1Fq,q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads(), interval=true) ## K(pi_2, Fq) ## - v>0 && println("Polar variety") - K2Fqmins = computepolar(e+2, V, v=max(v-1,0), only_mins=true) - K2Fq = vcat(V.gens, K2Fqmins) |> Ideal + info_level>0 && println("Polar variety") + K2Fqmins = computepolar(e+2, I, only_mins=true) + K2Fq = vcat(I.gens, K2Fqmins) |> Ideal if checks @assert(fbr(K2Fq, q) |> dimension == 1, "Non-generic polar variety") else @@ -61,9 +111,9 @@ function roadmap( RM = RMnode(K2Fqmins, q, RMnode[]) ## Points with vertical tg in K(pi_2, Fq) ## - v>0 && println("W-critical points with vertical tangent") - K1WmFq = computepolar(e+2, K2Fq, dimproj=e, v=max(v-1,0)) |> Ideal - K1WmFq = real_solutions(fbr(K1WmFq,q), info_level=max(v-1,0), nr_thrds=Threads.nthreads(), interval=true) + info_level>0 && println("W-critical points with vertical tangent") + K1WmFq = computepolar(e+2, K2Fq, dimproj=e) |> Ideal + K1WmFq = real_solutions(fbr(K1WmFq,q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads(), interval=true) ## New base and query points ## Cq = isempty(q) ? C : [ c for c in C if c[e] == q[e]] @@ -77,27 +127,27 @@ function roadmap( # Recursively compute roadmap of possible fibers if !isempty(newQ) for newq in newQ - RMFq = roadmap(V, q=newq, C=Cq) + RMFq = roadmap(I, q=newq, C=Cq) push!(RM.children, RMFq) end end if e == 0 - return Roadmap(V, RM) + return Roadmap(I, RM) else return RM end end function roadmap( - V::Ideal{P}, # input ideal + I::Ideal{P}, # input ideal C::Ideal{P}; # ideal defining query points - v::Int=0, # verbosity level + info_level::Int=0, # verbosity level checks::Bool=false # perform checks (dimension, regularity, etc.) ) where (P <: QQMPolyRingElem) - @assert(parent(V)==parent(C), "Equations for variety and query points must live the same ring") - CQ = real_solutions(C, info_level=max(v-1,0), nr_thrds=Threads.nthreads()) - return roadmap(V, C=CQ, v=v, checks=checks) + @assert(parent(I)==parent(C), "Equations for variety and query points must live the same ring") + CQ = real_solutions(C, info_level=max(info_level-1,0), nr_thrds=Threads.nthreads()) + return roadmap(I, C=CQ, info_level=info_level, checks=checks) end @@ -117,9 +167,9 @@ R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) #h = x1^2+x2^2+x3^2+x4^2-1 h = (x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2) h = evaluate(h,[x1,x2,x3],[x1+rand(-10:10)*x2+rand(-10:10)*x3+rand(-10:10)*x4,x2+rand(-10:10)*x3+rand(-10:10)*x4,x3+rand(-10:10)*x4]) -V = Ideal([h]) +I = Ideal([h]) -carte = (computeRM(V, 3, [Vector{QQFieldElem}(undef,0)])) +carte = (computeRM(I, 3, [Vector{QQFieldElem}(undef,0)])) #println(carte) =# From da73da700be98c4fad8f0fbe48d4eb6ff2083fe6 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Wed, 15 Oct 2025 19:44:56 +0200 Subject: [PATCH 116/180] add index list for compute polar --- src/connectivity/Cannytools.jl | 35 ++++++++++++++++++++++------------ src/connectivity/computeRM.jl | 10 +++++----- 2 files changed, 28 insertions(+), 17 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 2327ff1..8969f00 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -1,20 +1,32 @@ -# Compute the set of points x where phi_j(T_x(V)) has dimension < dimproj +# Compute the set of points x where, if psi in the map whose elts are the ones in [phi_1,..,phi_p, x_{p+1},...x_n] indexed in J, +# then psi(T_x(V)) has dimension < dimproj function computepolar( - j::Int, # j-th first coordinate images of phi - V::Ideal{P}; # input ideal - phi::Vector{P} = P[], # polynomial map in consideration (completed by sufficiently many projections) - dimproj = j-1, # maximum dimension of tangent space of phi - only_mins = false # return only minors without eqns of V + J::Union{Vector{Int},UnitRange{Int}}, # coordinate images of [phi,proj] (as above) + V::Ideal{P}; # input ideal + phi::Vector{P} = P[], # polynomial map in consideration (completed by sufficiently many projections) + dimproj = length(J)-1, # maximum dimension of tangent space of phi + only_mins = false # return only minors without eqns of V ) where (P <: MPolyRingElem) - isnothing(V.dim) && dimension(V) + R = parent(V) n = nvars(R) - c = n - V.dim nphi = length(phi) + @assert all([1<=j<=n for j in J]) - psi = vcat(phi, V.gens[nphi+1:end]) - JW = transpose([ derivative(f, k) for k=max(j+1-nphi,0):n, f in psi]) - sizeminors = c + min(nphi,j) + min(dimproj,j-1) - (j-1) + isnothing(V.dim) && dimension(V) + c = n - V.dim + + ## Is it correct AND useful? + sort!(J) + ## + Jphi = [ j for j in J if j <= nphi ] + Jproj = setdiff(J, Jphi) + + # Construct the truncated Jacobian matrix + psi = vcat(V.gens, phi[Jphi]) + JW = transpose([ derivative(f, k) for k in setdiff(1:n, Jproj), f in psi]) + # Compute the minors + sizeminors = c + length(Jphi) + min(dimproj, length(J)-1) - (length(J)-1) minors = compute_minors(sizeminors, JW, R) if only_mins @@ -24,7 +36,6 @@ function computepolar( end end - function compute_minors(p, A, R) #Computes the p-minors of a matrix A n, m = size(A) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 3719727..08ca373 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,7 +4,7 @@ #using AlgebraicSolving #using Nemo -export roadmap, computepolar, MidRationalPoints, fbr, all_eqs, all_base_pts, nb_nodes, compute_minors, compute_minors_bis +export roadmap, computepolar, MidRationalPoints, fbr, all_eqs, all_base_pts, nb_nodes, compute_minors, compute_minors_bis, computepolarL include("Cannytools.jl") @doc Markdown.doc""" @@ -89,19 +89,19 @@ function roadmap( ## sing(Fq) ## if checks info_level>0 && println("Check real quasi-smoothness") - singFq = computepolar(e, I) |> Ideal + singFq = computepolar(1:e, I) |> Ideal @assert(isempty(real_solutions(fbr(singFq, q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads())), "Non-empty real sing locus!") end ## K(pi_1,Fq) ## info_level>0 && println("I-critical points") - K1Fq = computepolar(e+1, I) |> Ideal + K1Fq = computepolar(1:e+1, I) |> Ideal K1Fq = real_solutions(fbr(K1Fq,q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads(), interval=true) ## K(pi_2, Fq) ## info_level>0 && println("Polar variety") - K2Fqmins = computepolar(e+2, I, only_mins=true) + K2Fqmins = computepolar(1:e+2, I, only_mins=true) K2Fq = vcat(I.gens, K2Fqmins) |> Ideal if checks @assert(fbr(K2Fq, q) |> dimension == 1, "Non-generic polar variety") @@ -112,7 +112,7 @@ function roadmap( ## Points with vertical tg in K(pi_2, Fq) ## info_level>0 && println("W-critical points with vertical tangent") - K1WmFq = computepolar(e+2, K2Fq, dimproj=e) |> Ideal + K1WmFq = computepolar(1:e+2, K2Fq, dimproj=e) |> Ideal K1WmFq = real_solutions(fbr(K1WmFq,q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads(), interval=true) ## New base and query points ## From 7e67eeb7a8882eb858ee0f357af407406660a901 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Wed, 15 Oct 2025 23:01:04 +0200 Subject: [PATCH 117/180] doc --- src/connectivity/Cannytools.jl | 62 ++++++++++++++++++++++++++++++++-- src/connectivity/computeRM.jl | 3 -- 2 files changed, 60 insertions(+), 5 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 8969f00..8ceb3ce 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -1,5 +1,63 @@ -# Compute the set of points x where, if psi in the map whose elts are the ones in [phi_1,..,phi_p, x_{p+1},...x_n] indexed in J, -# then psi(T_x(V)) has dimension < dimproj +@doc Markdown.doc""" + computepolar( + J::Union{Vector{Int},UnitRange{Int}}, + V::Ideal{P}; + phi::Vector{P}=P[], + dimproj::Int=length(J)-1, + only_mins::Bool=false + ) where {P <: MPolyRingElem} + +Compute the **polar variety** associated with the map whose components are +`[phi_1, …, phi_p, x_{p+1}, …, x_n]` indexed by `J`, for an algebraic variety defined +by the ideal `V`. + +More precisely, this function computes the set of points `x` in `V` such that, +if `psi` denotes the above map, then the image of the tangent space `Tₓ(V)` under +the differential `psi` has dimension strictly less than `dimproj`. + +This is a key geometric construction in the computation of polar varieties, +used in the roadmap algorithm and critical point methods. + +# Arguments +- `J::Union{Vector{Int},UnitRange{Int}}`: + Indices of the selected coordinate functions +- `V::Ideal{P} where P <: MPolyRingElem`: + Input ideal defining the variety V on which critical loci is computed +- `phi::Vector{P}=P[]`: + Polynomial map possibly completed by projection coordinates to have a map of total length `n`. +- `dimproj::Int=length(J)-1`: + Expected maximal dimension of the image of the tangent space. + Typically equals the number of projection coordinates minus one. +- `only_mins::Bool=false`: + If `true`, only the computed minors of the Jacobian are returned; + otherwise, the output includes both the generators of `V` and those minors. + +# Returns +- If `only_mins=false` (default): + A `Vector{P}` containing the union of the generators of `V` and the computed minors. + This defines the ideal of the polar variety. +- If `only_mins=true`: + A `Vector{P}` containing only the minors (without the original equations of `V`). + +# Example +```jldoctest +julia> using AlgebraicSolving + +julia> R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) +(Multivariate polynomial ring in 4 variables over QQ, QQMPolyRingElem[x1, x2, x3, x4]) + +julia> I = Ideal([(x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2)]) +QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64] + +julia> computepolar(1:3, I, dimproj=1, phi=[x1^2+x2^2+x3^2+x4^2]) +5-element Vector{QQMPolyRingElem}: + x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64 + 4*x1^3 + 4*x1*x2^2 + 4*x1*x3^2 + 4*x1*x4^2 - 40*x1 + 4*x1^2*x4 + 4*x2^2*x4 + 4*x3^2*x4 + 4*x4^3 + 32*x4 + 2*x1 + 2*x4 +``` +""" function computepolar( J::Union{Vector{Int},UnitRange{Int}}, # coordinate images of [phi,proj] (as above) V::Ideal{P}; # input ideal diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 08ca373..c33b907 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -54,9 +54,6 @@ julia> all_eqs(RM) QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 + 1, x2 - 2] QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, 4*x1^2*x4 + 4*x2^2*x4 + 4*x3^2*x4 + 4*x4^3 + 32*x4, x1 - 3] QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 - 3, x2 - 2] - -julia> roadmap(V, generic_change=true) -..... ``` """ function roadmap( From bafd3ce2264f083dad43ab213d8c66afd13b6e45 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sat, 18 Oct 2025 13:33:37 +0200 Subject: [PATCH 118/180] improve genericity checks + choice for determinant function (after some tests) --- src/connectivity/Cannytools.jl | 25 +++++++-- src/connectivity/computeRM.jl | 93 ++++++++++++++++++++++------------ 2 files changed, 83 insertions(+), 35 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index 8ceb3ce..a730125 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -82,7 +82,7 @@ function computepolar( # Construct the truncated Jacobian matrix psi = vcat(V.gens, phi[Jphi]) - JW = transpose([ derivative(f, k) for k in setdiff(1:n, Jproj), f in psi]) + JW = matrix(R, QQMPolyRingElem[ derivative(f, k) for f in psi, k in setdiff(1:n, Jproj)]) # Compute the minors sizeminors = c + length(Jphi) + min(dimproj, length(J)-1) - (length(J)-1) minors = compute_minors(sizeminors, JW, R) @@ -101,9 +101,24 @@ function compute_minors(p, A, R) colsmins = collect(combinations(1:m, p)) mins = Vector{eltype(A)}(undef, length(rowsmins) * length(colsmins)) k = 1 + # for performance tweaks, check if there are non-linear polynomials or if all are linear or constant + degmax = 0 + for a in A + degmax = min(2, max(degmax, total_degree(a))) + if degmax > 1 + break + end + end + # TODO: use algos from FLINT (in particular berkowitz) + # Naive function performs better for high degree or small matrices + if (degmax == 0 && p <= 2) || (degmax == 1 && p <= 6) || (degmax == 2) + detfct = s->detmpoly(s, R) + else # else use fraction-free LU from AbstractAlgebra.jl + detfct = det + end for rowsmin in rowsmins for colsmin in colsmins - mins[k] = detmpoly(A[rowsmin, colsmin], R) + mins[k] = detfct(A[rowsmin, colsmin]) k += 1 end end @@ -129,7 +144,7 @@ function combinations(a, n) return _combinations(a, n, 1, Vector{Int}([])) end -function detmpoly(A::Matrix{T} where T<:MPolyRingElem, R) +function detmpoly(A, R) # Get the size of the matrix n = size(A, 1) if n != size(A, 2) @@ -140,6 +155,10 @@ function detmpoly(A::Matrix{T} where T<:MPolyRingElem, R) return A[1, 1] end + if n == 2 + return A[1, 1] * A[2, 2] - A[1,2] * A[2, 1] + end + # Initialize the determinant polynomial detA = zero(R) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index c33b907..3278497 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,7 +4,7 @@ #using AlgebraicSolving #using Nemo -export roadmap, computepolar, MidRationalPoints, fbr, all_eqs, all_base_pts, nb_nodes, compute_minors, compute_minors_bis, computepolarL +export roadmap, computepolar, MidRationalPoints, fbr, all_eqs, all_base_pts, nb_nodes, compute_minors, compute_minors_bis, computepolarL, detmpoly include("Cannytools.jl") @doc Markdown.doc""" @@ -67,15 +67,23 @@ function roadmap( if nvars(parent(I))<=2 return [I.gens] end - # Some preprocessing - isnothing(I.dim) && dimension(I) - # Base points + + # Some preprocessng + if isnothing(I.dim) + lucky_prime = _generate_lucky_primes(I.gens, one(ZZ)<<30, one(ZZ)<<31-1, 1) |> first + local INEW = Ideal(change_base_ring.(Ref(GF(lucky_prime)), I.gens)) + dimension(INEW) + I.dim = INEW.dim + end e = length(q) ## Fq ## # Genericity assumption (can be checked) if checks - @assert(dimension(fbr(I,q)) == I.dim - e, "Non-generic coordinates") + local Fnew = fbr(I,q).gens + new_lucky_prime = _generate_lucky_primes(Fnew, one(ZZ)<<30, one(ZZ)<<31-1, 1) |> first + local INEW = Ideal(change_base_ring.(Ref(GF(new_lucky_prime)), Fnew)) + @assert(dimension(INEW) == I.dim - e, "Non-generic coordinates") end # Terminal case (dim <=1) @@ -85,30 +93,34 @@ function roadmap( ## sing(Fq) ## if checks - info_level>0 && println("Check real quasi-smoothness") - singFq = computepolar(1:e, I) |> Ideal - @assert(isempty(real_solutions(fbr(singFq, q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads())), - "Non-empty real sing locus!") + info_level>0 && println("Check smoothness") + local FNEW = fbr(computepolar(1:e, I)|> Ideal, q).gens + new_lucky_prime = _generate_lucky_primes(FNEW, one(ZZ)<<30, one(ZZ)<<31-1, 1) |> first + local INEW = Ideal(change_base_ring.(Ref(GF(new_lucky_prime)), FNEW)) + @assert(dimension(INEW) == -1, "Non-empty sing locus!") end ## K(pi_1,Fq) ## - info_level>0 && println("I-critical points") + info_level>0 && println("Compute x1-critical points: K1") K1Fq = computepolar(1:e+1, I) |> Ideal K1Fq = real_solutions(fbr(K1Fq,q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads(), interval=true) ## K(pi_2, Fq) ## - info_level>0 && println("Polar variety") + info_level>0 && println("Compute (x1,x2)-polar variety: W") K2Fqmins = computepolar(1:e+2, I, only_mins=true) K2Fq = vcat(I.gens, K2Fqmins) |> Ideal if checks - @assert(fbr(K2Fq, q) |> dimension == 1, "Non-generic polar variety") + local FNEW = fbr(K2Fq, q).gens + new_lucky_prime = _generate_lucky_primes(FNEW, one(ZZ)<<30, one(ZZ)<<31-1, 1) |> first + local INEW = Ideal(change_base_ring.(Ref(GF(new_lucky_prime)), FNEW)) + @assert(dimension(INEW) == 1, "Non-generic polar variety") else K2Fq.dim = e + 1 end RM = RMnode(K2Fqmins, q, RMnode[]) ## Points with vertical tg in K(pi_2, Fq) ## - info_level>0 && println("W-critical points with vertical tangent") + info_level>0 && println("Compute W-critical points with vertical tangent: K1W") K1WmFq = computepolar(1:e+2, K2Fq, dimproj=e) |> Ideal K1WmFq = real_solutions(fbr(K1WmFq,q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads(), interval=true) @@ -148,26 +160,43 @@ function roadmap( end -function fbr(F::Vector{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) - @assert(!isempty(F), "Empty polynomial vector") - vars = gens(parent(first(F))) - return Ideal(vcat(F, [vars[i] - Q[i] for i in 1:min(length(vars),length(Q))])) -end - function fbr(I::Ideal{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) - return fbr(I.gens, Q) + @assert(!isempty(I.gens), "Empty polynomial vector") + vars = gens(parent(first(I.gens))) + return Ideal(vcat(I.gens, [vars[i] - Q[i] for i in 1:min(length(vars),length(Q))])) end -#= -## Test ## -R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) -#h = x1^2+x2^2+x3^2+x4^2-1 -h = (x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2) -h = evaluate(h,[x1,x2,x3],[x1+rand(-10:10)*x2+rand(-10:10)*x3+rand(-10:10)*x4,x2+rand(-10:10)*x3+rand(-10:10)*x4,x3+rand(-10:10)*x4]) -I = Ideal([h]) - -carte = (computeRM(I, 3, [Vector{QQFieldElem}(undef,0)])) -#println(carte) -=# - +# Generate N primes > start that do not divide any numerator/denominator +# of any coefficient in polynomials from LP +function _generate_lucky_primes( + LF::Vector{P} where P<:MPolyRingElem, + low::ZZRingElem, + up::ZZRingElem, + N::Int64 + ) + # Avoid repetitive enumeration and redundant divisibility check + CF = ZZRingElem[] + for f in LF, c in coefficients(f), part in (numerator(c), denominator(c)) + if !isone(part) + push!(CF, part) + end + end + sort!(CF, rev=true) + unique!(CF) + + # Test primes + Lprim = ZZRingElem[] + while length(Lprim) < N + cur_prim = next_prime(rand(low:up)) + is_lucky = !(cur_prim in Lprim) + i = firstindex(CF) + # Exploit decreasing order of CF + while is_lucky && i <= lastindex(CF) && CF[i] > cur_prim + is_lucky = !is_divisible_by(CF[i], cur_prim) + i += 1 + end + is_lucky && push!(Lprim, cur_prim) + end + return Lprim +end From 8486af01bc22c44e50398a53d1ba2185357d70a5 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sat, 18 Oct 2025 13:39:57 +0200 Subject: [PATCH 119/180] internalize functions that must be --- src/connectivity/Cannytools.jl | 34 ++++++++--------- src/connectivity/computeRM.jl | 69 ++++++++++++++++++++++++++++++---- 2 files changed, 76 insertions(+), 27 deletions(-) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl index a730125..897925f 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/Cannytools.jl @@ -85,7 +85,7 @@ function computepolar( JW = matrix(R, QQMPolyRingElem[ derivative(f, k) for f in psi, k in setdiff(1:n, Jproj)]) # Compute the minors sizeminors = c + length(Jphi) + min(dimproj, length(J)-1) - (length(J)-1) - minors = compute_minors(sizeminors, JW, R) + minors = _compute_minors(sizeminors, JW, R) if only_mins return minors @@ -94,11 +94,11 @@ function computepolar( end end -function compute_minors(p, A, R) +function _compute_minors(p, A, R) #Computes the p-minors of a matrix A n, m = size(A) - rowsmins = collect(combinations(1:n, p)) - colsmins = collect(combinations(1:m, p)) + rowsmins = collect(_combinations(1:n, p, 1, Vector{Int}([]))) + colsmins = collect(_combinations(1:m, p, 1, Vector{Int}([]))) mins = Vector{eltype(A)}(undef, length(rowsmins) * length(colsmins)) k = 1 # for performance tweaks, check if there are non-linear polynomials or if all are linear or constant @@ -126,22 +126,18 @@ function compute_minors(p, A, R) return mins end -function combinations(a, n) - # Helper function to recursively generate combinations - function _combinations(a, n, start, chosen) - if length(chosen) == n - return [chosen] - elseif start > length(a) - return Vector{Int}([]) - else - # Include the current element and recurse - include_current = _combinations(a, n, start + 1, [chosen; a[start]]) - # Exclude the current element and recurse - exclude_current = _combinations(a, n, start + 1, chosen) - return vcat(include_current, exclude_current) - end +function _combinations(a, n, start, chosen) + if length(chosen) == n + return [chosen] + elseif start > length(a) + return Vector{Int}([]) + else + # Include the current element and recurse + include_current = _combinations(a, n, start + 1, [chosen; a[start]]) + # Exclude the current element and recurse + exclude_current = _combinations(a, n, start + 1, chosen) + return vcat(include_current, exclude_current) end - return _combinations(a, n, 1, Vector{Int}([])) end function detmpoly(A, R) diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl index 3278497..2031b36 100644 --- a/src/connectivity/computeRM.jl +++ b/src/connectivity/computeRM.jl @@ -4,7 +4,7 @@ #using AlgebraicSolving #using Nemo -export roadmap, computepolar, MidRationalPoints, fbr, all_eqs, all_base_pts, nb_nodes, compute_minors, compute_minors_bis, computepolarL, detmpoly +export roadmap, computepolar, _mid_rational_points, _fbr, all_eqs, all_base_pts, nb_nodes, compute_minors, compute_minors_bis, computepolarL, detmpoly include("Cannytools.jl") @doc Markdown.doc""" @@ -80,7 +80,7 @@ function roadmap( ## Fq ## # Genericity assumption (can be checked) if checks - local Fnew = fbr(I,q).gens + local Fnew = _fbr(I,q).gens new_lucky_prime = _generate_lucky_primes(Fnew, one(ZZ)<<30, one(ZZ)<<31-1, 1) |> first local INEW = Ideal(change_base_ring.(Ref(GF(new_lucky_prime)), Fnew)) @assert(dimension(INEW) == I.dim - e, "Non-generic coordinates") @@ -94,7 +94,7 @@ function roadmap( ## sing(Fq) ## if checks info_level>0 && println("Check smoothness") - local FNEW = fbr(computepolar(1:e, I)|> Ideal, q).gens + local FNEW = _fbr(computepolar(1:e, I)|> Ideal, q).gens new_lucky_prime = _generate_lucky_primes(FNEW, one(ZZ)<<30, one(ZZ)<<31-1, 1) |> first local INEW = Ideal(change_base_ring.(Ref(GF(new_lucky_prime)), FNEW)) @assert(dimension(INEW) == -1, "Non-empty sing locus!") @@ -103,14 +103,14 @@ function roadmap( ## K(pi_1,Fq) ## info_level>0 && println("Compute x1-critical points: K1") K1Fq = computepolar(1:e+1, I) |> Ideal - K1Fq = real_solutions(fbr(K1Fq,q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads(), interval=true) + K1Fq = real_solutions(_fbr(K1Fq,q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads(), interval=true) ## K(pi_2, Fq) ## info_level>0 && println("Compute (x1,x2)-polar variety: W") K2Fqmins = computepolar(1:e+2, I, only_mins=true) K2Fq = vcat(I.gens, K2Fqmins) |> Ideal if checks - local FNEW = fbr(K2Fq, q).gens + local FNEW = _fbr(K2Fq, q).gens new_lucky_prime = _generate_lucky_primes(FNEW, one(ZZ)<<30, one(ZZ)<<31-1, 1) |> first local INEW = Ideal(change_base_ring.(Ref(GF(new_lucky_prime)), FNEW)) @assert(dimension(INEW) == 1, "Non-generic polar variety") @@ -122,7 +122,7 @@ function roadmap( ## Points with vertical tg in K(pi_2, Fq) ## info_level>0 && println("Compute W-critical points with vertical tangent: K1W") K1WmFq = computepolar(1:e+2, K2Fq, dimproj=e) |> Ideal - K1WmFq = real_solutions(fbr(K1WmFq,q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads(), interval=true) + K1WmFq = real_solutions(_fbr(K1WmFq,q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads(), interval=true) ## New base and query points ## Cq = isempty(q) ? C : [ c for c in C if c[e] == q[e]] @@ -130,7 +130,7 @@ function roadmap( # Heuristic to be proven (Reeb's th) #K1W = K1W[2:end-1] ########## - K1WRat = MidRationalPoints(getindex.(K1W,e+1), unique(getindex.(Cq, e+1))) + K1WRat = _mid_rational_points(getindex.(K1W,e+1), unique(getindex.(Cq, e+1))) newQ = vcat.(Ref(q), K1WRat) # Recursively compute roadmap of possible fibers @@ -160,12 +160,65 @@ function roadmap( end -function fbr(I::Ideal{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) +function _fbr(I::Ideal{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) @assert(!isempty(I.gens), "Empty polynomial vector") vars = gens(parent(first(I.gens))) return Ideal(vcat(I.gens, [vars[i] - Q[i] for i in 1:min(length(vars),length(Q))])) end +function _mid_rational_points(S::Vector{Vector{T}}, Q::Vector{T} = T[]) where {T <: QQFieldElem} + # * S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] + # such that the [l_i, r_i] are rational and disjoint open intervals. + # * Q is a list of rationals that intersects no [l_i,r_i] + # + # It orders the [l_i,r_i], and compute a list ratioP such that + # strictly between each of these intervals there is: + # - either at least one element of Q + # - or the simplest rational number + isempty(S) && return Q + + S1, Q1 = sort(S, lt=(x, y) -> x[2] <= y[1]), sort(Q) + ratioP = T[] + qidx = 1 + qlen = length(Q1) + + # Handle left gap before first interval + while qidx <= qlen && Q1[qidx] < S1[1][1] + push!(ratioP, Q1[qidx]) + qidx += 1 + end + + # Loop through gaps between sorted disjoint intervals + for i in 1:(length(S1) - 1) + ri, li1 = S1[i][2], S1[i+1][1] + @assert ri < li1 "Intervals are not disjoint." + inserted = false + while qidx <= qlen && Q1[qidx] < li1 + @assert(Q1[qidx] > ri, "A query point is singular") + push!(ratioP, Q1[qidx]) + inserted = true + qidx += 1 + end + if !inserted + eps = (li1 - ri)//1000 # for open interval + # We choose the simplest in absolute value + if -ri > li1 # this means ri is negative and the largest in absolute value + push!(ratioP, -simplest_between(-ri - eps, -li1 + eps)) + else + push!(ratioP, simplest_between(ri + eps, li1 - eps)) + end + end + end + + # Append remaining right-side Q points + while qidx <= qlen + push!(ratioP, Q1[qidx]) + qidx += 1 + end + + return ratioP +end + # Generate N primes > start that do not divide any numerator/denominator # of any coefficient in polynomials from LP From 731b7d4ec4e5c5e157071a8f25c0dc7273004d01 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sat, 18 Oct 2025 13:42:05 +0200 Subject: [PATCH 120/180] rename files --- src/connectivity/{Cannytools.jl => polar.jl} | 57 +------------------ src/connectivity/{computeRM.jl => roadmap.jl} | 0 2 files changed, 3 insertions(+), 54 deletions(-) rename src/connectivity/{Cannytools.jl => polar.jl} (75%) rename src/connectivity/{computeRM.jl => roadmap.jl} (100%) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/polar.jl similarity index 75% rename from src/connectivity/Cannytools.jl rename to src/connectivity/polar.jl index 897925f..2937a22 100644 --- a/src/connectivity/Cannytools.jl +++ b/src/connectivity/polar.jl @@ -112,7 +112,7 @@ function _compute_minors(p, A, R) # TODO: use algos from FLINT (in particular berkowitz) # Naive function performs better for high degree or small matrices if (degmax == 0 && p <= 2) || (degmax == 1 && p <= 6) || (degmax == 2) - detfct = s->detmpoly(s, R) + detfct = s->_detmpoly(s, R) else # else use fraction-free LU from AbstractAlgebra.jl detfct = det end @@ -140,7 +140,7 @@ function _combinations(a, n, start, chosen) end end -function detmpoly(A, R) +function _detmpoly(A, R) # Get the size of the matrix n = size(A, 1) if n != size(A, 2) @@ -161,62 +161,11 @@ function detmpoly(A, R) # Compute the determinant polynomial for j = 1:n submatrix = A[2:end, [i for i = 1:n if i != j]] - detA += (-1)^(1+j)*A[1, j] * detmpoly(submatrix, R) + detA += (-1)^(1+j)*A[1, j] * _detmpoly(submatrix, R) end return detA end -function MidRationalPoints(S::Vector{Vector{T}}, Q::Vector{T} = T[]) where {T <: QQFieldElem} - # * S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] - # such that the [l_i, r_i] are rational and disjoint open intervals. - # * Q is a list of rationals that intersects no [l_i,r_i] - # - # It orders the [l_i,r_i], and compute a list ratioP such that - # strictly between each of these intervals there is: - # - either at least one element of Q - # - or the simplest rational number - isempty(S) && return Q - - S1, Q1 = sort(S, lt=(x, y) -> x[2] <= y[1]), sort(Q) - ratioP = T[] - qidx = 1 - qlen = length(Q1) - - # Handle left gap before first interval - while qidx <= qlen && Q1[qidx] < S1[1][1] - push!(ratioP, Q1[qidx]) - qidx += 1 - end - - # Loop through gaps between sorted disjoint intervals - for i in 1:(length(S1) - 1) - ri, li1 = S1[i][2], S1[i+1][1] - @assert ri < li1 "Intervals are not disjoint." - inserted = false - while qidx <= qlen && Q1[qidx] < li1 - @assert(Q1[qidx] > ri, "A query point is singular") - push!(ratioP, Q1[qidx]) - inserted = true - qidx += 1 - end - if !inserted - eps = (li1 - ri)//1000 # for open interval - # We choose the simplest in absolute value - if -ri > li1 # this means ri is negative and the largest in absolute value - push!(ratioP, -simplest_between(-ri - eps, -li1 + eps)) - else - push!(ratioP, simplest_between(ri + eps, li1 - eps)) - end - end - end - - # Append remaining right-side Q points - while qidx <= qlen - push!(ratioP, Q1[qidx]) - qidx += 1 - end - return ratioP -end diff --git a/src/connectivity/computeRM.jl b/src/connectivity/roadmap.jl similarity index 100% rename from src/connectivity/computeRM.jl rename to src/connectivity/roadmap.jl From 6dd94b8beb21ce95b847cceb21554c1df613d18c Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sat, 18 Oct 2025 14:11:57 +0200 Subject: [PATCH 121/180] change name of roadmap fct + remove code duplication --- src/AlgebraicSolving.jl | 2 +- src/connectivity/roadmap.jl | 76 ++++++++++++------------------------- 2 files changed, 26 insertions(+), 52 deletions(-) diff --git a/src/AlgebraicSolving.jl b/src/AlgebraicSolving.jl index 612d3b1..e3fa4ff 100644 --- a/src/AlgebraicSolving.jl +++ b/src/AlgebraicSolving.jl @@ -19,7 +19,7 @@ include("algorithms/hilbert.jl") #= siggb =# include("siggb/siggb.jl") #= connectivity =# -include("connectivity/computeRM.jl") +include("connectivity/roadmap.jl") #= examples =# include("examples/katsura.jl") include("examples/cyclic.jl") diff --git a/src/connectivity/roadmap.jl b/src/connectivity/roadmap.jl index 2031b36..98d2f94 100644 --- a/src/connectivity/roadmap.jl +++ b/src/connectivity/roadmap.jl @@ -5,7 +5,7 @@ #using Nemo export roadmap, computepolar, _mid_rational_points, _fbr, all_eqs, all_base_pts, nb_nodes, compute_minors, compute_minors_bis, computepolarL, detmpoly -include("Cannytools.jl") +include("polar.jl") @doc Markdown.doc""" roadmap(I::Ideal{T} where T <: MPolyRingElem, ) @@ -20,7 +20,6 @@ Moreover it is linked to fibers, that share the same base point. # Arguments - `I::Ideal{T} where T <: QQMPolyRingElem`: input generators. -- `q::Vector{QQFieldElem}=QQFieldElem[]`: single base point with rational coefficients - `C::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[]`: query points with rational coefficients - `info_level::Int=0`: verbosity level - `checks::Bool=false`: whether perform checks (dimension, regularity, etc.) @@ -57,11 +56,31 @@ julia> all_eqs(RM) ``` """ function roadmap( - I::Ideal{T} where T <: QQMPolyRingElem; # input ideal - q::Vector{QQFieldElem}=QQFieldElem[], # single base point with rational coefficients + I::Ideal{P}; # input ideal C::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # query points with rational coefficients - info_level::Int=0, # verbosity level + info_level::Int=0, # verbosity level checks::Bool=false # perform checks (dimension, regularity, etc.) +) where (P <: QQMPolyRingElem) + return _roadmap_rec(I, QQFieldElem[], C, info_level, checks) +end + +function roadmap( + I::Ideal{P}, # input ideal + C::Ideal{P}; # ideal defining query points + info_level::Int=0, # verbosity level + checks::Bool=false # perform checks (dimension, regularity, etc.) +) where (P <: QQMPolyRingElem) + @assert(parent(I)==parent(C), "Equations for variety and query points must live the same ring") + CI = real_solutions(C, info_level=max(info_level-1,0), nr_thrds=Threads.nthreads()) + return _roadmap_rec(I, QFieldElem[], CI, info_level, checks) +end + +function _roadmap_rec( + I::Ideal{T} where T <: QQMPolyRingElem, # input ideal + q::Vector{QQFieldElem}, # single base point with rational coefficients + C::Vector{Vector{QQFieldElem}}, # query points with rational coefficients + info_level::Int, # verbosity level + checks::Bool # perform checks (dimension, regularity, etc.) ) # Some base cases if nvars(parent(I))<=2 @@ -136,7 +155,7 @@ function roadmap( # Recursively compute roadmap of possible fibers if !isempty(newQ) for newq in newQ - RMFq = roadmap(I, q=newq, C=Cq) + RMFq = _roadmap_rec(I, newq, Cq, info_level, checks) push!(RM.children, RMFq) end end @@ -148,18 +167,6 @@ function roadmap( end end -function roadmap( - I::Ideal{P}, # input ideal - C::Ideal{P}; # ideal defining query points - info_level::Int=0, # verbosity level - checks::Bool=false # perform checks (dimension, regularity, etc.) -) where (P <: QQMPolyRingElem) - @assert(parent(I)==parent(C), "Equations for variety and query points must live the same ring") - CQ = real_solutions(C, info_level=max(info_level-1,0), nr_thrds=Threads.nthreads()) - return roadmap(I, C=CQ, info_level=info_level, checks=checks) -end - - function _fbr(I::Ideal{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) @assert(!isempty(I.gens), "Empty polynomial vector") vars = gens(parent(first(I.gens))) @@ -220,36 +227,3 @@ function _mid_rational_points(S::Vector{Vector{T}}, Q::Vector{T} = T[]) where {T end -# Generate N primes > start that do not divide any numerator/denominator -# of any coefficient in polynomials from LP -function _generate_lucky_primes( - LF::Vector{P} where P<:MPolyRingElem, - low::ZZRingElem, - up::ZZRingElem, - N::Int64 - ) - # Avoid repetitive enumeration and redundant divisibility check - CF = ZZRingElem[] - for f in LF, c in coefficients(f), part in (numerator(c), denominator(c)) - if !isone(part) - push!(CF, part) - end - end - sort!(CF, rev=true) - unique!(CF) - - # Test primes - Lprim = ZZRingElem[] - while length(Lprim) < N - cur_prim = next_prime(rand(low:up)) - is_lucky = !(cur_prim in Lprim) - i = firstindex(CF) - # Exploit decreasing order of CF - while is_lucky && i <= lastindex(CF) && CF[i] > cur_prim - is_lucky = !is_divisible_by(CF[i], cur_prim) - i += 1 - end - is_lucky && push!(Lprim, cur_prim) - end - return Lprim -end From d2646af9ca6cc882eba877a24ca28bda97bf8fd8 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Sat, 18 Oct 2025 15:01:44 +0200 Subject: [PATCH 122/180] new function for interval query points --- src/connectivity/roadmap.jl | 64 ++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/src/connectivity/roadmap.jl b/src/connectivity/roadmap.jl index 98d2f94..82d72f8 100644 --- a/src/connectivity/roadmap.jl +++ b/src/connectivity/roadmap.jl @@ -4,7 +4,7 @@ #using AlgebraicSolving #using Nemo -export roadmap, computepolar, _mid_rational_points, _fbr, all_eqs, all_base_pts, nb_nodes, compute_minors, compute_minors_bis, computepolarL, detmpoly +export roadmap, computepolar, _mid_rational_points, _mid_rational_points_inter, _fbr, all_eqs, all_base_pts, nb_nodes, compute_minors, compute_minors_bis, computepolarL, detmpoly include("polar.jl") @doc Markdown.doc""" @@ -226,4 +226,66 @@ function _mid_rational_points(S::Vector{Vector{T}}, Q::Vector{T} = T[]) where {T return ratioP end +function _mid_rational_points_inter(S::Vector{Vector{T}}, Q::Vector{Vector{T}} = Vector{T}[]) where {T <: QQFieldElem} + # * S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] + # such that the [l_i, r_i] are rational and disjoint open intervals. + # * Same assumptions on Q + # * Intervals in S and Q do not intersect as well + # + # It orders the [l_i,r_i], and compute a list ratioP such that + # strictly between each of these intervals there is: + # - either at least one element inside an interval of Q + # - or the simplest rational number + # TODO: + isempty(S) && return Q + + S1, Q1 = sort(S, lt=(x, y) -> x[2] <= y[1]), sort(Q, lt=(x, y) -> x[2] <= y[1]) + ratioP = T[] + qidx = 1 + qlen = length(Q1) + + # Handle left gap before first interval + while qidx <= qlen && Q1[qidx][2] < S1[1][1] + ql, qr = Q1[qidx] + push!(ratioP, _open_simplest_between(ql, qr, abs(qr - ql)//1000)) + qidx += 1 + end + + # Loop through gaps between sorted disjoint intervals + for i in 1:(length(S1) - 1) + ri, li1 = S1[i][2], S1[i+1][1] + @assert ri < li1 "Intervals are not disjoint." + inserted = false + while qidx <= qlen && Q1[qidx][2] < li1 + ql, qr = Q1[qidx] + @assert(ql > ri, "A query point might be singular") + push!(ratioP, _open_simplest_between(ql, qr, abs(qr - ql)//1000)) + inserted = true + qidx += 1 + end + @assert qidx > qlen || Q1[qidx][1] > S1[i+1][2] "A query point might be singular" + # If there's already rational betwee no need to add new + !inserted && push!(ratioP, _open_simplest_between(ri, li1, abs(li1 - ri)//1000)) + end + + # Append remaining right-side Q points + while qidx <= qlen + ql, qr = Q1[qidx] + push!(ratioP, _open_simplest_between(ql, qr, abs(qr - ql)//1000)) + qidx += 1 + end + + return ratioP +end + + +function _open_simplest_between(a::QQFieldElem, b::QQFieldElem, eps::QQFieldElem) + # We choose the simplest in absolute value + if -a > b # this means a is negative and the largest in absolute value + return -simplest_between(-a - eps, -b + eps) + else + return simplest_between( a + eps, b - eps) + end +end + From e8381ead2def3432c5a59e9173928e0efbcbed8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Tue, 21 Oct 2025 19:09:45 +0200 Subject: [PATCH 123/180] improve and simplify minor computations --- src/connectivity/polar.jl | 93 ++++++++----------------------------- src/connectivity/roadmap.jl | 2 +- 2 files changed, 21 insertions(+), 74 deletions(-) diff --git a/src/connectivity/polar.jl b/src/connectivity/polar.jl index 2937a22..8913967 100644 --- a/src/connectivity/polar.jl +++ b/src/connectivity/polar.jl @@ -74,8 +74,6 @@ function computepolar( isnothing(V.dim) && dimension(V) c = n - V.dim - ## Is it correct AND useful? - sort!(J) ## Jphi = [ j for j in J if j <= nphi ] Jproj = setdiff(J, Jphi) @@ -85,7 +83,7 @@ function computepolar( JW = matrix(R, QQMPolyRingElem[ derivative(f, k) for f in psi, k in setdiff(1:n, Jproj)]) # Compute the minors sizeminors = c + length(Jphi) + min(dimproj, length(J)-1) - (length(J)-1) - minors = _compute_minors(sizeminors, JW, R) + minors = _compute_minors(sizeminors, JW) if only_mins return minors @@ -94,78 +92,27 @@ function computepolar( end end -function _compute_minors(p, A, R) - #Computes the p-minors of a matrix A - n, m = size(A) - rowsmins = collect(_combinations(1:n, p, 1, Vector{Int}([]))) - colsmins = collect(_combinations(1:m, p, 1, Vector{Int}([]))) - mins = Vector{eltype(A)}(undef, length(rowsmins) * length(colsmins)) - k = 1 - # for performance tweaks, check if there are non-linear polynomials or if all are linear or constant - degmax = 0 - for a in A - degmax = min(2, max(degmax, total_degree(a))) - if degmax > 1 - break - end - end - # TODO: use algos from FLINT (in particular berkowitz) - # Naive function performs better for high degree or small matrices - if (degmax == 0 && p <= 2) || (degmax == 1 && p <= 6) || (degmax == 2) - detfct = s->_detmpoly(s, R) - else # else use fraction-free LU from AbstractAlgebra.jl - detfct = det - end - for rowsmin in rowsmins - for colsmin in colsmins - mins[k] = detfct(A[rowsmin, colsmin]) - k += 1 - end - end - - return mins +function _compute_minors(p, A) + # Computes the p-minors of a matrix A + rowsmins = _combinations(1:nrows(A), p) + colsmins = _combinations(1:ncols(A), p) + # We use charpoly for a division-free determinant method + return [ coeff(charpoly(A[rows, cols]), 0) for rows in rowsmins for cols in colsmins ] end -function _combinations(a, n, start, chosen) - if length(chosen) == n - return [chosen] - elseif start > length(a) - return Vector{Int}([]) - else - # Include the current element and recurse - include_current = _combinations(a, n, start + 1, [chosen; a[start]]) - # Exclude the current element and recurse - exclude_current = _combinations(a, n, start + 1, chosen) - return vcat(include_current, exclude_current) - end +function _combinations(v::UnitRange{Int}, k::Int) + # Compute the k-subsets of v + n = length(v) + ans = Vector{Int}[] + k > n && return ans + _combinations_dfs!(ans, Vector{Int}(undef, k), v, n, k) + return ans end -function _detmpoly(A, R) - # Get the size of the matrix - n = size(A, 1) - if n != size(A, 2) - throw(ArgumentError("Matrix must be square")) - end - - if n == 1 - return A[1, 1] - end - - if n == 2 - return A[1, 1] * A[2, 2] - A[1,2] * A[2, 1] +function _combinations_dfs!(ans::Vector{Vector{Int}}, comb::Vector{Int}, v::UnitRange{Int}, n::Int, k::Int) + k < 1 && (pushfirst!(ans, comb[:]); return) + for m in n:-1:k + comb[k] = v[m] + _combinations_dfs!(ans, comb, v, m - 1, k - 1) end - - # Initialize the determinant polynomial - detA = zero(R) - - # Compute the determinant polynomial - for j = 1:n - submatrix = A[2:end, [i for i = 1:n if i != j]] - detA += (-1)^(1+j)*A[1, j] * _detmpoly(submatrix, R) - end - - return detA -end - - - +end \ No newline at end of file diff --git a/src/connectivity/roadmap.jl b/src/connectivity/roadmap.jl index 82d72f8..21be64e 100644 --- a/src/connectivity/roadmap.jl +++ b/src/connectivity/roadmap.jl @@ -4,7 +4,7 @@ #using AlgebraicSolving #using Nemo -export roadmap, computepolar, _mid_rational_points, _mid_rational_points_inter, _fbr, all_eqs, all_base_pts, nb_nodes, compute_minors, compute_minors_bis, computepolarL, detmpoly +export roadmap, computepolar, _mid_rational_points, _mid_rational_points_inter, _fbr, all_eqs, all_base_pts, nb_nodes, computepolar include("polar.jl") @doc Markdown.doc""" From ef3487822632751931475dc34e2826424c221abb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 22 Oct 2025 15:34:46 +0200 Subject: [PATCH 124/180] complete the doc --- docs/make.jl | 6 +- docs/src/connectivity.md | 48 ++++++++++++++++ docs/src/types.md | 14 ++--- src/algorithms/solvers.jl | 2 +- src/connectivity/polar.jl | 24 +++----- src/connectivity/roadmap.jl | 108 +++++++++--------------------------- src/types.jl | 8 ++- 7 files changed, 104 insertions(+), 106 deletions(-) create mode 100644 docs/src/connectivity.md diff --git a/docs/make.jl b/docs/make.jl index 9c761f2..8a25b1b 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,6 +1,9 @@ +using Pkg +Pkg.activate("../../AlgebraicSolving.jl") using AlgebraicSolving using Documenter + push!(LOAD_PATH, "../src") DocMeta.setdocmeta!(AlgebraicSolving, :DocTestSetup, :(using AlgebraicSolving); recursive=true) @@ -24,7 +27,8 @@ makedocs( "hilbert.md", "dimension.md", "solvers.md", - "decomposition.md"], + "decomposition.md", + "connectivity.md"], "Examples" => "katsura.md" ] ) diff --git a/docs/src/connectivity.md b/docs/src/connectivity.md new file mode 100644 index 0000000..a932210 --- /dev/null +++ b/docs/src/connectivity.md @@ -0,0 +1,48 @@ +```@meta +CurrentModule = AlgebraicSolving +DocTestSetup = quote + using AlgebraicSolving +end +``` + +```@setup algebraicsolving +using AlgebraicSolving +``` + +```@contents +Pages = ["connectivity.md"] +``` + +# Algorithms for connectivity queries on smooth bounded algebraic sets + +## Introduction + +AlgebraicSolving allows to compute a roadmap for the real trace of the zero-set +of the ideal spanned by given input generators over the rationals. + +It assumes that the underlying algebraic set is **smooth**, and its real trace is **bounded**. + +The underlying engine is provided by msolve. + +## Functionality + +```@docs + roadmap( + I::Ideal{P} where P <: QQMPolyRingElem; + C::Vector{Vector{Vector{QQFieldElem}}}=Vector{Vector{QQFieldElem}}[], + info_level::Int=0, + checks::Bool=false + ) +``` + +In addition, AlgebraicSolving can compute equations definition critical loci of polynomial maps over the given algebraic set. + +```@docs + computepolar( + J::Union{Vector{Int},UnitRange{Int}}, + V::Ideal{P}; + phi::Vector{P} = P[], + dimproj = length(J)-1, + only_mins = false + ) where (P <: MPolyRingElem) +``` \ No newline at end of file diff --git a/docs/src/types.md b/docs/src/types.md index b60edce..bc4a2a0 100644 --- a/docs/src/types.md +++ b/docs/src/types.md @@ -17,21 +17,21 @@ Pages = ["types.md"] ## Introduction -AlgebraicSolving handles ideals in multivariate polynomial rings over a prime +AlgebraicSolving handles ideals in multivariate polynomial rings over a prime field of characteristic $0$ or $p$ where $p$ is a prime number $<2^{31}$. ## Polynomial Rings -We use [Nemo](https://www.nemocas.org/)'s multivariate polynomial +We use [Nemo](https://www.nemocas.org/)'s multivariate polynomial ring structures: ```@repl using AlgebraicSolving R, (x,y,z) = polynomial_ring(QQ, ["x", "y", "z"], internal_ordering=:degrevlex) ``` -The above example defines a multivariate polynomial ring in three variables `x`, -`y`, and `z` over the rationals using the dgree reverse lexicographical ordering -for printing polynomials in the following. One can also define polynomial rings +The above example defines a multivariate polynomial ring in three variables `x`, +`y`, and `z` over the rationals using the dgree reverse lexicographical ordering +for printing polynomials in the following. One can also define polynomial rings over finite fields: ```@repl @@ -41,8 +41,8 @@ R, (x,y,z) = polynomial_ring(GF(101), ["x", "y", "z"], internal_ordering=:degrev ## Ideals -Ideals can be constructed by giving an array of generators. Ideals cache varies -data structures connected to ideals in order to make computational algebra more +Ideals can be constructed by giving an array of generators. Ideals cache varies +data structures connected to ideals in order to make computational algebra more effective: ```@repl diff --git a/src/algorithms/solvers.jl b/src/algorithms/solvers.jl index 52c9445..234e84e 100644 --- a/src/algorithms/solvers.jl +++ b/src/algorithms/solvers.jl @@ -295,8 +295,8 @@ QQMPolyRingElem[x1 + 2*x2 + 2*x3 - 1, x1^2 - x1 + 2*x2^2 + 2*x3^2, 2*x1*x2 + 2*x julia> rat_sols = rational_solutions(I) 2-element Vector{Vector{QQFieldElem}}: - [1, 0, 0] [1//3, 0, 1//3] + [1, 0, 0] julia> map(r->map(p->evaluate(p, r), I.gens), rat_sols) 2-element Vector{Vector{QQFieldElem}}: diff --git a/src/connectivity/polar.jl b/src/connectivity/polar.jl index 8913967..ad0805c 100644 --- a/src/connectivity/polar.jl +++ b/src/connectivity/polar.jl @@ -1,11 +1,5 @@ @doc Markdown.doc""" - computepolar( - J::Union{Vector{Int},UnitRange{Int}}, - V::Ideal{P}; - phi::Vector{P}=P[], - dimproj::Int=length(J)-1, - only_mins::Bool=false - ) where {P <: MPolyRingElem} + computepolar(J::Union{Vector{Int},UnitRange{Int}}, V::Ideal{P} where P <: MPolyRingElem; ) Compute the **polar variety** associated with the map whose components are `[phi_1, …, phi_p, x_{p+1}, …, x_n]` indexed by `J`, for an algebraic variety defined @@ -46,16 +40,16 @@ julia> using AlgebraicSolving julia> R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) (Multivariate polynomial ring in 4 variables over QQ, QQMPolyRingElem[x1, x2, x3, x4]) -julia> I = Ideal([(x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2)]) -QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64] +julia> I = Ideal([(x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2) + 1]) +QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65] julia> computepolar(1:3, I, dimproj=1, phi=[x1^2+x2^2+x3^2+x4^2]) 5-element Vector{QQMPolyRingElem}: - x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64 - 4*x1^3 + 4*x1*x2^2 + 4*x1*x3^2 + 4*x1*x4^2 - 40*x1 - 4*x1^2*x4 + 4*x2^2*x4 + 4*x3^2*x4 + 4*x4^3 + 32*x4 - 2*x1 - 2*x4 + x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65 + -4*x1^3 - 4*x1*x2^2 - 4*x1*x3^2 - 4*x1*x4^2 + 40*x1 + -4*x1^2*x4 - 4*x2^2*x4 - 4*x3^2*x4 - 4*x4^3 - 32*x4 + -2*x1 + -2*x4 ``` """ function computepolar( @@ -100,7 +94,7 @@ function _compute_minors(p, A) return [ coeff(charpoly(A[rows, cols]), 0) for rows in rowsmins for cols in colsmins ] end -function _combinations(v::UnitRange{Int}, k::Int) +function _combinations(v::UnitRange{Int}, k::Int) # Compute the k-subsets of v n = length(v) ans = Vector{Int}[] diff --git a/src/connectivity/roadmap.jl b/src/connectivity/roadmap.jl index 21be64e..a49e079 100644 --- a/src/connectivity/roadmap.jl +++ b/src/connectivity/roadmap.jl @@ -31,39 +31,43 @@ Moreover it is linked to fibers, that share the same base point. julia> using AlgebraicSolving julia> R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) -(Multivariate polynomial ring in 3 variables over QQ, QQMPolyRingElem[x1, x2, x3, x4]) +(Multivariate polynomial ring in 4 variables over QQ, QQMPolyRingElem[x1, x2, x3, x4]) -julia> I = Ideal([x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2)]) -QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64] +julia> I = Ideal([(x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2) + 1]) +QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65] -julia> RM = roadmap(I) -Vector{QQFieldElem}[[], [-3], [-3, -2], [-1], [-1, -2], [-1, -1], [-1, 2], [3], [3, 2]] +julia> RM = roadmap(I, checks=true) +Vector{QQFieldElem}[[], [-3], [-3, -2], [-2], [-2, -1], [-2, 0], [-2, 1], [3], [3, 2]] julia> nb_nodes(RM) 9 julia> all_eqs(RM) 9-element Vector{Ideal{QQMPolyRingElem}}: - QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, 4*x1^2*x3 + 4*x2^2*x3 + 4*x3^3 + 4*x3*x4^2 - 40*x3, 4*x1^2*x4 + 4*x2^2*x4 + 4*x3^2*x4 + 4*x4^3 + 32*x4] - QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, 4*x1^2*x4 + 4*x2^2*x4 + 4*x3^2*x4 + 4*x4^3 + 32*x4, x1 + 3] - QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 + 3, x2 + 2] - QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, 4*x1^2*x4 + 4*x2^2*x4 + 4*x3^2*x4 + 4*x4^3 + 32*x4, x1 + 1] - QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 + 1, x2 + 2] - QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 + 1, x2 + 1] - QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 + 1, x2 - 2] - QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, 4*x1^2*x4 + 4*x2^2*x4 + 4*x3^2*x4 + 4*x4^3 + 32*x4, x1 - 3] - QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 64, x1 - 3, x2 - 2] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65, -4*x1^2*x3 - 4*x2^2*x3 - 4*x3^3 - 4*x3*x4^2 + 40*x3, -4*x1^2*x4 - 4*x2^2*x4 - 4*x3^2*x4 - 4*x4^3 - 32*x4] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65, -4*x1^2*x4 - 4*x2^2*x4 - 4*x3^2*x4 - 4*x4^3 - 32*x4, x1 + 3] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65, x1 + 3, x2 + 2] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65, -4*x1^2*x4 - 4*x2^2*x4 - 4*x3^2*x4 - 4*x4^3 - 32*x4, x1 + 2] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65, x1 + 2, x2 + 1] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65, x1 + 2, x2] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65, x1 + 2, x2 - 1] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65, -4*x1^2*x4 - 4*x2^2*x4 - 4*x3^2*x4 - 4*x4^3 - 32*x4, x1 - 3] + QQMPolyRingElem[x1^4 + 2*x1^2*x2^2 + 2*x1^2*x3^2 + 2*x1^2*x4^2 - 20*x1^2 + x2^4 + 2*x2^2*x3^2 + 2*x2^2*x4^2 - 20*x2^2 + x3^4 + 2*x3^2*x4^2 - 20*x3^2 + x4^4 + 16*x4^2 + 65, x1 - 3, x2 - 2] ``` """ function roadmap( - I::Ideal{P}; # input ideal - C::Vector{Vector{QQFieldElem}}=Vector{QQFieldElem}[], # query points with rational coefficients - info_level::Int=0, # verbosity level - checks::Bool=false # perform checks (dimension, regularity, etc.) + I::Ideal{P}; # input ideal + C::Vector{Vector{Vector{QQFieldElem}}}=Vector{Vector{QQFieldElem}}[], # query points: interval with rational coefficients + info_level::Int=0, # verbosity level + checks::Bool=false # perform checks (dimension, regularity, etc.) ) where (P <: QQMPolyRingElem) return _roadmap_rec(I, QQFieldElem[], C, info_level, checks) end +@doc Markdown.doc""" + roadmap(I::Ideal{T} where T <: MPolyRingElem, I::Ideal{P}, C::Ideal{P}; info_level::Int=0, checks::Bool=false) +``` +""" function roadmap( I::Ideal{P}, # input ideal C::Ideal{P}; # ideal defining query points @@ -78,7 +82,7 @@ end function _roadmap_rec( I::Ideal{T} where T <: QQMPolyRingElem, # input ideal q::Vector{QQFieldElem}, # single base point with rational coefficients - C::Vector{Vector{QQFieldElem}}, # query points with rational coefficients + C::Vector{Vector{Vector{QQFieldElem}}}, # query points with rational coefficients info_level::Int, # verbosity level checks::Bool # perform checks (dimension, regularity, etc.) ) @@ -144,12 +148,12 @@ function _roadmap_rec( K1WmFq = real_solutions(_fbr(K1WmFq,q), info_level=max(info_level-1,0), nr_thrds=Threads.nthreads(), interval=true) ## New base and query points ## - Cq = isempty(q) ? C : [ c for c in C if c[e] == q[e]] + Cq = isempty(q) ? C : [ c for c in C if q[e] in c[e]] K1W = vcat(K1Fq, K1WmFq) # Heuristic to be proven (Reeb's th) #K1W = K1W[2:end-1] ########## - K1WRat = _mid_rational_points(getindex.(K1W,e+1), unique(getindex.(Cq, e+1))) + K1WRat = _mid_rational_points_inter(getindex.(K1W,e+1), unique(getindex.(Cq, e+1))) newQ = vcat.(Ref(q), K1WRat) # Recursively compute roadmap of possible fibers @@ -167,72 +171,14 @@ function _roadmap_rec( end end -function _fbr(I::Ideal{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) - @assert(!isempty(I.gens), "Empty polynomial vector") - vars = gens(parent(first(I.gens))) - return Ideal(vcat(I.gens, [vars[i] - Q[i] for i in 1:min(length(vars),length(Q))])) -end - -function _mid_rational_points(S::Vector{Vector{T}}, Q::Vector{T} = T[]) where {T <: QQFieldElem} - # * S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] - # such that the [l_i, r_i] are rational and disjoint open intervals. - # * Q is a list of rationals that intersects no [l_i,r_i] - # - # It orders the [l_i,r_i], and compute a list ratioP such that - # strictly between each of these intervals there is: - # - either at least one element of Q - # - or the simplest rational number - isempty(S) && return Q - - S1, Q1 = sort(S, lt=(x, y) -> x[2] <= y[1]), sort(Q) - ratioP = T[] - qidx = 1 - qlen = length(Q1) - - # Handle left gap before first interval - while qidx <= qlen && Q1[qidx] < S1[1][1] - push!(ratioP, Q1[qidx]) - qidx += 1 - end - - # Loop through gaps between sorted disjoint intervals - for i in 1:(length(S1) - 1) - ri, li1 = S1[i][2], S1[i+1][1] - @assert ri < li1 "Intervals are not disjoint." - inserted = false - while qidx <= qlen && Q1[qidx] < li1 - @assert(Q1[qidx] > ri, "A query point is singular") - push!(ratioP, Q1[qidx]) - inserted = true - qidx += 1 - end - if !inserted - eps = (li1 - ri)//1000 # for open interval - # We choose the simplest in absolute value - if -ri > li1 # this means ri is negative and the largest in absolute value - push!(ratioP, -simplest_between(-ri - eps, -li1 + eps)) - else - push!(ratioP, simplest_between(ri + eps, li1 - eps)) - end - end - end - - # Append remaining right-side Q points - while qidx <= qlen - push!(ratioP, Q1[qidx]) - qidx += 1 - end - - return ratioP -end - function _mid_rational_points_inter(S::Vector{Vector{T}}, Q::Vector{Vector{T}} = Vector{T}[]) where {T <: QQFieldElem} # * S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] # such that the [l_i, r_i] are rational and disjoint open intervals. # * Same assumptions on Q # * Intervals in S and Q do not intersect as well # - # It orders the [l_i,r_i], and compute a list ratioP such that + # It orders the [l_i,r_i], and compute a list ratioP + # intersecting all intervals of Q and such that # strictly between each of these intervals there is: # - either at least one element inside an interval of Q # - or the simplest rational number diff --git a/src/types.jl b/src/types.jl index 6ef5453..bd4b7f8 100644 --- a/src/types.jl +++ b/src/types.jl @@ -97,8 +97,14 @@ function _collect_roadmap(RMn::RMnode, F) return data end +function _fbr(I::Ideal{P} where P <: QQMPolyRingElem, Q::Vector{QQFieldElem}) + @assert(!isempty(I.gens), "Empty polynomial vector") + vars = gens(parent(first(I.gens))) + return Ideal(vcat(I.gens, [vars[i] - Q[i] for i in 1:min(length(vars),length(Q))])) +end + function all_eqs(RM::Roadmap) - func(s) = fbr(vcat(RM.initial_ideal.gens, s.polar_eqs), s.base_pt) + func(s) = _fbr(vcat(RM.initial_ideal.gens, s.polar_eqs) |> Ideal, s.base_pt) return _collect_roadmap(RM.root, func) end From 8881239e145ec4a0ac484caf505c8b9f551c9565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 22 Oct 2025 15:35:30 +0200 Subject: [PATCH 125/180] revert a change --- docs/make.jl | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/make.jl b/docs/make.jl index 8a25b1b..722d8f2 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,5 +1,3 @@ -using Pkg -Pkg.activate("../../AlgebraicSolving.jl") using AlgebraicSolving using Documenter From 872c7154eb13743233d20503ee38ae67e10ad36f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Tue, 4 Nov 2025 17:35:34 +0100 Subject: [PATCH 126/180] start documenting ratparams and roadmaps --- docs/src/types.md | 122 +++++++++++++++++++++++++++++++++- src/algorithms/param-curve.jl | 3 +- 2 files changed, 121 insertions(+), 4 deletions(-) diff --git a/docs/src/types.md b/docs/src/types.md index bc4a2a0..fa440d9 100644 --- a/docs/src/types.md +++ b/docs/src/types.md @@ -41,9 +41,7 @@ R, (x,y,z) = polynomial_ring(GF(101), ["x", "y", "z"], internal_ordering=:degrev ## Ideals -Ideals can be constructed by giving an array of generators. Ideals cache varies -data structures connected to ideals in order to make computational algebra more -effective: +Ideals can be constructed by giving an array of generators: ```@repl using AlgebraicSolving @@ -51,3 +49,121 @@ R, (x,y,z) = polynomial_ring(QQ, ["x", "y", "z"], internal_ordering=:degrevlex) I = Ideal([x+y+1, y*z^2-13*y^2]) ``` +Ideals cache various data structures connected to ideals in order to make +computational algebra more effective. Assume that `T <: MPolyRingElem`, then + * `gens::Vector{T}`: generators of the Ideal provded by the user; + * `deg::Int`: degree of the ideal (`Nothing` if unknown); + * `dim::Int`: Krull dimension of the Ideal (`Nothing` if unknown); + * `gb::Dict{Int, Vector{T}}`: Gröbner bases of the Ideal where the key correspond to the number of variables eliminated (starting with the first); + * `inter_sols::Vector{Vector{Vector{QQFieldElem}}}`: intervals with rational endpoints, containing the real solutions of the system (if `dim=0`); + * `real_sols::Vector{Vector{QQFieldElem}}`: midpoints of the above intervals; + * `rat_sols::Vector{Vector{QQFieldElem}}`: rational solutions of the system (if `dim=0`). + * `rat_param::Union{RationalParametrization, RationalCurveParametrization}`: rational parametrization encoding the complex solution set of the Ideal (see below). +## Rational Parametrizations + +Rational Parametrizations are special data structure for representing equidimensionnal +algebraic sets of dimension 0 and 1. They are typical outputs of algorithm for solving +polynomial systems encoding such algebraic sets thanks to their nice behaviour with +subsequent computations. + +### Zero-dimensionnal parametrizations: finite set of points (see also [there](https://msolve.lip6.fr/downloads/msolve-tutorial.pdf#section.6)) + +A *zero-dimensional parametrization* $\mathscr{P}$ with +coefficients in a field $\mathbb{Q}$ consists of: +* polynomials $(w, w', v_1, \ldots, v_n)$ in $\mathbb{K}[t]$ where $t$ is + a new variable and such that + * $w$ is a monic square-free polynomial; + * $w'=1$ when $\mathbb{K}$ is a prime field, $w'=\frac{dw}{dt}$ else; + * $\deg(v_i) < \deg(w)$. +* a linear form $l$ in the variables $x_1,\dotsc, x_n$, +such that +$$ +l(\rho_1,\dotsc,\rho_n) = t \mod w. +$$ + +Such a data-structure encodes the following finite set of points +$$ +\left\{\left (\frac{\rho_1(\vartheta)}{w'(\vartheta)}, +\ldots, \frac{\rho_n(\vartheta)}{w'(\vartheta)} \right) \middle|\, w(\vartheta) = 0\right\}. +$$ +According to this definition, the roots of $w$ are exactly the +values taken by $l$ on this set. + +The type `RationalParametrization` therefore caches the following attributes: + * `vars::Vector{Symbol}`: variables used for the parametrization the last one playing the role of the above $t$ + (hence, maybe with one more variable than the ones given as input); + * `cfs_lf::Vector{ZZRingElem}`: coefficients on the linear form $l$ (when variables are added); + * `elim::QQPolyRingElem`: elimination polynomial $w$ ; + * `denom::QQPolyRingElem`: denominator polynomial (usually $w'$); + * `param::Vector{QQPolyRingElem}`: numerators $\rho_i$'s. + +See the documentation of the [rational_parametrization](@ref) function for further details. + +### One-dimensionnal parametrizations: algebraic curves + +A *one-dimensional parametrization* $\mathscr{C}$ with +coefficients in a field $\mathbb{C}$ consists of: +* polynomials $(w, w', v_1, \ldots, v_n)$ in $\mathbb{K}[t,s]$ where $t,s$ are + new variables and such that + * $w$ is a monic square-free polynomial and $w'=\frac{\partial w}{\partial t}$; + * $\deg(v_i) < \deg(w)$. +* two linear forms $(l,l')$ in the variables $x_1,\dotsc, x_n$, +such that +$$ +l(\rho_1,\dotsc,\rho_n) = t\, w'\mod w \quad \text{and} \quad +l'(\rho_1,\dotsc,\rho_n) = s\,w' \mod w +$$ + +Such a data-structure encodes the curve defined as the Zariski closure of the following set +$$ +\left\{\left (\frac{\rho_1(\vartheta,\eta)}{w'(\vartheta,\eta)}, +\ldots, \frac{\rho_n(\vartheta,\eta)}{w'(\vartheta,\eta)} \right) +\middle|\, w(\vartheta,\eta) = 0,\, w'(\vartheta, \eta) \neq 0\right\}. +$$ +According to this definition, the roots of $w$ are exactly the +values taken by $l$ on this set. + +The type `RationalCurveParametrization` therefore caches the following attributes: + * `vars::Vector{Symbol}`: variables used for the parametrization the last two ones playing the role of the above $(t,s)$ + (hence, maybe with up to two more variable than the ones given as input);; + * `cfs_lfs::Vector{Vector{ZZRingElem}}`: coefficients on the linear form $l$ (when variables are added); + * `elim::QQMPolyRingElem`: elimination polynomial $w$ ; + * `denom::QQMPolyRingElem`: denominator polynomial (usually $w'$); + * `param::Vector{QQMPolyRingElem}`: numerators $\rho_i$'s. + +See the documentation of the [rational_curve_parametrization](@ref) function for further details. + +## Roadmaps + +Roadmaps are algebraic curves capturing the connectivity properties of an algebraic +set containing it. They are computed as union of several curves, organized in a tree +due to the recursive nature of the roadmap algorithms. + +```julia +mutable struct Roadmap + initial_ideal::Ideal{QQMPolyRingElem} + root::RMnode +end +``` + +Hence, it is composed of a main node, containing the equations of the initial algebraic set and a reference to the root node of the tree. + +```julia +mutable struct RMnode + polar_eqs::Vector{QQMPolyRingElem} + base_pt::Vector{QQFieldElem} + children::Vector{RMnode} +end +``` + +Each roadmap node (including the root) correspond to a curve component of the roadmap. These are defined in fibers of the initial variety, and are arranged w.r.t. to the specialized variables they share. In particular, all child nodes (referenced in `children`) of a node will have the same specialized variable, plus a new distinct one. + +Each of these components is defined as the polar variety (whose equations are in `polar_eqs`) over a fiber of the initial algebraic set, which are defined by specializing the first variables to the `base_pt` of its parents, and of itsef (in this order). + + +See the documentation of the [roadmap](@ref) function for further details. + + +``` +TODO : un dessin ? les fonctions all_eqs, all_base_pts et nb_nodes (utiliser la doc du code?) +``` \ No newline at end of file diff --git a/src/algorithms/param-curve.jl b/src/algorithms/param-curve.jl index 1e553f2..e1757b4 100644 --- a/src/algorithms/param-curve.jl +++ b/src/algorithms/param-curve.jl @@ -232,7 +232,8 @@ function _evalvar( return LFeval end -# Generate N primes > start that do not divide any numerator/denominator +# Generate N random primes between low and up +# that do not divide any numerator/denominator # of any coefficient in polynomials from LP function _generate_lucky_primes( LF::Vector{P} where P<:MPolyRingElem, From def0143992793cb53e408520d873cd545699b5b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 5 Nov 2025 15:57:10 +0100 Subject: [PATCH 127/180] doc for roadmap --- docs/src/types.md | 77 +++++++++++++++++++++++++++++++++-------------- src/types.jl | 2 +- 2 files changed, 56 insertions(+), 23 deletions(-) diff --git a/docs/src/types.md b/docs/src/types.md index fa440d9..216eb88 100644 --- a/docs/src/types.md +++ b/docs/src/types.md @@ -54,13 +54,19 @@ computational algebra more effective. Assume that `T <: MPolyRingElem`, then * `gens::Vector{T}`: generators of the Ideal provded by the user; * `deg::Int`: degree of the ideal (`Nothing` if unknown); * `dim::Int`: Krull dimension of the Ideal (`Nothing` if unknown); - * `gb::Dict{Int, Vector{T}}`: Gröbner bases of the Ideal where the key correspond to the number of variables eliminated (starting with the first); - * `inter_sols::Vector{Vector{Vector{QQFieldElem}}}`: intervals with rational endpoints, containing the real solutions of the system (if `dim=0`); + * `gb::Dict{Int, Vector{T}}`: Gröbner bases of the Ideal where the key + correspond to the number of variables eliminated (starting with the first); + * `inter_sols::Vector{Vector{Vector{QQFieldElem}}}`: intervals with rational + endpoints, containing the real solutions of the system (if `dim=0`); * `real_sols::Vector{Vector{QQFieldElem}}`: midpoints of the above intervals; - * `rat_sols::Vector{Vector{QQFieldElem}}`: rational solutions of the system (if `dim=0`). - * `rat_param::Union{RationalParametrization, RationalCurveParametrization}`: rational parametrization encoding the complex solution set of the Ideal (see below). -## Rational Parametrizations + * `rat_sols::Vector{Vector{QQFieldElem}}`: rational solutions of the system + (if `dim=0`). + * `rat_param::Union{RationalParametrization, RationalCurveParametrization}`: + rational parametrization encoding the complex solution set of the Ideal (see + below). + +## Rational Parametrizations Rational Parametrizations are special data structure for representing equidimensionnal algebraic sets of dimension 0 and 1. They are typical outputs of algorithm for solving polynomial systems encoding such algebraic sets thanks to their nice behaviour with @@ -123,21 +129,39 @@ $$ According to this definition, the roots of $w$ are exactly the values taken by $l$ on this set. -The type `RationalCurveParametrization` therefore caches the following attributes: - * `vars::Vector{Symbol}`: variables used for the parametrization the last two ones playing the role of the above $(t,s)$ - (hence, maybe with up to two more variable than the ones given as input);; - * `cfs_lfs::Vector{Vector{ZZRingElem}}`: coefficients on the linear form $l$ (when variables are added); +The type `RationalCurveParametrization` therefore caches the following +attributes: + * `vars::Vector{Symbol}`: variables used for the parametrization the last two + ones playing the role of the above $(t,s)$ (hence, maybe with up to two more + variable than the ones given as input);; + * `cfs_lfs::Vector{Vector{ZZRingElem}}`: coefficients on the linear form $l$ + (when variables are added); * `elim::QQMPolyRingElem`: elimination polynomial $w$ ; * `denom::QQMPolyRingElem`: denominator polynomial (usually $w'$); * `param::Vector{QQMPolyRingElem}`: numerators $\rho_i$'s. -See the documentation of the [rational_curve_parametrization](@ref) function for further details. +See the documentation of the [rational_curve_parametrization](@ref) function for +further details. ## Roadmaps -Roadmaps are algebraic curves capturing the connectivity properties of an algebraic -set containing it. They are computed as union of several curves, organized in a tree -due to the recursive nature of the roadmap algorithms. +Consider an algebraic set $V\subset \mathbb{C}^n$ and a finite set of query +points $\mathcal{P} \subset V$, both defined by polynomials with coefficients in +$\mathbb{Q}$. A *roadmap* $\mathcal{R}$ associated to $(V,\mathcal{P})$ is an +algebraic curve such that + * $\mathcal{P} \subset \mathcal{R} \subset V$; + * $C \cap \mathcal{R}$ is non-empty and connected, for each connected + component $C$ of $V\cap \mathbb{R}^n$. + +Roadmaps are algebraic curves capturing the connectivity properties of an +algebraic set containing it so that points in $\mathcal{P}$ are equivalently +connected both on $\mathcal{R}$ and $V\cap \mathbb{R}^n$. + +The effective construction of roadmaps relies on connectivity statements which +allow one to construct real algebraic subsets of $V\cap \mathbb{R}^n$, of +smaller dimension, having a connected intersection with the connected components +of $V\cap \mathbb{R}^n$ Therefore, the output is union of several curves, +organized in a tree due to the recursive nature of the roadmap algorithms. ```julia mutable struct Roadmap @@ -146,24 +170,33 @@ mutable struct Roadmap end ``` -Hence, it is composed of a main node, containing the equations of the initial algebraic set and a reference to the root node of the tree. +Hence, it is composed of a main node, containing the equations of the initial +algebraic set $V$ and a reference to the root node of the tree. ```julia mutable struct RMnode - polar_eqs::Vector{QQMPolyRingElem} base_pt::Vector{QQFieldElem} + polar_eqs::Vector{QQMPolyRingElem} children::Vector{RMnode} end ``` -Each roadmap node (including the root) correspond to a curve component of the roadmap. These are defined in fibers of the initial variety, and are arranged w.r.t. to the specialized variables they share. In particular, all child nodes (referenced in `children`) of a node will have the same specialized variable, plus a new distinct one. +Each roadmap node (including the root) correspond to a curve component of the +roadmap. More precisely, they are defined by as an algebraic subset $W$ (called +polar variety) of a fiber $F$ of the initial variety $V$ such that: + * if `base_pt` contains $\mathbf{q}=(q_1,\dotsc,q_e) \in \mathbb{Q}^e$ then $$ + F = V \cap \left\{x_1=q_1,\,\dotsc,\, x_e=q_e\right\}; $$ + * if `polar_eqs` contains the polynomials $g_1,\dotsc,g_s \in + \mathbb{Q}[x_1,\dotsc,x_n]$ then $$ W = F \cap \{g_1=0,\, \ldots,\, g_s = 0\}. + $$ -Each of these components is defined as the polar variety (whose equations are in `polar_eqs`) over a fiber of the initial algebraic set, which are defined by specializing the first variables to the `base_pt` of its parents, and of itsef (in this order). +Moreover, `children` rassembles all the tree nodes that contains curves +component for which their attribute `base_pt` contains a point $\mathbf{q}'$ +that shares the same first $e$ coordinates with $\mathbf{q}$. +The reason of this tree arrangement is mainly because of the following property: +*two roadmap components intersects if, and only if, one's node is a descendant +of the other's*. In many cases, one can even replace "descendant" by "parent". -See the documentation of the [roadmap](@ref) function for further details. - -``` -TODO : un dessin ? les fonctions all_eqs, all_base_pts et nb_nodes (utiliser la doc du code?) -``` \ No newline at end of file +See the documentation of the [roadmap](@ref) function for further details. \ No newline at end of file diff --git a/src/types.jl b/src/types.jl index bd4b7f8..56f1c08 100644 --- a/src/types.jl +++ b/src/types.jl @@ -79,8 +79,8 @@ Base.getindex(I::Ideal, idx::Union{Int, UnitRange}) = I.gens[idx] Base.lastindex(I::Ideal) = lastindex(I.gens) mutable struct RMnode - polar_eqs::Vector{QQMPolyRingElem} base_pt::Vector{QQFieldElem} + polar_eqs::Vector{QQMPolyRingElem} children::Vector{RMnode} end From 81183244f65a855d45f78e8b04a88e30ab881813 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 10 Dec 2025 18:44:31 +0100 Subject: [PATCH 128/180] fix args RMnode --- src/connectivity/roadmap.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/connectivity/roadmap.jl b/src/connectivity/roadmap.jl index a49e079..e0c9a96 100644 --- a/src/connectivity/roadmap.jl +++ b/src/connectivity/roadmap.jl @@ -82,7 +82,7 @@ end function _roadmap_rec( I::Ideal{T} where T <: QQMPolyRingElem, # input ideal q::Vector{QQFieldElem}, # single base point with rational coefficients - C::Vector{Vector{Vector{QQFieldElem}}}, # query points with rational coefficients + C::Vector{Vector{Vector{QQFieldElem}}}, # query points with rational coefficients info_level::Int, # verbosity level checks::Bool # perform checks (dimension, regularity, etc.) ) @@ -111,7 +111,7 @@ function _roadmap_rec( # Terminal case (dim <=1) if I.dim - e <= 1 - return RMnode([], q, RMnode[]) + return RMnode(q, [], RMnode[]) end ## sing(Fq) ## @@ -140,7 +140,7 @@ function _roadmap_rec( else K2Fq.dim = e + 1 end - RM = RMnode(K2Fqmins, q, RMnode[]) + RM = RMnode(q, K2Fqmins, RMnode[]) ## Points with vertical tg in K(pi_2, Fq) ## info_level>0 && println("Compute W-critical points with vertical tangent: K1W") From fd72a6d76dcaf1e68d4a9855202c4e4de043578b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Fri, 27 Feb 2026 16:59:00 +0100 Subject: [PATCH 129/180] typo --- src/connectivity/roadmap.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connectivity/roadmap.jl b/src/connectivity/roadmap.jl index e0c9a96..318501f 100644 --- a/src/connectivity/roadmap.jl +++ b/src/connectivity/roadmap.jl @@ -210,7 +210,7 @@ function _mid_rational_points_inter(S::Vector{Vector{T}}, Q::Vector{Vector{T}} = qidx += 1 end @assert qidx > qlen || Q1[qidx][1] > S1[i+1][2] "A query point might be singular" - # If there's already rational betwee no need to add new + # If there's already rational between no need to add new !inserted && push!(ratioP, _open_simplest_between(ri, li1, abs(li1 - ri)//1000)) end From 2bc7a32a4d589b8719d65facc3b8d12b032036f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Tue, 3 Mar 2026 12:14:42 +0100 Subject: [PATCH 130/180] fix roadmap doc --- docs/make.jl | 2 ++ docs/src/types.md | 49 ++++++++++++++----------------------- src/connectivity/roadmap.jl | 2 +- 3 files changed, 21 insertions(+), 32 deletions(-) diff --git a/docs/make.jl b/docs/make.jl index 722d8f2..563d01f 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,3 +1,5 @@ +#using Pkg +#Pkg.activate("../../AlgebraicSolving.jl/") using AlgebraicSolving using Documenter diff --git a/docs/src/types.md b/docs/src/types.md index 216eb88..1a18966 100644 --- a/docs/src/types.md +++ b/docs/src/types.md @@ -78,20 +78,15 @@ A *zero-dimensional parametrization* $\mathscr{P}$ with coefficients in a field $\mathbb{Q}$ consists of: * polynomials $(w, w', v_1, \ldots, v_n)$ in $\mathbb{K}[t]$ where $t$ is a new variable and such that - * $w$ is a monic square-free polynomial; - * $w'=1$ when $\mathbb{K}$ is a prime field, $w'=\frac{dw}{dt}$ else; - * $\deg(v_i) < \deg(w)$. -* a linear form $l$ in the variables $x_1,\dotsc, x_n$, + * $w$ is a monic square-free polynomial; + * $w'=1$ when $\mathbb{K}$ is a prime field, $w'=\frac{dw}{dt}$ else; + * $\deg(v_i) < \deg(w)$. +* a linear form $l$ in the variables $x_1,\dotsc, x_n$, such that -$$ -l(\rho_1,\dotsc,\rho_n) = t \mod w. -$$ +$l(\rho_1,\dotsc,\rho_n) = t \mod w$. Such a data-structure encodes the following finite set of points -$$ -\left\{\left (\frac{\rho_1(\vartheta)}{w'(\vartheta)}, -\ldots, \frac{\rho_n(\vartheta)}{w'(\vartheta)} \right) \middle|\, w(\vartheta) = 0\right\}. -$$ +* $\left\{\left(\frac{\rho_1(\vartheta)}{w'(\vartheta)}, \ldots, \frac{\rho_n(\vartheta)}{w'(\vartheta)} \right) \middle|\, w(\vartheta) = 0\right\}$. According to this definition, the roots of $w$ are exactly the values taken by $l$ on this set. @@ -103,7 +98,7 @@ The type `RationalParametrization` therefore caches the following attributes: * `denom::QQPolyRingElem`: denominator polynomial (usually $w'$); * `param::Vector{QQPolyRingElem}`: numerators $\rho_i$'s. -See the documentation of the [rational_parametrization](@ref) function for further details. +See the documentation of the [`rational_parametrization`](@ref) function for further details. ### One-dimensionnal parametrizations: algebraic curves @@ -111,21 +106,14 @@ A *one-dimensional parametrization* $\mathscr{C}$ with coefficients in a field $\mathbb{C}$ consists of: * polynomials $(w, w', v_1, \ldots, v_n)$ in $\mathbb{K}[t,s]$ where $t,s$ are new variables and such that - * $w$ is a monic square-free polynomial and $w'=\frac{\partial w}{\partial t}$; - * $\deg(v_i) < \deg(w)$. + * $w$ is a monic square-free polynomial and $w'=\frac{\partial w}{\partial t}$; + * $\deg(v_i) < \deg(w)$. * two linear forms $(l,l')$ in the variables $x_1,\dotsc, x_n$, such that -$$ -l(\rho_1,\dotsc,\rho_n) = t\, w'\mod w \quad \text{and} \quad -l'(\rho_1,\dotsc,\rho_n) = s\,w' \mod w -$$ +$l(\rho_1,\dotsc,\rho_n) = t\, w'\mod w \quad \text{and} \quad l'(\rho_1,\dotsc,\rho_n) = s\,w' \mod w$ Such a data-structure encodes the curve defined as the Zariski closure of the following set -$$ -\left\{\left (\frac{\rho_1(\vartheta,\eta)}{w'(\vartheta,\eta)}, -\ldots, \frac{\rho_n(\vartheta,\eta)}{w'(\vartheta,\eta)} \right) -\middle|\, w(\vartheta,\eta) = 0,\, w'(\vartheta, \eta) \neq 0\right\}. -$$ +* $\left\{\left(\frac{\rho_1(\vartheta,\eta)}{w'(\vartheta,\eta)}, \ldots, \frac{\rho_n(\vartheta,\eta)}{w'(\vartheta,\eta)} \right) \middle|\, w(\vartheta,\eta) = 0,\, w'(\vartheta, \eta) \neq 0\right\}$. According to this definition, the roots of $w$ are exactly the values taken by $l$ on this set. @@ -140,7 +128,7 @@ attributes: * `denom::QQMPolyRingElem`: denominator polynomial (usually $w'$); * `param::Vector{QQMPolyRingElem}`: numerators $\rho_i$'s. -See the documentation of the [rational_curve_parametrization](@ref) function for +See the documentation of the [`rational_curve_parametrization`](@ref) function for further details. ## Roadmaps @@ -149,8 +137,8 @@ Consider an algebraic set $V\subset \mathbb{C}^n$ and a finite set of query points $\mathcal{P} \subset V$, both defined by polynomials with coefficients in $\mathbb{Q}$. A *roadmap* $\mathcal{R}$ associated to $(V,\mathcal{P})$ is an algebraic curve such that - * $\mathcal{P} \subset \mathcal{R} \subset V$; - * $C \cap \mathcal{R}$ is non-empty and connected, for each connected + * $\mathcal{P} \subset \mathcal{R} \subset V$; + * $C \cap \mathcal{R}$ is non-empty and connected, for each connected component $C$ of $V\cap \mathbb{R}^n$. Roadmaps are algebraic curves capturing the connectivity properties of an @@ -184,11 +172,10 @@ end Each roadmap node (including the root) correspond to a curve component of the roadmap. More precisely, they are defined by as an algebraic subset $W$ (called polar variety) of a fiber $F$ of the initial variety $V$ such that: - * if `base_pt` contains $\mathbf{q}=(q_1,\dotsc,q_e) \in \mathbb{Q}^e$ then $$ - F = V \cap \left\{x_1=q_1,\,\dotsc,\, x_e=q_e\right\}; $$ - * if `polar_eqs` contains the polynomials $g_1,\dotsc,g_s \in - \mathbb{Q}[x_1,\dotsc,x_n]$ then $$ W = F \cap \{g_1=0,\, \ldots,\, g_s = 0\}. - $$ + * if `base_pt` contains $\mathbf{q}=(q_1,\dotsc,q_e) \in \mathbb{Q}^e$ then + * $F = V \cap \left\{x_1=q_1,\,\dotsc,\, x_e=q_e\right\}$; + * if `polar_eqs` contains the polynomials $g_1,\dotsc,g_s \in \mathbb{Q}[x_1,\dotsc,x_n]$ then + * $W = F \cap \{g_1=0,\, \ldots,\, g_s = 0\}$. Moreover, `children` rassembles all the tree nodes that contains curves component for which their attribute `base_pt` contains a point $\mathbf{q}'$ diff --git a/src/connectivity/roadmap.jl b/src/connectivity/roadmap.jl index 318501f..0f1e6e8 100644 --- a/src/connectivity/roadmap.jl +++ b/src/connectivity/roadmap.jl @@ -179,7 +179,7 @@ function _mid_rational_points_inter(S::Vector{Vector{T}}, Q::Vector{Vector{T}} = # # It orders the [l_i,r_i], and compute a list ratioP # intersecting all intervals of Q and such that - # strictly between each of these intervals there is: + # strictly between each of the [l_i,r_i] there is: # - either at least one element inside an interval of Q # - or the simplest rational number # TODO: From 8d4abfebc519a518ef6331cc9778a62e39ca1bcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Tue, 3 Mar 2026 14:17:51 +0100 Subject: [PATCH 131/180] exported functions --- src/connectivity/roadmap.jl | 13 +------------ src/exports.jl | 3 ++- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/connectivity/roadmap.jl b/src/connectivity/roadmap.jl index 0f1e6e8..ae3da33 100644 --- a/src/connectivity/roadmap.jl +++ b/src/connectivity/roadmap.jl @@ -1,12 +1,3 @@ -#using Pkg -#Pkg.activate("AlgebraicSolving.jl") -#using Revise -#using AlgebraicSolving -#using Nemo - -export roadmap, computepolar, _mid_rational_points, _mid_rational_points_inter, _fbr, all_eqs, all_base_pts, nb_nodes, computepolar -include("polar.jl") - @doc Markdown.doc""" roadmap(I::Ideal{T} where T <: MPolyRingElem, ) @@ -179,10 +170,9 @@ function _mid_rational_points_inter(S::Vector{Vector{T}}, Q::Vector{Vector{T}} = # # It orders the [l_i,r_i], and compute a list ratioP # intersecting all intervals of Q and such that - # strictly between each of the [l_i,r_i] there is: + # *strictly* between each of the [l_i,r_i] there is: # - either at least one element inside an interval of Q # - or the simplest rational number - # TODO: isempty(S) && return Q S1, Q1 = sort(S, lt=(x, y) -> x[2] <= y[1]), sort(Q, lt=(x, y) -> x[2] <= y[1]) @@ -224,7 +214,6 @@ function _mid_rational_points_inter(S::Vector{Vector{T}}, Q::Vector{Vector{T}} = return ratioP end - function _open_simplest_between(a::QQFieldElem, b::QQFieldElem, eps::QQFieldElem) # We choose the simplest in absolute value if -a > b # this means a is negative and the largest in absolute value diff --git a/src/exports.jl b/src/exports.jl index 5e3d57e..ce4142a 100644 --- a/src/exports.jl +++ b/src/exports.jl @@ -5,4 +5,5 @@ export polynomial_ring, MPolyRing, GFElem, MPolyRingElem, prime_field, sig_groebner_basis, cyclic, leading_coefficient, equidimensional_decomposition, homogenize, dimension, FqMPolyRingElem, hilbert_series, hilbert_dimension, hilbert_degree, hilbert_polynomial, - rational_curve_parametrization + rational_curve_parametrization, roadmap, computepolar, all_eqs, + all_base_pts, nb_nodes From a1222c28650c55011babbface050b3092266aaa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Sun, 22 Mar 2026 16:47:51 +0100 Subject: [PATCH 132/180] merge --- Manifest.toml | 799 ++++++++++++++++-------------- Project.toml | 17 +- src/algorithms/param-curve.jl | 7 +- src/connectivity/Cannytools.jl | 309 ------------ src/connectivity/buildpoly.jl | 140 ++++++ src/connectivity/computeRM.jl | 90 ---- src/connectivity/connectcurves.jl | 5 +- src/connectivity/isolate.jl | 4 +- src/connectivity/paramcurve.jl | 219 -------- 9 files changed, 578 insertions(+), 1012 deletions(-) delete mode 100644 src/connectivity/Cannytools.jl create mode 100644 src/connectivity/buildpoly.jl delete mode 100644 src/connectivity/computeRM.jl delete mode 100644 src/connectivity/paramcurve.jl diff --git a/Manifest.toml b/Manifest.toml index 7faf1d8..b99aa50 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1,24 +1,42 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.10.1" +julia_version = "1.12.5" manifest_format = "2.0" -project_hash = "11eb6a443ca7f27cf646ae7e6a1882d5932bc885" +project_hash = "2c4a2b32eac43961eadb14cefb3546541a48cf2b" [[deps.AbstractAlgebra]] -deps = ["InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] -git-tree-sha1 = "709a09fbc20ae499657a9cd2e832c9946809ece8" +deps = ["LinearAlgebra", "MacroTools", "PrecompileTools", "Preferences", "Random", "RandomExtensions", "SparseArrays"] +git-tree-sha1 = "14745b9234c1e4ea56fb13f89dd7e798ffbfd399" uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" -version = "0.43.6" +version = "0.48.4" +weakdeps = ["Test"] + + [deps.AbstractAlgebra.extensions] + TestExt = "Test" + +[[deps.AlgebraicSolving]] +deps = ["Colors", "LinearAlgebra", "Logging", "Markdown", "Nemo", "Primes", "Printf", "Random", "StaticArrays", "msolve_jll"] +path = "." +uuid = "66b61cbe-0446-4d5d-9090-1ff510639f9d" +version = "0.10.4" + +[[deps.AliasTables]] +deps = ["PtrArrays", "Random"] +git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff" +uuid = "66dad0bd-aa9a-41b7-9441-69ab47430ed8" +version = "1.1.3" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" +version = "1.1.2" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" +version = "1.11.0" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +version = "1.11.0" [[deps.BitFlags]] git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" @@ -26,40 +44,44 @@ uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" version = "0.1.9" [[deps.Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1b96ea4a01afe0ea4090c5c8039690672dd13f2e" uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+1" +version = "1.0.9+0" [[deps.Cairo_jll]] deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "009060c9a6168704143100f36ab08f06c2af4642" +git-tree-sha1 = "a21c5464519504e41e0cbc91f0188e8ca23d7440" uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.18.2+1" +version = "1.18.5+1" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "bce6804e5e6044c6daab27bb533d1295e4a2e759" +git-tree-sha1 = "962834c22b66e32aa10f7611c08c8ca4e20749a9" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.6" +version = "0.7.8" [[deps.ColorSchemes]] deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] -git-tree-sha1 = "b5278586822443594ff615963b0c09755771b3e0" +git-tree-sha1 = "b0fd3f56fa442f81e0a47815c92245acfaaa4e34" uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.26.0" +version = "3.31.0" [[deps.ColorTypes]] deps = ["FixedPointNumbers", "Random"] -git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d" +git-tree-sha1 = "67e11ee83a43eb71ddc950302c53bf33f0690dfe" uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" -version = "0.11.5" +version = "0.12.1" +weakdeps = ["StyledStrings"] + + [deps.ColorTypes.extensions] + StyledStringsExt = "StyledStrings" [[deps.ColorVectorSpace]] deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] -git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249" +git-tree-sha1 = "8b3b6f87ce8f65a2b4f857528fd8d70086cd72b1" uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" -version = "0.10.0" +version = "0.11.0" [deps.ColorVectorSpace.extensions] SpecialFunctionsExt = "SpecialFunctions" @@ -69,30 +91,20 @@ version = "0.10.0" [[deps.Colors]] deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] -git-tree-sha1 = "362a287c3aa50601b0bc359053d5c2468f0e7ce0" +git-tree-sha1 = "37ea44092930b1811e666c3bc38065d7d87fcc74" uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.12.11" - -[[deps.Compat]] -deps = ["TOML", "UUIDs"] -git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.16.0" -weakdeps = ["Dates", "LinearAlgebra"] - - [deps.Compat.extensions] - CompatLinearAlgebraExt = "LinearAlgebra" +version = "0.13.1" [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.1.0+0" +version = "1.3.0+1" [[deps.ConcurrentUtilities]] deps = ["Serialization", "Sockets"] -git-tree-sha1 = "ea32b83ca4fefa1768dc84e504cc0a94fb1ab8d1" +git-tree-sha1 = "21d088c496ea22914fe80906eb5bce65755e5ec8" uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.4.2" +version = "2.5.1" [[deps.Contour]] git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8" @@ -105,20 +117,21 @@ uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" version = "1.16.0" [[deps.DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "1d0a14036acb104d9e89698bd408f63ab58cdc82" +deps = ["OrderedCollections"] +git-tree-sha1 = "e357641bb3e0638d353c4b29ea0e40ea644066a6" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.20" +version = "0.19.3" [[deps.Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +version = "1.11.0" [[deps.Dbus_jll]] deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "fc173b380865f70627d7dd1190dc2fce6cc105af" +git-tree-sha1 = "473e9afc9cf30814eb67ffa5f2db7df82c3ad9fd" uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab" -version = "1.14.10+0" +version = "1.16.2+0" [[deps.DelimitedFiles]] deps = ["Mmap"] @@ -127,54 +140,54 @@ uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" version = "1.9.1" [[deps.DocStringExtensions]] -deps = ["LibGit2"] -git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +git-tree-sha1 = "7442a5dfe1ebb773c29cc2962a8980f47221d76c" uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.9.3" +version = "0.9.5" [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.6.0" +version = "1.7.0" [[deps.EpollShim_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8e9441ee83492030ace98f9789a654a6d0b1f643" +git-tree-sha1 = "8a4be429317c42cfae6a7fc03c31bad1970c310d" uuid = "2702e6a9-849d-5ed8-8c21-79e8b8f9ee43" -version = "0.0.20230411+0" +version = "0.0.20230411+1" [[deps.ExceptionUnwrapping]] deps = ["Test"] -git-tree-sha1 = "dcb08a0d93ec0b1cdc4af184b26b591e9695423a" +git-tree-sha1 = "d36f682e590a83d63d1c7dbd287573764682d12a" uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" -version = "0.1.10" +version = "0.1.11" [[deps.Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "1c6317308b9dc757616f0b5cb379db10494443a7" +git-tree-sha1 = "27af30de8b5445644e8ffe3bcb0d72049c089cf1" uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.6.2+0" +version = "2.7.3+0" [[deps.FFMPEG]] deps = ["FFMPEG_jll"] -git-tree-sha1 = "53ebe7511fa11d33bec688a9178fac4e49eeee00" +git-tree-sha1 = "95ecf07c2eea562b5adbd0696af6db62c0f52560" uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" -version = "0.4.2" +version = "0.4.5" [[deps.FFMPEG_jll]] deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "466d45dc38e15794ec7d5d63ec03d776a9aff36e" +git-tree-sha1 = "01ba9d15e9eae375dc1eb9589df76b3572acd3f2" uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.4.4+1" +version = "8.0.1+0" [[deps.FLINT_jll]] deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "OpenBLAS32_jll"] -git-tree-sha1 = "4bde447e7bc6de73de36870fc942df02f4dd44b5" +git-tree-sha1 = "b730e276143ad63360611f64243117d00276b632" uuid = "e134572f-a0d5-539d-bddf-3cad8db41a82" -version = "300.100.300+0" +version = "301.400.1+0" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" +version = "1.11.0" [[deps.FixedPointNumbers]] deps = ["Statistics"] @@ -184,9 +197,9 @@ version = "0.8.5" [[deps.Fontconfig_jll]] deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"] -git-tree-sha1 = "db16beca600632c95fc8aca29890d83788dd8b23" +git-tree-sha1 = "f85dac9a96a01087df6e3a749840015a0ca3817d" uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" -version = "2.13.96+0" +version = "2.17.1+0" [[deps.Format]] git-tree-sha1 = "9c68794ef81b08086aeb32eeaf33531668d5f5fc" @@ -195,56 +208,68 @@ version = "1.3.7" [[deps.FreeType2_jll]] deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "5c1d8ae0efc6c2e7b1fc502cbe25def8f661b7bc" +git-tree-sha1 = "2c5512e11c791d1baed2049c5652441b28fc6a31" uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.13.2+0" +version = "2.13.4+0" [[deps.FriBidi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "1ed150b39aebcc805c26b93a8d0122c940f64ce2" +git-tree-sha1 = "7a214fdac5ed5f59a22c2d9a885a16da1c74bbc7" uuid = "559328eb-81f9-559d-9380-de523a88c83c" -version = "1.0.14+0" +version = "1.0.17+0" [[deps.GLFW_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll", "libdecor_jll", "xkbcommon_jll"] -git-tree-sha1 = "532f9126ad901533af1d4f5c198867227a7bb077" +git-tree-sha1 = "b7bfd56fa66616138dfe5237da4dc13bbd83c67f" uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" -version = "3.4.0+1" +version = "3.4.1+0" [[deps.GMP_jll]] deps = ["Artifacts", "Libdl"] uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" -version = "6.2.1+6" +version = "6.3.0+2" [[deps.GR]] deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Preferences", "Printf", "Qt6Wayland_jll", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "p7zip_jll"] -git-tree-sha1 = "ee28ddcd5517d54e417182fec3886e7412d3926f" +git-tree-sha1 = "ee0585b62671ce88e48d3409733230b401c9775c" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.73.8" +version = "0.73.22" + + [deps.GR.extensions] + IJuliaExt = "IJulia" + + [deps.GR.weakdeps] + IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" [[deps.GR_jll]] deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "f31929b9e67066bee48eec8b03c0df47d31a74b3" +git-tree-sha1 = "7dd7173f7129a1b6f84e0f03e0890cd1189b0659" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.73.8+0" +version = "0.73.22+0" + +[[deps.GettextRuntime_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll"] +git-tree-sha1 = "45288942190db7c5f760f59c04495064eedf9340" +uuid = "b0724c58-0f36-5564-988d-3bb0596ebc4a" +version = "0.22.4+0" -[[deps.Gettext_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" -uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" -version = "0.21.0+0" +[[deps.Ghostscript_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Zlib_jll"] +git-tree-sha1 = "38044a04637976140074d0b0621c1edf0eb531fd" +uuid = "61579ee1-b43e-5ca0-a5da-69d92c66a64b" +version = "9.55.1+0" [[deps.Glib_jll]] -deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "674ff0db93fffcd11a3573986e550d66cd4fd71f" +deps = ["Artifacts", "GettextRuntime_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "24f6def62397474a297bfcec22384101609142ed" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.80.5+0" +version = "2.86.3+0" [[deps.Graphite2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8a6dbda1fd736d60cc477d99f2e7a042acfa46e8" uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.14+0" +version = "1.3.15+0" [[deps.Grisu]] git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" @@ -252,78 +277,90 @@ uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" version = "1.0.2" [[deps.HTTP]] -deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "d1d712be3164d61d1fb98e7ce9bcbc6cc06b45ed" +deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "PrecompileTools", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] +git-tree-sha1 = "5e6fe50ae7f23d171f44e311c2960294aaa0beb5" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.10.8" +version = "1.10.19" [[deps.HarfBuzz_jll]] deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll"] -git-tree-sha1 = "401e4f3f30f43af2c8478fc008da50096ea5240f" +git-tree-sha1 = "f923f9a774fcf3f5cb761bfa43aeadd689714813" uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" -version = "8.3.1+0" +version = "8.5.1+0" [[deps.IntegerMathUtils]] -git-tree-sha1 = "b8ffb903da9f7b8cf695a8bead8e01814aa24b30" +git-tree-sha1 = "4c1acff2dc6b6967e7e750633c50bc3b8d83e617" uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" -version = "0.1.2" +version = "0.1.3" [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +version = "1.11.0" [[deps.IrrationalConstants]] -git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" +git-tree-sha1 = "b2d91fe939cae05960e760110b328288867b5758" uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.2.2" +version = "0.2.6" [[deps.JLFzf]] -deps = ["Pipe", "REPL", "Random", "fzf_jll"] -git-tree-sha1 = "39d64b09147620f5ffbf6b2d3255be3c901bec63" +deps = ["REPL", "Random", "fzf_jll"] +git-tree-sha1 = "82f7acdc599b65e0f8ccd270ffa1467c21cb647b" uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" -version = "0.1.8" +version = "0.1.11" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "be3dc50a92e5a386872a493a10050136d4703f9b" +git-tree-sha1 = "0533e564aae234aff59ab625543145446d8b6ec2" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.6.1" +version = "1.7.1" [[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" +deps = ["Dates", "Logging", "Parsers", "PrecompileTools", "StructUtils", "UUIDs", "Unicode"] +git-tree-sha1 = "b3ad4a0255688dcb895a52fafbaae3023b588a90" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.4" +version = "1.4.0" + + [deps.JSON.extensions] + JSONArrowExt = ["ArrowTypes"] + + [deps.JSON.weakdeps] + ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" [[deps.JpegTurbo_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "25ee0be4d43d0269027024d75a24c24d6c6e590c" +git-tree-sha1 = "b6893345fd6658c8e475d40155789f4860ac3b21" uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "3.0.4+0" +version = "3.1.4+0" + +[[deps.JuliaSyntaxHighlighting]] +deps = ["StyledStrings"] +uuid = "ac6e5ff7-fb65-4e79-a425-ec3bc9c03011" +version = "1.12.0" [[deps.LAME_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "170b660facf5df5de098d866564877e119141cbd" +git-tree-sha1 = "059aabebaa7c82ccb853dd4a0ee9d17796f7e1bc" uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.2+0" +version = "3.100.3+0" [[deps.LERC_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "36bdbc52f13a7d1dcb0f3cd694e01677a515655b" +git-tree-sha1 = "aaafe88dccbd957a8d82f7d05be9b69172e0cee3" uuid = "88015f11-f218-50d7-93a8-a6af411a945d" -version = "4.0.0+0" +version = "4.0.1+0" [[deps.LLVMOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "78211fb6cbc872f77cad3fc0b6cf647d923f4929" +git-tree-sha1 = "eb62a3deb62fc6d8822c0c4bef73e4412419c5d8" uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" -version = "18.1.7+0" +version = "18.1.8+0" [[deps.LZO_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "854a9c268c43b77b0a27f22d7fab8d33cdb3a731" +git-tree-sha1 = "1c602b1127f4751facb671441ca72715cc95938a" uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.2+1" +version = "2.10.3+0" [[deps.LaTeXStrings]] git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c" @@ -331,20 +368,22 @@ uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" version = "1.4.0" [[deps.Latexify]] -deps = ["Format", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] -git-tree-sha1 = "ce5f5621cac23a86011836badfedf664a612cee4" +deps = ["Format", "Ghostscript_jll", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] +git-tree-sha1 = "44f93c47f9cd6c7e431f2f2091fcba8f01cd7e8f" uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" -version = "0.16.5" +version = "0.16.10" [deps.Latexify.extensions] DataFramesExt = "DataFrames" SparseArraysExt = "SparseArrays" SymEngineExt = "SymEngine" + TectonicExt = "tectonic_jll" [deps.Latexify.weakdeps] DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" + tectonic_jll = "d7dd28d6-a5e6-559c-9131-7eb760cdacc5" [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] @@ -352,84 +391,75 @@ uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" version = "0.6.4" [[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "OpenSSL_jll", "Zlib_jll", "nghttp2_jll"] uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "8.4.0+0" +version = "8.15.0+0" [[deps.LibGit2]] -deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] +deps = ["LibGit2_jll", "NetworkOptions", "Printf", "SHA"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" +version = "1.11.0" [[deps.LibGit2_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "OpenSSL_jll"] uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" -version = "1.6.4+0" +version = "1.9.0+0" [[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +deps = ["Artifacts", "Libdl", "OpenSSL_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.11.0+1" +version = "1.11.3+1" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" +version = "1.11.0" [[deps.Libffi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "c8da7e6a91781c41a863611c7e966098d783c57a" uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" -version = "3.2.2+1" - -[[deps.Libgcrypt_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll"] -git-tree-sha1 = "9fd170c4bbfd8b935fdc5f8b7aa33532c991a673" -uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" -version = "1.8.11+0" +version = "3.4.7+0" [[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "d36c21b9e7c172a44a10484125024495e2625ac0" uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.6.0+0" - -[[deps.Libgpg_error_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "fbb1f2bef882392312feb1ede3615ddc1e9b99ed" -uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" -version = "1.49.0+0" +version = "1.7.1+1" [[deps.Libiconv_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" +git-tree-sha1 = "be484f5c92fad0bd8acfef35fe017900b0b73809" uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.17.0+0" +version = "1.18.0+0" [[deps.Libmount_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "0c4f9c4f1a50d8f35048fa0532dabbadf702f81e" +git-tree-sha1 = "97bbca976196f2a1eb9607131cb108c69ec3f8a6" uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.40.1+0" +version = "2.41.3+0" [[deps.Libtiff_jll]] deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "b404131d06f7886402758c9ce2214b636eb4d54a" +git-tree-sha1 = "f04133fe05eff1667d2054c53d59f9122383fe05" uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.7.0+0" +version = "4.7.2+0" [[deps.Libuuid_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "5ee6203157c120d79034c748a2acba45b82b8807" +git-tree-sha1 = "d0205286d9eceadc518742860bf23f703779a3d6" uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.40.1+0" +version = "2.41.3+0" [[deps.LinearAlgebra]] deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +version = "1.12.0" [[deps.LogExpFunctions]] deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "a2d09619db4e765091ee5c6ffe8872849de0feea" +git-tree-sha1 = "13ca9e2586b89836fd20cccf56e57e2b9ae7f38f" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.28" +version = "0.3.29" [deps.LogExpFunctions.extensions] LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" @@ -443,43 +473,45 @@ version = "0.3.28" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +version = "1.11.0" [[deps.LoggingExtras]] deps = ["Dates", "Logging"] -git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" +git-tree-sha1 = "f00544d95982ea270145636c181ceda21c4e2575" uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.0.3" +version = "1.2.0" [[deps.MPFR_jll]] deps = ["Artifacts", "GMP_jll", "Libdl"] uuid = "3a97d323-0669-5f0c-9066-3539efd106a3" -version = "4.2.0+1" +version = "4.2.2+0" [[deps.MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" +git-tree-sha1 = "1e0228a030642014fe5cfe68c2c0a818f9e3f522" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.13" +version = "0.5.16" [[deps.Markdown]] -deps = ["Base64"] +deps = ["Base64", "JuliaSyntaxHighlighting", "StyledStrings"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" +version = "1.11.0" [[deps.MbedTLS]] deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] -git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" +git-tree-sha1 = "8785729fa736197687541f7053f6d8ab7fc44f92" uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.1.9" +version = "1.1.10" [[deps.MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "ff69a2b1330bcb730b9ac1ab7dd680176f5896b8" uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.2+1" +version = "2.28.1010+0" [[deps.Measures]] -git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" +git-tree-sha1 = "b513cedd20d9c914783d8ad83d08120702bf2c77" uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" -version = "0.3.2" +version = "0.3.3" [[deps.Missings]] deps = ["DataAPI"] @@ -489,122 +521,121 @@ version = "1.2.0" [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" +version = "1.11.0" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2023.1.10" +version = "2025.11.4" [[deps.NaNMath]] deps = ["OpenLibm_jll"] -git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" +git-tree-sha1 = "9b8215b1ee9e78a293f99797cd31375471b2bcae" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "1.0.2" +version = "1.1.3" [[deps.Nemo]] -deps = ["AbstractAlgebra", "FLINT_jll", "Libdl", "LinearAlgebra", "Pkg", "Random", "RandomExtensions", "SHA"] -git-tree-sha1 = "b02de63b9379b37f75488c299f2f1f49da666d84" +deps = ["AbstractAlgebra", "FLINT_jll", "LinearAlgebra", "Random", "RandomExtensions", "SHA"] +git-tree-sha1 = "dc1998cf33825b8e2550309acf72adf462cd57c8" uuid = "2edaba10-b0f1-5616-af89-8c11ac63239a" -version = "0.47.2" +version = "0.54.1" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.2.0" +version = "1.3.0" [[deps.Ogg_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "b6aa4566bb7ae78498a5e68943863fa8b5231b59" uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" -version = "1.3.5+1" +version = "1.3.6+0" [[deps.OpenBLAS32_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6065c4cff8fee6c6770b277af45d5082baacdba1" +git-tree-sha1 = "46cce8b42186882811da4ce1f4c7208b02deb716" uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" -version = "0.3.24+0" +version = "0.3.30+0" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.23+4" +version = "0.3.29+0" [[deps.OpenLibm_jll]] deps = ["Artifacts", "Libdl"] uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.1+2" +version = "0.8.7+0" [[deps.OpenSSL]] -deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "38cb508d080d21dc1128f7fb04f20387ed4c0af4" +deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "NetworkOptions", "OpenSSL_jll", "Sockets"] +git-tree-sha1 = "1d1aaa7d449b58415f97d2839c318b70ffb525a0" uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.4.3" +version = "1.6.1" [[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "7493f61f55a6cce7325f197443aa80d32554ba10" +deps = ["Artifacts", "Libdl"] uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.15+1" +version = "3.5.4+0" [[deps.Opus_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6703a85cb3781bd5909d48730a67205f3f31a575" +git-tree-sha1 = "e2bb57a313a74b8104064b7efd01406c0a50d2ff" uuid = "91d4177d-7536-5919-b921-800302f37372" -version = "1.3.3+0" +version = "1.6.1+0" [[deps.OrderedCollections]] -git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +git-tree-sha1 = "05868e21324cede2207c6f0f466b4bfef6d5e7ee" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.3" +version = "1.8.1" [[deps.PCRE2_jll]] deps = ["Artifacts", "Libdl"] uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.42.0+1" +version = "10.44.0+1" [[deps.Pango_jll]] deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e127b609fb9ecba6f201ba7ab753d5a605d53801" +git-tree-sha1 = "0662b083e11420952f2e62e17eddae7fc07d5997" uuid = "36c8627f-9965-5494-a995-c6b170f724f3" -version = "1.54.1+0" +version = "1.57.0+0" [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" +git-tree-sha1 = "7d2f8f21da5db6a806faf7b9b292296da42b2810" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.8.1" - -[[deps.Pipe]] -git-tree-sha1 = "6842804e7867b115ca9de748a0cf6b364523c16d" -uuid = "b98c9c47-44ae-5843-9183-064241ee97a0" -version = "1.3.0" +version = "2.8.3" [[deps.Pixman_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] -git-tree-sha1 = "35621f10a7531bc8fa58f74610b1bfb70a3cfc6b" +git-tree-sha1 = "db76b1ecd5e9715f3d043cec13b2ec93ce015d53" uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.43.4+0" +version = "0.44.2+0" [[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.10.0" +version = "1.12.1" +weakdeps = ["REPL"] + + [deps.Pkg.extensions] + REPLExt = "REPL" [[deps.PlotThemes]] deps = ["PlotUtils", "Statistics"] -git-tree-sha1 = "6e55c6841ce3411ccb3457ee52fc48cb698d6fb0" +git-tree-sha1 = "41031ef3a1be6f5bbbf3e8073f210556daeae5ca" uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" -version = "3.2.0" +version = "3.3.0" [[deps.PlotUtils]] deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "StableRNGs", "Statistics"] -git-tree-sha1 = "650a022b2ce86c7dcfbdecf00f78afeeb20e5655" +git-tree-sha1 = "26ca162858917496748aad52bb5d3be4d26a228a" uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.4.2" +version = "1.4.4" [[deps.Plots]] deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "TOML", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] -git-tree-sha1 = "45470145863035bb124ca51b320ed35d071cc6c2" +git-tree-sha1 = "fd2476993d84cedaaf6a03cf1a291d9acc18f70e" uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.40.8" +version = "1.41.0" [deps.Plots.extensions] FileIOExt = "FileIO" @@ -622,57 +653,65 @@ version = "1.40.8" [[deps.PrecompileTools]] deps = ["Preferences"] -git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" +git-tree-sha1 = "07a921781cab75691315adc645096ed5e370cb77" uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.2.1" +version = "1.3.3" [[deps.Preferences]] deps = ["TOML"] -git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" +git-tree-sha1 = "8b770b60760d4451834fe79dd483e318eee709c4" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.4.3" +version = "1.5.2" [[deps.Primes]] deps = ["IntegerMathUtils"] -git-tree-sha1 = "cb420f77dc474d23ee47ca8d14c90810cafe69e7" +git-tree-sha1 = "25cdd1d20cd005b52fc12cb6be3f75faaf59bb9b" uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" -version = "0.5.6" +version = "0.5.7" [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" +version = "1.11.0" + +[[deps.PtrArrays]] +git-tree-sha1 = "4fbbafbc6251b883f4d2705356f3641f3652a7fe" +uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" +version = "1.4.0" [[deps.Qt6Base_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Vulkan_Loader_jll", "Xorg_libSM_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_cursor_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "libinput_jll", "xkbcommon_jll"] -git-tree-sha1 = "492601870742dcd38f233b23c3ec629628c1d724" +git-tree-sha1 = "34f7e5d2861083ec7596af8b8c092531facf2192" uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" -version = "6.7.1+1" +version = "6.8.2+2" [[deps.Qt6Declarative_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6ShaderTools_jll"] -git-tree-sha1 = "e5dd466bf2569fe08c91a2cc29c1003f4797ac3b" +git-tree-sha1 = "da7adf145cce0d44e892626e647f9dcbe9cb3e10" uuid = "629bc702-f1f5-5709-abd5-49b8460ea067" -version = "6.7.1+2" +version = "6.8.2+1" [[deps.Qt6ShaderTools_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll"] -git-tree-sha1 = "1a180aeced866700d4bebc3120ea1451201f16bc" +git-tree-sha1 = "9eca9fc3fe515d619ce004c83c31ffd3f85c7ccf" uuid = "ce943373-25bb-56aa-8eca-768745ed7b5a" -version = "6.7.1+1" +version = "6.8.2+1" [[deps.Qt6Wayland_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6Declarative_jll"] -git-tree-sha1 = "729927532d48cf79f49070341e1d918a65aba6b0" +git-tree-sha1 = "8f528b0851b5b7025032818eb5abbeb8a736f853" uuid = "e99dba38-086e-5de3-a5b1-6e4c66e897c3" -version = "6.7.1+1" +version = "6.8.2+2" [[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +deps = ["InteractiveUtils", "JuliaSyntaxHighlighting", "Markdown", "Sockets", "StyledStrings", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" +version = "1.11.0" [[deps.Random]] deps = ["SHA"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +version = "1.11.0" [[deps.RandomExtensions]] deps = ["Random", "SparseArrays"] @@ -705,9 +744,9 @@ version = "1.0.1" [[deps.Requires]] deps = ["UUIDs"] -git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +git-tree-sha1 = "62389eeff14780bfe55195b7204c0d8738436d64" uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.0" +version = "1.3.1" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" @@ -715,12 +754,13 @@ version = "0.7.0" [[deps.Scratch]] deps = ["Dates"] -git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" +git-tree-sha1 = "9b81b8393e50b7d4e6d0a9f14e192294d3b7c109" uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.1" +version = "1.3.0" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +version = "1.11.0" [[deps.Showoff]] deps = ["Dates", "Grisu"] @@ -735,29 +775,30 @@ version = "1.2.0" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" +version = "1.11.0" [[deps.SortingAlgorithms]] deps = ["DataStructures"] -git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" +git-tree-sha1 = "64d974c2e6fdf07f8155b5b2ca2ffa9069b608d9" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.2.1" +version = "1.2.2" [[deps.SparseArrays]] deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" -version = "1.10.0" +version = "1.12.0" [[deps.StableRNGs]] deps = ["Random"] -git-tree-sha1 = "83e6cce8324d49dfaf9ef059227f91ed4441a8e5" +git-tree-sha1 = "4f96c596b8c8258cc7d3b19797854d368f243ddc" uuid = "860ef19b-820b-49d6-a774-d7a799459cd3" -version = "1.0.2" +version = "1.0.4" [[deps.StaticArrays]] deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "eeafab08ae20c62c44c8399ccb9354a04b80db50" +git-tree-sha1 = "0f529006004a8be48f1be25f3451186579392d47" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.7" +version = "1.9.17" [deps.StaticArrays.extensions] StaticArraysChainRulesCoreExt = "ChainRulesCore" @@ -768,31 +809,54 @@ version = "1.9.7" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" [[deps.StaticArraysCore]] -git-tree-sha1 = "192954ef1208c7019899fbf8049e717f92959682" +git-tree-sha1 = "6ab403037779dae8c514bad259f32a447262455a" uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.3" +version = "1.4.4" [[deps.Statistics]] -deps = ["LinearAlgebra", "SparseArrays"] +deps = ["LinearAlgebra"] +git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0" uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" -version = "1.10.0" +version = "1.11.1" +weakdeps = ["SparseArrays"] + + [deps.Statistics.extensions] + SparseArraysExt = ["SparseArrays"] [[deps.StatsAPI]] deps = ["LinearAlgebra"] -git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" +git-tree-sha1 = "178ed29fd5b2a2cfc3bd31c13375ae925623ff36" uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.7.0" +version = "1.8.0" [[deps.StatsBase]] -deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "5cf7606d6cef84b543b483848d4ae08ad9832b21" +deps = ["AliasTables", "DataAPI", "DataStructures", "IrrationalConstants", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "aceda6f4e598d331548e04cc6b2124a6148138e3" uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.34.3" +version = "0.34.10" + +[[deps.StructUtils]] +deps = ["Dates", "UUIDs"] +git-tree-sha1 = "28145feabf717c5d65c1d5e09747ee7b1ff3ed13" +uuid = "ec057cc2-7a8d-4b58-b3b3-92acb9f63b42" +version = "2.6.3" + + [deps.StructUtils.extensions] + StructUtilsMeasurementsExt = ["Measurements"] + StructUtilsTablesExt = ["Tables"] + + [deps.StructUtils.weakdeps] + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" + +[[deps.StyledStrings]] +uuid = "f489334b-da3d-4c2e-b8f0-e476e12c162b" +version = "1.11.0" [[deps.SuiteSparse_jll]] deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" -version = "7.2.1+1" +version = "7.8.3+2" [[deps.TOML]] deps = ["Dates"] @@ -813,6 +877,7 @@ version = "0.1.1" [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +version = "1.11.0" [[deps.TranscodingStreams]] git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" @@ -820,16 +885,18 @@ uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" version = "0.11.3" [[deps.URIs]] -git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" +git-tree-sha1 = "bef26fb046d031353ef97a82e3fdb6afe7f21b1a" uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.5.1" +version = "1.6.1" [[deps.UUIDs]] deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" +version = "1.11.0" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" +version = "1.11.0" [[deps.UnicodeFun]] deps = ["REPL"] @@ -839,23 +906,27 @@ version = "0.4.1" [[deps.Unitful]] deps = ["Dates", "LinearAlgebra", "Random"] -git-tree-sha1 = "d95fe458f26209c66a187b1114df96fd70839efd" +git-tree-sha1 = "6258d453843c466d84c17a58732dda5deeb8d3af" uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.21.0" +version = "1.24.0" [deps.Unitful.extensions] ConstructionBaseUnitfulExt = "ConstructionBase" + ForwardDiffExt = "ForwardDiff" InverseFunctionsUnitfulExt = "InverseFunctions" + PrintfExt = "Printf" [deps.Unitful.weakdeps] ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" [[deps.UnitfulLatexify]] deps = ["LaTeXStrings", "Latexify", "Unitful"] -git-tree-sha1 = "975c354fcd5f7e1ddcc1f1a23e6e091d99e99bc8" +git-tree-sha1 = "af305cc62419f9bd61b6644d19170a4d258c7967" uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728" -version = "1.6.4" +version = "1.7.0" [[deps.Unzip]] git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" @@ -869,224 +940,194 @@ uuid = "a44049a8-05dd-5a78-86c9-5fde0876e88c" version = "1.3.243+0" [[deps.Wayland_jll]] -deps = ["Artifacts", "EpollShim_jll", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "7558e29847e99bc3f04d6569e82d0f5c54460703" +deps = ["Artifacts", "EpollShim_jll", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll"] +git-tree-sha1 = "96478df35bbc2f3e1e791bc7a3d0eeee559e60e9" uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" -version = "1.21.0+1" - -[[deps.Wayland_protocols_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "93f43ab61b16ddfb2fd3bb13b3ce241cafb0e6c9" -uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" -version = "1.31.0+0" - -[[deps.XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "1165b0443d0eca63ac1e32b8c0eb69ed2f4f8127" -uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.13.3+0" - -[[deps.XSLT_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "a54ee957f4c86b526460a720dbc882fa5edcbefc" -uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.41+0" +version = "1.24.0+0" [[deps.XZ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "ac88fb95ae6447c8dda6a5503f3bafd496ae8632" +git-tree-sha1 = "9cce64c0fdd1960b597ba7ecda2950b5ed957438" uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.4.6+0" +version = "5.8.2+0" [[deps.Xorg_libICE_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "326b4fea307b0b39892b3e85fa451692eda8d46c" +git-tree-sha1 = "a3ea76ee3f4facd7a64684f9af25310825ee3668" uuid = "f67eecfb-183a-506d-b269-f58e52b52d7c" -version = "1.1.1+0" +version = "1.1.2+0" [[deps.Xorg_libSM_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libICE_jll"] -git-tree-sha1 = "3796722887072218eabafb494a13c963209754ce" +git-tree-sha1 = "9c7ad99c629a44f81e7799eb05ec2746abb5d588" uuid = "c834827a-8449-5923-a945-d239c165b7dd" -version = "1.2.4+0" +version = "1.2.6+0" [[deps.Xorg_libX11_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +git-tree-sha1 = "808090ede1d41644447dd5cbafced4731c56bd2f" uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.8.6+0" +version = "1.8.13+0" [[deps.Xorg_libXau_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +git-tree-sha1 = "aa1261ebbac3ccc8d16558ae6799524c450ed16b" uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.11+0" +version = "1.0.13+0" [[deps.Xorg_libXcursor_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "6c74ca84bbabc18c4547014765d194ff0b4dc9da" uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" -version = "1.2.0+4" +version = "1.2.4+0" [[deps.Xorg_libXdmcp_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +git-tree-sha1 = "52858d64353db33a56e13c341d7bf44cd0d7b309" uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.4+0" +version = "1.1.6+0" [[deps.Xorg_libXext_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85" +git-tree-sha1 = "1a4a26870bf1e5d26cd585e38038d399d7e65706" uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.6+0" +version = "1.3.8+0" [[deps.Xorg_libXfixes_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "75e00946e43621e09d431d9b95818ee751e6b2ef" uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" -version = "5.0.3+4" +version = "6.0.2+0" [[deps.Xorg_libXi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] -git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] +git-tree-sha1 = "a376af5c7ae60d29825164db40787f15c80c7c54" uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" -version = "1.7.10+4" +version = "1.8.3+0" [[deps.Xorg_libXinerama_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] -git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll"] +git-tree-sha1 = "0ba01bc7396896a4ace8aab67db31403c71628f4" uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" -version = "1.1.4+4" +version = "1.1.7+0" [[deps.Xorg_libXrandr_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "6c174ef70c96c76f4c3f4d3cfbe09d018bcd1b53" uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" -version = "1.5.2+4" +version = "1.5.6+0" [[deps.Xorg_libXrender_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "47e45cd78224c53109495b3e324df0c37bb61fbe" +git-tree-sha1 = "7ed9347888fac59a618302ee38216dd0379c480d" uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" -version = "0.9.11+0" - -[[deps.Xorg_libpthread_stubs_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" -uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" -version = "0.1.1+0" +version = "0.9.12+0" [[deps.Xorg_libxcb_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "bcd466676fef0878338c61e655629fa7bbc69d8e" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXau_jll", "Xorg_libXdmcp_jll"] +git-tree-sha1 = "bfcaf7ec088eaba362093393fe11aa141fa15422" uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.17.0+0" +version = "1.17.1+0" [[deps.Xorg_libxkbfile_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "730eeca102434283c50ccf7d1ecdadf521a765a4" +git-tree-sha1 = "ed756a03e95fff88d8f738ebc2849431bdd4fd1a" uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" -version = "1.1.2+0" +version = "1.2.0+0" [[deps.Xorg_xcb_util_cursor_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_jll", "Xorg_xcb_util_renderutil_jll"] -git-tree-sha1 = "04341cb870f29dcd5e39055f895c39d016e18ccd" +git-tree-sha1 = "9750dc53819eba4e9a20be42349a6d3b86c7cdf8" uuid = "e920d4aa-a673-5f3a-b3d7-f755a4d47c43" -version = "0.1.4+0" +version = "0.1.6+0" [[deps.Xorg_xcb_util_image_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"] +git-tree-sha1 = "f4fc02e384b74418679983a97385644b67e1263b" uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" -version = "0.4.0+1" +version = "0.4.1+0" [[deps.Xorg_xcb_util_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] -git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll"] +git-tree-sha1 = "68da27247e7d8d8dafd1fcf0c3654ad6506f5f97" uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" -version = "0.4.0+1" +version = "0.4.1+0" [[deps.Xorg_xcb_util_keysyms_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"] +git-tree-sha1 = "44ec54b0e2acd408b0fb361e1e9244c60c9c3dd4" uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" -version = "0.4.0+1" +version = "0.4.1+0" [[deps.Xorg_xcb_util_renderutil_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"] +git-tree-sha1 = "5b0263b6d080716a02544c55fdff2c8d7f9a16a0" uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" -version = "0.3.9+1" +version = "0.3.10+0" [[deps.Xorg_xcb_util_wm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"] +git-tree-sha1 = "f233c83cad1fa0e70b7771e0e21b061a116f2763" uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" -version = "0.4.1+1" +version = "0.4.2+0" [[deps.Xorg_xkbcomp_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxkbfile_jll"] -git-tree-sha1 = "330f955bc41bb8f5270a369c473fc4a5a4e4d3cb" +git-tree-sha1 = "801a858fc9fb90c11ffddee1801bb06a738bda9b" uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" -version = "1.4.6+0" +version = "1.4.7+0" [[deps.Xorg_xkeyboard_config_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"] -git-tree-sha1 = "691634e5453ad362044e2ad653e79f3ee3bb98c3" +git-tree-sha1 = "00af7ebdc563c9217ecc67776d1bbf037dbcebf4" uuid = "33bec58e-1273-512f-9401-5d533626f822" -version = "2.39.0+0" +version = "2.44.0+0" [[deps.Xorg_xtrans_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +git-tree-sha1 = "a63799ff68005991f9d9491b6e95bd3478d783cb" uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.5.0+0" +version = "1.6.0+0" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.13+1" +version = "1.3.1+2" [[deps.Zstd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "555d1076590a6cc2fdee2ef1469451f872d8b41b" +git-tree-sha1 = "446b23e73536f84e8037f5dce465e92275f6a308" uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.6+1" +version = "1.5.7+1" [[deps.eudev_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "gperf_jll"] -git-tree-sha1 = "431b678a28ebb559d224c0b6b6d01afce87c51ba" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "c3b0e6196d50eab0c5ed34021aaa0bb463489510" uuid = "35ca27e7-8b34-5b7f-bca9-bdc33f59eb06" -version = "3.2.9+0" +version = "3.2.14+0" [[deps.fzf_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "936081b536ae4aa65415d869287d43ef3cb576b2" +git-tree-sha1 = "b6a34e0e0960190ac2a4363a1bd003504772d631" uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" -version = "0.53.0+0" - -[[deps.gperf_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "3516a5630f741c9eecb3720b1ec9d8edc3ecc033" -uuid = "1a1c6b14-54f6-533d-8383-74cd7377aa70" -version = "3.1.1+0" +version = "0.61.1+0" [[deps.libaom_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "1827acba325fdcdf1d2647fc8d5301dd9ba43a9d" +git-tree-sha1 = "371cc681c00a3ccc3fbc5c0fb91f58ba9bec1ecf" uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" -version = "3.9.0+0" +version = "3.13.1+0" [[deps.libass_jll]] deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "e17c115d55c5fbb7e52ebedb427a0dca79d4484e" +git-tree-sha1 = "125eedcb0a4a0bba65b657251ce1d27c8714e9d6" uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.15.2+0" +version = "0.17.4+0" [[deps.libblastrampoline_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.8.0+1" +version = "5.15.0+0" [[deps.libdecor_jll]] deps = ["Artifacts", "Dbus_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pango_jll", "Wayland_jll", "xkbcommon_jll"] @@ -1095,71 +1136,71 @@ uuid = "1183f4f0-6f2a-5f1a-908b-139f9cdfea6f" version = "0.2.2+0" [[deps.libevdev_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "141fe65dc3efabb0b1d5ba74e91f6ad26f84cc22" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "56d643b57b188d30cccc25e331d416d3d358e557" uuid = "2db6ffa8-e38f-5e21-84af-90c45d0032cc" -version = "1.11.0+0" +version = "1.13.4+0" [[deps.libfdk_aac_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8a22cf860a7d27e4f3498a0fe0811a7957badb38" +git-tree-sha1 = "646634dd19587a56ee2f1199563ec056c5f228df" uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "2.0.3+0" +version = "2.0.4+0" [[deps.libinput_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "eudev_jll", "libevdev_jll", "mtdev_jll"] -git-tree-sha1 = "ad50e5b90f222cfe78aa3d5183a20a12de1322ce" +deps = ["Artifacts", "JLLWrappers", "Libdl", "eudev_jll", "libevdev_jll", "mtdev_jll"] +git-tree-sha1 = "91d05d7f4a9f67205bd6cf395e488009fe85b499" uuid = "36db933b-70db-51c0-b978-0f229ee0e533" -version = "1.18.0+0" +version = "1.28.1+0" [[deps.libpng_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "b70c870239dc3d7bc094eb2d6be9b73d27bef280" +git-tree-sha1 = "e015f211ebb898c8180887012b938f3851e719ac" uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.44+0" +version = "1.6.55+0" [[deps.libvorbis_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] -git-tree-sha1 = "490376214c4721cdaca654041f635213c6165cb3" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll"] +git-tree-sha1 = "11e1772e7f3cc987e9d3de991dd4f6b2602663a5" uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.7+2" +version = "1.3.8+0" [[deps.msolve_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "FLINT_jll", "GMP_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl", "MPFR_jll"] -git-tree-sha1 = "31d4b30cc109d1e49293ce94d468a73932093aac" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "FLINT_jll", "GMP_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl", "MPFR_jll", "OpenBLAS32_jll"] +git-tree-sha1 = "acd1dc4f0213298fa267501e0ff5906952df2678" uuid = "6d01cc9a-e8f6-580e-8c54-544227e08205" -version = "0.700.300+0" +version = "0.900.400+0" [[deps.mtdev_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "814e154bdb7be91d78b6802843f76b6ece642f11" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "b4d631fd51f2e9cdd93724ae25b2efc198b059b1" uuid = "009596ad-96f7-51b1-9f1b-5ce2d5e8a71e" -version = "1.1.6+0" +version = "1.1.7+0" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.52.0+1" +version = "1.64.0+1" [[deps.p7zip_jll]] -deps = ["Artifacts", "Libdl"] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+2" +version = "17.7.0+0" [[deps.x264_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "14cc7083fc6dff3cc44f2bc435ee96d06ed79aa7" uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" -version = "2021.5.5+0" +version = "10164.0.1+0" [[deps.x265_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e7b67590c14d487e734dcb925924c5dc43ec85f3" uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" -version = "3.5.0+0" +version = "4.1.0+0" [[deps.xkbcommon_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] -git-tree-sha1 = "9c304562909ab2bab0262639bd4f444d7bc2be37" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] +git-tree-sha1 = "a1fc6507a40bf504527d0d4067d718f8e179b2b8" uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" -version = "1.4.1+1" +version = "1.13.0+0" diff --git a/Project.toml b/Project.toml index 5daa79a..9f7e4dd 100644 --- a/Project.toml +++ b/Project.toml @@ -1,35 +1,36 @@ name = "AlgebraicSolving" uuid = "66b61cbe-0446-4d5d-9090-1ff510639f9d" -authors = ["ederc ", "Mohab Safey El Din ", "Rémi Prebet "] version = "0.10.4" +authors = ["ederc ", "Mohab Safey El Din ", "Rémi Prebet "] [deps] +Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" Primes = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" msolve_jll = "6d01cc9a-e8f6-580e-8c54-544227e08205" -[extras] -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[targets] -test = ["Test"] - [compat] LinearAlgebra = "1.6" Logging = "1.6" Markdown = "1.6" Nemo = "0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.50, 0.51, 0.52, 0.53, 0.54" +Plots = "1.41.0" Printf = "1.6" Random = "1.6" StaticArrays = "1" Test = "1.6" julia = "1.10" msolve_jll = "0.900.300" + +[extras] +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test"] diff --git a/src/algorithms/param-curve.jl b/src/algorithms/param-curve.jl index e1757b4..13a5878 100644 --- a/src/algorithms/param-curve.jl +++ b/src/algorithms/param-curve.jl @@ -103,12 +103,13 @@ function rational_curve_parametrization( # Compute parametrization of each evaluation Lr = Vector{RationalParametrization}(undef, length(free_ind)) for j in 1:length(free_ind) - info_level>0 && print("Evaluated parametrizations: $(j+DEG+2-length(free_ind))/$(DEG+2)", "\r") + info_level>0 && print("Evaluated parametrizations: $(j)/$(length(free_ind))", "\r") Lr[j] = rational_parametrization(LFeval[j], nr_thrds=nr_thrds) end info_level>0 && println() for j in 1:length(free_ind) # Specialization checks: same vars order, generic degree + @show Lr[j].vars if Lr[j].vars == [symbols(R)[1:N-2]; symbols(R)[N]] && degree(Lr[j].elim) == DEG if isnothing(lc) lc = leading_coefficient(Lr[j].elim) @@ -118,8 +119,8 @@ function rational_curve_parametrization( fact = lc / leading_coefficient(Lr[j].elim) rr = [ p*fact for p in vcat(Lr[j].elim, Lr[j].denom, Lr[j].param) ] end - PARAM[j] = rr - _values[j] = curr_values[j] + PARAM[free_ind[j]] = rr + _values[free_ind[j]] = curr_values[j] used_ind[j] = true else info_level>0 && println("bad specialization: ", i+j-1) diff --git a/src/connectivity/Cannytools.jl b/src/connectivity/Cannytools.jl deleted file mode 100644 index 27b970b..0000000 --- a/src/connectivity/Cannytools.jl +++ /dev/null @@ -1,309 +0,0 @@ -# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables -function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} - R = parent(first(F)) - # Locate variables of R in newvarias - to_varias = Vector{Int}(undef,0) - for v in newvarias_S - ind = findfirst(x->x==v, R.S) - push!(to_varias, typeof(ind)==Nothing ? length(R.S)+1 : ind) - end - - ind_novarias = setdiff(eachindex(R.S), to_varias) - newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) - - res = typeof(first(F))[] - ctx = MPolyBuildCtx(newR) - - for f in F - for (e, c) in zip(exponent_vectors(f), coefficients(f)) - @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") - push!(e, 0) - push_term!(ctx, c, [e[i] for i in to_varias ]) - end - push!(res, finish(ctx)) - end - - return res -end - -function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: PolyRingElem} - R = parent(first(F)) - to_varias = [ v==R.S ? 1 : 2 for v in newvarias_S] - newR, = polynomial_ring(base_ring(R), newvarias_S) - - res = typeof(zero(newR))[] - ctx = MPolyBuildCtx(newR) - - LcF = [ filter!(t->t[2]!=0, collect(enumerate(coefficients(f)))) for f in F ] - for f in LcF - for (ef, c) in f - e = [ef-1, 0] - push_term!(ctx, c, [e[i] for i in to_varias ]) - end - push!(res, finish(ctx)) - end - - return res -end - -function change_ringvar(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) - return first(change_ringvar([f], newvarias_S)) -end - -function change_ringvar(F::Vector{P}, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {P <: MPolyRingElem, I <: Int64} - R = parent(first(F)) - return change_ringvar(F, [R.S[i] for i in ind_newvarias]) -end - -function change_ringvar(f::MPolyRingElem, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {I <: Int64} - R = parent(f) - return first(change_ringvar([f], [R.S[i] for i in ind_newvarias])) -end - -# Return the polynomials in F, but injected in the polynomial ring with the variables occuring in F -function change_ringvar(F::Vector{P}) where {P <: MPolyRingElem} - union_varias = Set{Symbol}() - for f in F - union!(union_varias, map(Symbol, vars(f)) ) - end - return change_ringvar(F, collect(union_varias)) -end - -function change_ringvar(f::MPolyRingElem) - return first(change_ringvar([f])) -end - -# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables -function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} - R = parent(first(F)) - # Locate variables of R in newvarias - to_varias = Vector{Int}(undef,0) - for v in newvarias_S - ind = findfirst(x->x==v, oldvarias_S) - push!(to_varias, typeof(ind)==Nothing ? length(oldvarias_S)+1 : ind) - end - - ind_novarias = setdiff(eachindex(oldvarias_S), to_varias) - newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) - - res = typeof(first(F))[] - ctx = MPolyBuildCtx(newR) - - for f in F - for (e, c) in zip(exponent_vectors(f), coefficients(f)) - @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") - push!(e, 0) - push_term!(ctx, c, [e[i] for i in to_varias ]) - end - push!(res, finish(ctx)) - end - - return res -end - -function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: PolyRingElem} - R = parent(first(F)) - A, (x,) = polynomial_ring(base_ring(R), oldvarias_S) - return change_ringvar_mod([ evaluate(f, x) for f in F ], newvarias_S, oldvarias_S) -end - -function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) - return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) -end - -#function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) -# return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) -#end - -function MPolyBuild(F::Vector{Vector{P}}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} - A = parent(first(first(F))) - R, = polynomial_ring(A, newvarias_S) - to_varias = [ i==idx ? 1 : 2 for i in eachindex(newvarias_S) ] - - res = typeof(zero(R))[] - ctx = MPolyBuildCtx(R) - - LcF = [ filter!(t->t[2]!=0, collect(enumerate(f))) for f in F ] - for f in LcF - for (ef, c) in f - e = [ef-1, 0] - push_term!(ctx, c, [e[i] for i in to_varias ]) - end - push!(res, finish(ctx)) - end - - return res -end - -function MPolyBuild(f::Vector{P}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} - return first(MPolyBuild([f], newvarias_S, idx)) -end - -function computepolarproj(j::Int, V::AlgebraicSolving.Ideal, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) - #println("$j $V $dimV") - # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj - @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" - R = parent(V) - n, hV = R.nvars, V.gens - c = n - dimV - - JW = transpose([ derivative(f, k) for k=j+1:n, f in hV ]) - sizeminors = c + dimproj - (j-1) - hW = vcat(hV, compute_minors(sizeminors, JW, R)) - filter!(!iszero, hW) - output_functions = Dict( - "minors" => x -> x, - "groebner" => x -> groebner_basis(x, info_level=verb,nr_thrds=nr_thrds), - "real" => x -> real_solutions(x, info_level=verb,nr_thrds=nr_thrds), - "interval" => x -> real_solutions(x, interval=true, info_level=verb,nr_thrds=nr_thrds), - "parametric" => x -> rational_parametrization(x, info_level=verb,nr_thrds=nr_thrds) - ) - - return output_functions[output](AlgebraicSolving.Ideal(hW)) -end - -function computepolarphi(j::Int, V::AlgebraicSolving.Ideal, phi::Vector{T} where T<:MPolyRingElem, dimV::Int, varbs; dimproj=j-1, characteristic=0, output="minors", verb=0, nr_thrds=1) - # Compute the set of points x where pi_j(T_x(V)) has dimension < dimproj - @assert output in ["minors", "groebner", "real", "parametric", "interval"] "Wrong output parameter" - R = parent(V) - n, hV = nvars(R), V.gens - c = n - dimV - - if j==0 - JW = transpose([ derivative(f, k) for k=1:n, f in hV ]) - sizeminors = c - else - JW = transpose([ derivative(f, k) for k=1:n, f in vcat(hV,phi) ]) - sizeminors = c + j + dimproj - (j-1) - end - hW = vcat(hV, compute_minors(sizeminors, JW, R)) - output_functions = Dict( - "minors" => x -> x, - "groebner" => x -> groebner_basis(x, info_level=verb,nr_thrds=nr_thrds), - "real" => x -> real_solutions(x, info_level=verb,nr_thrds=nr_thrds), - "interval" => x -> real_solutions(x, interval=true, info_level=verb,nr_thrds=nr_thrds), - "parametric" => x -> rational_parametrization(x, info_level=verb,nr_thrds=nr_thrds) - ) - - return output_functions[output](AlgebraicSolving.Ideal(hW)) -end - -function compute_minors(p, A, R) - #Computes the p-minors of a matrix A - n, m = size(A) - rowsmins = collect(combinations(1:n, p)) - colsmins = collect(combinations(1:m, p)) - mins = Vector{eltype(A)}(undef, length(rowsmins) * length(colsmins)) - k = 1 - for rowsmin in rowsmins - for colsmin in colsmins - mins[k] = detmpoly(A[rowsmin, colsmin], R) - k += 1 - end - end - - return mins -end - -function combinations(a, n) - # Helper function to recursively generate combinations - function _combinations(a, n, start, chosen) - if length(chosen) == n - return [chosen] - elseif start > length(a) - return Vector{Int}([]) - else - # Include the current element and recurse - include_current = _combinations(a, n, start + 1, [chosen; a[start]]) - # Exclude the current element and recurse - exclude_current = _combinations(a, n, start + 1, chosen) - return vcat(include_current, exclude_current) - end - end - return _combinations(a, n, 1, Vector{Int}([])) -end - -function detmpoly(A::Matrix{T} where T<:MPolyRingElem, R) - # Get the size of the matrix - n = size(A, 1) - if n != size(A, 2) - throw(ArgumentError("Matrix must be square")) - end - - if n == 1 - return A[1, 1] - end - - # Initialize the determinant polynomial - detA = zero(R) - - # Compute the determinant polynomial - for j = 1:n - submatrix = A[2:end, [i for i = 1:n if i != j]] - detA += (-1)^(1+j)*A[1, j] * detmpoly(submatrix, R) - end - - return detA -end - -function contfrac_convergents(x::Rational{Int}) - q = Rational{Int}[] - fpart, ipart = modf(x) - push!(q, ipart) - na, da, nb, db = Int(1), Int(0), Int(ipart), Int(1) - while true - fpart == 0 && return q - x = inv(fpart) - fpart, ipart = modf(x) - na, da, nb, db = nb, db, na+ipart*nb, da+ipart*db - push!(q, nb//db) - end -end - -function modfQQ(x::QQFieldElem) - ipart, fpart = [ f(numerator(x), denominator(x)) for f in [div, rem]] - return QQFieldElem(fpart, denominator(x)), ipart -end - -function small_mid_point(a::QQFieldElem,b::QQFieldElem) - a == b && return a - if b < a - a, b = b, a - end - x = (a+b)/ QQFieldElem(2) - fpart, ipart = modfQQ(x) - println("\n",fpart," , ", ipart) - q1, q2 = QQFieldElem(1//0), QQFieldElem(ipart,1) - while true - #println("(",q1," ; ",q2,")") - if numerator(fpart) == 0 || (q2 > a && q2 < b) - return q2 - end - x = inv(fpart) - fpart, ipart = modfQQ(x) - println(fpart," , ", ipart) - q1, q2 = q2, QQFieldElem(numerator(q1) + ipart*numerator(q2), denominator(q1) + ipart*denominator(q2)) - end -end - -function MidRationalPoints(S::Vector{Vector{QQFieldElem}}) - # S is a list of [ [l_1,r_1], ..., [l_n, r_n] ] - # such that the [l_i, r_i] are rational and disjoint open intervals. - # - # It orders the [l_i,r_i], removes repetitions and computes the simplest - # rational points between these intervals. - if isempty(S) - return QQFieldElem[] - end - S1 = sort(S, lt=(x, y) -> x[2] <= y[1]) - n = unique!(S1) |> length - ratioP = Vector{QQFieldElem}(undef, n-1) - for i in 1:(n- 1) - ri, li1 = S1[i][2], S1[i+1][1] - @assert ri < li1 "The intervals are not disjoint." - #ratioP[i] = small_mid_point(ri, li1) - ratioP[i] = simplest_between(ri, li1) - end - return ratioP -end - diff --git a/src/connectivity/buildpoly.jl b/src/connectivity/buildpoly.jl new file mode 100644 index 0000000..ae668c6 --- /dev/null +++ b/src/connectivity/buildpoly.jl @@ -0,0 +1,140 @@ +# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables +function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} + R = parent(first(F)) + # Locate variables of R in newvarias + to_varias = Vector{Int}(undef,0) + for v in newvarias_S + ind = findfirst(x->x==v, R.S) + push!(to_varias, typeof(ind)==Nothing ? length(R.S)+1 : ind) + end + + ind_novarias = setdiff(eachindex(R.S), to_varias) + newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) + + res = typeof(first(F))[] + ctx = MPolyBuildCtx(newR) + + for f in F + for (e, c) in zip(exponent_vectors(f), coefficients(f)) + @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") + push!(e, 0) + push_term!(ctx, c, [e[i] for i in to_varias ]) + end + push!(res, finish(ctx)) + end + + return res +end + +function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: PolyRingElem} + R = parent(first(F)) + to_varias = [ v==R.S ? 1 : 2 for v in newvarias_S] + newR, = polynomial_ring(base_ring(R), newvarias_S) + + res = typeof(zero(newR))[] + ctx = MPolyBuildCtx(newR) + + LcF = [ filter!(t->t[2]!=0, collect(enumerate(coefficients(f)))) for f in F ] + for f in LcF + for (ef, c) in f + e = [ef-1, 0] + push_term!(ctx, c, [e[i] for i in to_varias ]) + end + push!(res, finish(ctx)) + end + + return res +end + +function change_ringvar(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) + return first(change_ringvar([f], newvarias_S)) +end + +function change_ringvar(F::Vector{P}, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {P <: MPolyRingElem, I <: Int64} + R = parent(first(F)) + return change_ringvar(F, [R.S[i] for i in ind_newvarias]) +end + +function change_ringvar(f::MPolyRingElem, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {I <: Int64} + R = parent(f) + return first(change_ringvar([f], [R.S[i] for i in ind_newvarias])) +end + +# Return the polynomials in F, but injected in the polynomial ring with the variables occuring in F +function change_ringvar(F::Vector{P}) where {P <: MPolyRingElem} + union_varias = Set{Symbol}() + for f in F + union!(union_varias, map(Symbol, vars(f)) ) + end + return change_ringvar(F, collect(union_varias)) +end + +function change_ringvar(f::MPolyRingElem) + return first(change_ringvar([f])) +end + +# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables +function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} + R = parent(first(F)) + # Locate variables of R in newvarias + to_varias = Vector{Int}(undef,0) + for v in newvarias_S + ind = findfirst(x->x==v, oldvarias_S) + push!(to_varias, typeof(ind)==Nothing ? length(oldvarias_S)+1 : ind) + end + + ind_novarias = setdiff(eachindex(oldvarias_S), to_varias) + newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) + + res = typeof(first(F))[] + ctx = MPolyBuildCtx(newR) + + for f in F + for (e, c) in zip(exponent_vectors(f), coefficients(f)) + @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") + push!(e, 0) + push_term!(ctx, c, [e[i] for i in to_varias ]) + end + push!(res, finish(ctx)) + end + + return res +end + +function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: PolyRingElem} + R = parent(first(F)) + A, (x,) = polynomial_ring(base_ring(R), oldvarias_S) + return change_ringvar_mod([ evaluate(f, x) for f in F ], newvarias_S, oldvarias_S) +end + +function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) + return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) +end + +#function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) +# return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) +#end + +function MPolyBuild(F::Vector{Vector{P}}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} + A = parent(first(first(F))) + R, = polynomial_ring(A, newvarias_S) + to_varias = [ i==idx ? 1 : 2 for i in eachindex(newvarias_S) ] + + res = typeof(zero(R))[] + ctx = MPolyBuildCtx(R) + + LcF = [ filter!(t->t[2]!=0, collect(enumerate(f))) for f in F ] + for f in LcF + for (ef, c) in f + e = [ef-1, 0] + push_term!(ctx, c, [e[i] for i in to_varias ]) + end + push!(res, finish(ctx)) + end + + return res +end + +function MPolyBuild(f::Vector{P}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} + return first(MPolyBuild([f], newvarias_S, idx)) +end \ No newline at end of file diff --git a/src/connectivity/computeRM.jl b/src/connectivity/computeRM.jl deleted file mode 100644 index 504fc95..0000000 --- a/src/connectivity/computeRM.jl +++ /dev/null @@ -1,90 +0,0 @@ -#using Pkg -#Pkg.activate("AlgebraicSolving.jl") -#using Revise -#using AlgebraicSolving -#using Nemo - -export computeRM, computepolarproj, computepolarphi -# DEBUG -export change_ringvar, compute_minors, detmpoly, change_ringvar_mod, MPolyBuild - -include("Cannytools.jl") - -function computeRM(V::Ideal{T} where T <: QQMPolyRingElem, dimV::Int; Q=Vector{Vector{QQFieldElem}}([[]]), C=Vector{Vector{QQFieldElem}}([]), v=0) - # V is a variety of dimension dimV - # Q are base points with rational coefficients - # C are query points with rational coefficients - println(Q) - A = parent(V) - varias, nvarias = gens(A), nvars(A) - hV = V.gens - #println(Q) - e = length(first(Q)) - fixvarias, newvarias = varias[1:e], varias[e+1:nvarias] - - R = Vector{AlgebraicSolving.Ideal{QQMPolyRingElem}}(undef,0) - - for q in Q - ## Fq ## - if e > 0 - hFq = change_ringvar([evaluate(h, fixvarias, q) for h in V.gens], e+1:nvarias) - Fq = AlgebraicSolving.Ideal(hFq) - else - Fq = V - end - - if dimV - e <= 1 - curve = change_ringvar(Fq.gens, A.S) - push!(R, AlgebraicSolving.Ideal(vcat(curve, [fixvarias[j] - q[j] for j in 1:e]))) - else - ## sing(Fq) ## - v>0 && println("Compute first the singular points") - singFq = computepolarproj(0, Fq, dimV-e, newvarias, output="real", verb=max(v-1,0), nr_thrds=Threads.nthreads()) - @assert(length(singFq)==0, "Non-emtpy real sing locus!") - - ## K(pi_1,Fq) ## - v>0 && println("First critical points") - K1Fq = computepolarproj(1, Fq, dimV-e, newvarias, output="interval", verb=max(v-1,0), nr_thrds=Threads.nthreads()) - - ## K(pi_2, Fq) ## - v>0 && println("Second critical points") - K2Fq = computepolarproj(2, Fq, dimV-e, newvarias, output="minors", verb=max(v-1,0), nr_thrds=Threads.nthreads()) - polar = change_ringvar(K2Fq.gens, A.S) - push!(R, AlgebraicSolving.Ideal(vcat(polar, [fixvarias[j] - q[j] for j in 1:e]))) - - ## Points with vertical tg in K(pi_2, Fq) ## - v>0 && println("Vertical tg points") - K1WmFq = computepolarproj(2, K2Fq, 1, newvarias, output="interval", dimproj=0, verb=max(v-1,0), nr_thrds=Threads.nthreads()) - - ## New base points ## - K1W = vcat(K1Fq, K1WmFq) - K1WRat = MidRationalPoints(getindex(K1W, 1)) - # Heuristic to be proven - #K1WRat = K1WRat[2:end-1] - ########## - append!(K1WRat, [ c[e+1] for c in C if c[1:e]==q && !(c[e+1] in K1WRat) ]) |> sort! - newQ = [ vcat(q, [kv]) for kv in K1WRat ] - - if !isempty(newQ) - RFq = computeRM(V, dimV, Q=newQ, C=C) - R = vcat(R, RFq) - end - end - end - - return R -end - -#= -## Test ## -R,(x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) -#h = x1^2+x2^2+x3^2+x4^2-1 -h = (x1^2+x2^2+x3^2+x4^2+9-1)^2-4*9*(x1^2+x2^2+x3^2) -h = evaluate(h,[x1,x2,x3],[x1+rand(-10:10)*x2+rand(-10:10)*x3+rand(-10:10)*x4,x2+rand(-10:10)*x3+rand(-10:10)*x4,x3+rand(-10:10)*x4]) -V = AlgebraicSolving.Ideal([h]) - -carte = (computeRM(V, 3, [Vector{QQFieldElem}(undef,0)])) -#println(carte) -=# - - diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 9dce70d..7458953 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -4,7 +4,7 @@ #pythonplot() export compute_graph, connected_components, number_connected_components, group_by_component, merge_graphs, - plot_graph, plot_graphs, plot_graph_comp, compute_param, Bresultant, param_crit_split + plot_graph, plot_graphs, plot_graph_comp, Bresultant, param_crit_split # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, @@ -19,6 +19,7 @@ include("graph.jl") include("plots.jl") include("arbtools.jl") include("src/resultant/bresultant.jl") +include("buildpoly.jl") function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) R = parent(f) @@ -49,7 +50,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen # TODO : check that no overlap between different isolations v > 0 && println("\nIsolating critical values with precision ", precx,"..") @iftime (v > 0) begin - xcrit = Dict(p[1]=> reduce(vcat, [isolate(pp, prec=precx) for pp in p[2][1]]) for p in params) + xcrit = Dict(p[1]=> reduce(vcat, [isolate(pp, prec=precx, software="msolve") for pp in p[2][1]]) for p in params) # Enlarge exact isolating root intervals for i in eachindex(xcrit) for j in eachindex(xcrit[i]) diff --git a/src/connectivity/isolate.jl b/src/connectivity/isolate.jl index 4c3eb00..73f151b 100644 --- a/src/connectivity/isolate.jl +++ b/src/connectivity/isolate.jl @@ -1,6 +1,6 @@ include("src/usolve/usolve.jl") -function isolate(f; prec = 32, software="usolve") +function isolate(f; prec = 32, software="msolve") #println(f) # Univariate isolation using usolve if total_degree(f) == 0 @@ -15,7 +15,7 @@ function isolate(f; prec = 32, software="usolve") end end -function isolate_eval(f, ivar, val; prec=64, software="usolve") +function isolate_eval(f, ivar, val; prec=64, software="msolve") #print(val) # univariate isolation of roots of a bivariate polynomial f # whose ivar-th variable is evaluated at val diff --git a/src/connectivity/paramcurve.jl b/src/connectivity/paramcurve.jl deleted file mode 100644 index 3ad2cbe..0000000 --- a/src/connectivity/paramcurve.jl +++ /dev/null @@ -1,219 +0,0 @@ -#println("Loading libraries and data..") -#using Pkg -#using Revise -#Pkg.activate("AlgebraicSolving.jl-official") -#using AlgebraicSolving -#import Nemo: coefficients, exponent_vectors, coeff, interpolate, MPolyBuildCtx, push_term!, finish, gens - -export compute_param, param_newvars - -function rem_var(f, i) - # Remove the occurence of the ith variable - R = parent(f) - A, Avars = polynomial_ring(base_ring(R), rem_ind(R.S, i)) - CE = [collect(coefficients(f)), collect(exponent_vectors(f))] - CE[2] = [ rem_ind(e, i) for e in CE[2]] - - # Reconstruct the polynomial in the ring A - C = MPolyBuildCtx(A) - R = base_ring(A) - for i in eachindex(CE[1]) - push_term!(C, R(CE[1][i]), CE[2][i]); - end - return finish(C) -end - -function rem_var(f, i, S) - # Remove the occurence of the ith variable - R = parent(f) - A, Avars = polynomial_ring(base_ring(R), rem_ind(S, i)) - CE = [collect(coefficients(f)), collect(exponent_vectors(f))] - CE[2] = [ rem_ind(e, i) for e in CE[2]] - - # Reconstruct the polynomial in the ring A - C = MPolyBuildCtx(A) - R = base_ring(A) - for i in eachindex(CE[1]) - push_term!(C, R(CE[1][i]), CE[2][i]); - end - return finish(C) -end - -function rem_ind(L,i::Int) - # remove element at index i - return [ L[1:i-1]; L[i+1:end] ] -end - -function deg_Alg(F, dim) - if dim <= 0 - r = rational_parametrization(Ideal(F)) - else - varias = gens(parent(first(F))) - planes = [ sum([ rand(-100:100)*v for v in vcat(varias,1) ]) for _ in 1:dim] - r = rational_parametrization(Ideal(vcat(F,planes))) - end - return degree(r.elim) -end - -function compute_param(I::Ideal{P} where P<:MPolyRingElem; use_lfs = false, lfs = []) - return compute_param(I.gens, use_lfs = use_lfs, lfs = lfs) -end - -function compute_param(F::Vector{P} where P<:MPolyRingElem; use_lfs = false, lfs = [], v=0) - R = parent(first(F)) - varias, N = gens(R), nvars(R) - DEG = deg_Alg(F,1) - - if !use_lfs && length(lfs)==0 - # Identification of two generic variables for the parametrization") - ivarias_gen = Vector{Int}(undef,0) - ind = N - while true - NEW_DEG = deg_Alg(vcat(F, varias[ind]-rand(-100:100)), 0) - if NEW_DEG == DEG - push!(ivarias_gen, ind) - end - (length(ivarias_gen) < 2 && ind > 1) || break - ind -= 1 - end - reverse!(ivarias_gen) - nb_lf = 2-length(ivarias_gen) - - if ivarias_gen != [N-1,N] - # Add new generic variables at the end if necessary - newvarias_S = [R.S[i] for i in vcat(setdiff(1:N, ivarias_gen), ivarias_gen)] - append!(newvarias_S, [:A,:B][nb_lf:-1:1] ) - - # We change the polynomial ring and add linear form(s) if necessary - Rold, Nold = R, N - R, varias = polynomial_ring(base_ring(Rold), newvarias_S) - N = length(varias) - - index_permut = Dict((v, i) for (i, v) in enumerate(newvarias_S)) - permut_varias = [ index_permut[v] for v in Rold.S ] - # TODO: permut exponents and use polynomial constructor - F = [ evaluate(f, [ varias[permut_varias[i]] for i in 1:Nold ]) for f in F ] - - if nb_lf > 0 - lf_cfs = [ rand(ZZ(-100):ZZ(100), N) for _ in 1:nb_lf] - append!(F, [ transpose(lf)*varias for lf in lf_cfs ]) - else - lf_cfs = Vector{Vector{ZZRingElem}}(undef,0) - end - else - lf_cfs = Vector{Vector{ZZRingElem}}(undef,0) - end - else - # Add new generic variables at the end if necessary - newvarias_S = vcat(R.S, [:B,:A]) - - # We change the polynomial ring and add linear form(s) if necessary - Rold, Nold = R, N - R, varias = polynomial_ring(base_ring(Rold), newvarias_S) - N = length(varias) - - F = [ evaluate(f, [ varias[i] for i in 1:Nold ]) for f in F ] - lf_cfs = vcat(lfs, [ rand(ZZ(-100):ZZ(100), N) for _ in 1:2-length(lfs)]) - append!(F, [ transpose(lf)*varias for lf in lf_cfs ]) - end - println(varias) - # Compute DEG+1 evaluations of the param (whose deg is bounded by DEG) - v > 0 && println("Parametrization step...") - #@iftime v>0 begin - PARAM = Vector{Vector{AlgebraicSolving.QQPolyRingElem}}(undef,DEG+2) - _values = Vector{QQFieldElem}(undef,DEG+2) - i = 1 - free_ind = collect(1:DEG+2) - used_ind = zeros(Bool, DEG+2) - while length(free_ind) > 0 - #println("$(DEG+2-length(free_ind))/ $(DEG+2)") - if i > 2*(DEG+2) - error("Too many bad specializations") - end - LFeval = Vector{AlgebraicSolving.Ideal}(undef, length(free_ind)) - Threads.@threads for j in 1:length(free_ind) - LFeval[i+j-1] = Ideal([ rem_var(evaluate(f, [N-1], [QQ(i+j-1)]), N-1) for f in F ]) - end - Lr = Vector{AlgebraicSolving.RationalParametrization}(undef, length(free_ind)) - for j in 1:length(free_ind) - #println("$(i+j-1)/$(DEG+2)") - Lr[i+j-1] = rational_parametrization(LFeval[i+j-1], nr_thrds=Threads.nthreads()) - end - for j in 1:length(free_ind) - # For lifting: the same variable must be chosen for the param - if Lr[j].vars == rem_ind(R.S, N-1) - lc = leading_coefficient(Lr[j].elim) - # TODO: why dividing by lc ? To get a unique representative? - rr = [ p/lc for p in vcat(Lr[j].elim, Lr[j].denom, Lr[j].param) ] - PARAM[j] = rr - _values[j] = QQ(i+j-1) - used_ind[j] = true - #println("Good specialization: ",i+j-1) - else - #println(r.vars, rem_ind(R.S, N-1)) - v>1 && println("bad specialization: ", i+j-1) - end - end - - i += length(free_ind) - free_ind = [ free_ind[j] for j in eachindex(free_ind) if !used_ind[j] ] - used_ind = zeros(Bool, length(free_ind)) - end - #end - - # Interpolate each coefficient of each poly in the param - v > 0 && println("Interpolation step...") - #@iftime v>0 begin - POLY_PARAM = Vector{QQMPolyRingElem}(undef,N) - T, (x,y) = polynomial_ring(QQ, [:x,:y]) - A, u = polynomial_ring(QQ, :u) - Threads.@threads for count in 1:N - #println("$count/$N") - COEFFS = Vector{QQPolyRingElem}(undef, DEG+1) - Threads.@threads for deg in 0:DEG - #println("$deg/$DEG") - _evals = [coeff(PARAM[i][count], deg) for i in 1:length(PARAM)] - COEFFS[deg+1] = interpolate(A, _values, _evals) - end - - C = [ collect(coefficients(c)) for c in COEFFS ] - POL_term = [C[i][j]*y^(i-1)*x^(j-1) for i in 1:length(C) for j in 1:length(C[i])] - POL = length(POL_term) > 0 ? sum(POL_term) : T(0) - - POLY_PARAM[count] = POL - end - #end - - return [R.S, lf_cfs, POLY_PARAM[1], POLY_PARAM[2], POLY_PARAM[3:end]] -end - -function param_newvars(F::Vector{P} where P <: MPolyRingElem, Svars::Vector{Symbol}, cfs_lf::Vector{Vector{I}} where I<:Union{ZZRingElem, QQFieldElem}) - Svarsbis = vcat(Svars[1:end-2], reverse!(Svars[end-1:end])) - eq = change_ringvar(F, Svarsbis) - newvarias = gens(parent(first(eq))) - newvariasbis = vcat(newvarias[1:end-2], reverse!(newvarias[end-1:end])) - neweq = vcat(eq, [ transpose(lf)*newvariasbis for lf in cfs_lf ]) - - C = rational_parametrization(Ideal(neweq)) - return change_ringvar([C.elim, C.elim == -1 ? C.elim : C.param[end], C.denom], [:x,:y]) -end - - -#= -# Tests -R, (a,b,c) = polynomial_ring(QQ, [:a,:b,:c]) -F = [-62*a^2-24*a*b+83*a*c-46*b^2-45*b*c+16*c^2+13*a-65*b-84*c-19, -92*a^2-a*b+39*a*c-16*b^2+61*b*c+78*c^2+17*a+49*b-97*c-56 -] - -R, (x1,x2,x3,x4) = polynomial_ring(QQ, ["x1","x2","x3","x4"]) -F = [ -x1^4 - 12*x1^3*x2 - 40*x1^3*x3 + 12*x1^3*x4 + 56*x1^2*x2^2 + 320*x1^2*x2*x3 - 148*x1^2*x2*x4 + 802*x1^2*x3^2 + 56*x1^2*x3*x4 + 288*x1^2*x4^2 - 20*x1^2 - 120*x1*x2^3 - 880*x1*x2^2*x3 + 576*x1*x2^2*x4 - 4012*x1*x2*x3^2 + 224*x1*x2*x3*x4 - 1968*x1*x2*x4^2 + 120*x1*x2 - 8040*x1*x3^3 - 3508*x1*x3^2*x4 - 3264*x1*x3*x4^2 + 400*x1*x3 + 1512*x1*x4^3 - 120*x1*x4 + 100*x2^4 + 800*x2^3*x3 - 760*x2^3*x4 + 5620*x2^2*x3^2 - 80*x2^2*x3*x4 + 3964*x2^2*x4^2 - 200*x2^2 + 16080*x2*x3^3 - 3436*x2*x3^2*x4 - 1168*x2*x3*x4^2 - 800*x2*x3 - 9576*x2*x4^3 + 760*x2*x4 + 40401*x3^4 + 59496*x3^3*x4 + 72556*x3^2*x4^2 - 4020*x3^2 + 37296*x3*x4^3 - 2960*x3*x4 + 15876*x4^4 - 2484*x4^2 + 64, - -40*x1^3 + 320*x1^2*x2 + 1604*x1^2*x3 + 56*x1^2*x4 - 880*x1*x2^2 - 8024*x1*x2*x3 + 224*x1*x2*x4 - 24120*x1*x3^2 - 7016*x1*x3*x4 - 3264*x1*x4^2 + 400*x1 + 800*x2^3 + 11240*x2^2*x3 - 80*x2^2*x4 + 48240*x2*x3^2 - 6872*x2*x3*x4 - 1168*x2*x4^2 - 800*x2 + 161604*x3^3 + 178488*x3^2*x4 + 145112*x3*x4^2 - 8040*x3 + 37296*x4^3 - 2960*x4, - 12*x1^3 - 148*x1^2*x2 + 56*x1^2*x3 + 576*x1^2*x4 + 576*x1*x2^2 + 224*x1*x2*x3 - 3936*x1*x2*x4 - 3508*x1*x3^2 - 6528*x1*x3*x4 + 4536*x1*x4^2 - 120*x1 - 760*x2^3 - 80*x2^2*x3 + 7928*x2^2*x4 - 3436*x2*x3^2 - 2336*x2*x3*x4 - 28728*x2*x4^2 + 760*x2 + 59496*x3^3 + 145112*x3^2*x4 + 111888*x3*x4^2 - 2960*x3 + 63504*x4^3 - 4968*x4 - ] - - @time begin - compute_param(F) - end -=# From 87c1f69ebee8700ebfb678594cc73c09099b4a88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Mon, 23 Mar 2026 15:09:37 +0100 Subject: [PATCH 133/180] correction bug in arb conversion --- src/algorithms/param-curve.jl | 1 - src/connectivity/arbtools.jl | 91 ++++++++++++++++++++++--------- src/connectivity/connectcurves.jl | 26 ++++----- 3 files changed, 78 insertions(+), 40 deletions(-) diff --git a/src/algorithms/param-curve.jl b/src/algorithms/param-curve.jl index 13a5878..55512e6 100644 --- a/src/algorithms/param-curve.jl +++ b/src/algorithms/param-curve.jl @@ -109,7 +109,6 @@ function rational_curve_parametrization( info_level>0 && println() for j in 1:length(free_ind) # Specialization checks: same vars order, generic degree - @show Lr[j].vars if Lr[j].vars == [symbols(R)[1:N-2]; symbols(R)[N]] && degree(Lr[j].elim) == DEG if isnothing(lc) lc = leading_coefficient(Lr[j].elim) diff --git a/src/connectivity/arbtools.jl b/src/connectivity/arbtools.jl index cafa221..9f176cf 100644 --- a/src/connectivity/arbtools.jl +++ b/src/connectivity/arbtools.jl @@ -1,34 +1,75 @@ -function Arb_to_rat(x) - r = radius(x) - return map(simplest_rational_inside, [x-r, x+r]) +""" + arb_to_rat(x::ArbFieldElem) -> Tuple{Rational, Rational} + +Return a rational interval enclosing the Arb ball. +""" +function arb_to_rat(x::ArbFieldElem) + r = radius(x) + lo = x - 2r + hi = x + 2r + return (simplest_rational_inside(lo), simplest_rational_inside(hi)) end -function rat_to_Arb(x, prec) - x1,x2 = x - xm, xd = ArbField(prec)((x1+x2)/2), ArbField(prec)(x2-x1) - return ball(xm,xd) + +""" + rat_to_arb(interval::Tuple, field::ArbField) -> ArbFieldElem + +Convert rational interval (x1, x2) to Arb ball. +""" +function rat_to_arb(interval, field::ArbField) + x1, x2 = interval + @assert x1 <= x2 "Invalid interval: x1 > x2" + + mid = field((x1 + x2) / 2) + rad = field((x2 - x1) / 2) + + return ball(mid, rad) end -function evaluate_Arb(f, x::ArbFieldElem) - if is_zero(f) - return zero(parent(x)) - else - cf = coefficients_of_univariate(f) - return evalpoly(x, cf) - end + +""" + evaluate_arb(f, x::ArbFieldElem) + +Evaluate polynomial f at x using Arb arithmetic. +""" +function evaluate_arb(f, x::ArbFieldElem) + is_zero(f) && return zero(parent(x)) + cf = coefficients_of_univariate(f) + return evalpoly(x, cf) end -function evaluate_Arb(f, g, x::ArbFieldElem) - @assert !is_zero(g) "Denominator must be non-zero" - if is_zero(f) - return zero(parent(x)) - else - cf, cg = coefficients_of_univariate.([f, g]) - return evalpoly(x, cf) / evalpoly(x, cg) - end + +""" + evaluate_arb(f, g, x::ArbFieldElem) + +Evaluate rational function f/g at x. +""" +function evaluate_arb(f, g, x::ArbFieldElem) + @assert !is_zero(g) "Denominator must be non-zero" + + is_zero(f) && return zero(parent(x)) + + cf = coefficients_of_univariate(f) + cg = coefficients_of_univariate(g) + + num = evalpoly(x, cf) + den = evalpoly(x, cg) + + return num / den end -function Arb_eval(f, B, prec) - BA = [ rat_to_Arb(b, prec) for b in B ] - return evaluate(change_base_ring(ArbField(prec), f), BA) + +""" + arb_eval(f, B::Vector{Tuple}, prec::Int) + +Evaluate polynomial f over interval box B. +""" +function arb_eval(f, B::Vector{Tuple}, field::ArbField) + BA = Vector{ArbFieldElem}(undef, length(B)) + for i in eachindex(B) + BA[i] = rat_to_arb(B[i], field) + end + + f_arb = change_base_ring(field, f) + return evaluate(f_arb, BA) end \ No newline at end of file diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 7458953..dff5030 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -1,14 +1,10 @@ -#println("\nLoading libraries and data..") -#using Nemo -#using Plots, Colors -#pythonplot() export compute_graph, connected_components, number_connected_components, group_by_component, merge_graphs, plot_graph, plot_graphs, plot_graph_comp, Bresultant, param_crit_split # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, - rat_to_Arb, evaluate_Arb, evaluate_Arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, + rat_to_arb, evaluate_arb, evaluate_arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit include("tools.jl") @@ -32,8 +28,8 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen v > 1 && println(f) v > 0 && println("Compute parametrization of critical pts...") - @iftime (v > 0) params = param_crit_split(f,g,v=v-1, detect_app=true) - #@iftime (v > 0) params = mmod_param_crit(f, g,v=v-1, detect_app=false) + @iftime (v > 0) params = param_crit_split(f,g,v=v-1, detect_app=false) + #@iftime (v > 0) params = mmod_param_crit(f, g,v=v-1, detect_app=true) #=params = Bresultant(f, derivative(f,2), bspath="AlgebraicSolving.jl/src/connectivity/src/resultant/bresultant",v=2); params = change_ringvar.(params, Ref([:x,:y])) params = [ [[p[1]], p[3], p[2]] for p in params] @@ -62,11 +58,11 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen xcritpermut = order_permut2d(xcrit); end - v > 0 && println("\nComputing isolating critical boxes using Arb with precision ",max(precx,150),"..") + v > 0 && println("\nComputing isolating critical boxes using Arb with precision ",precx,"..") @iftime (v > 0) begin - precArb = precx - Pcrit = Dict( i => [[xc, evaluate_Arb(params[i][2], params[i][3], rat_to_Arb(xc, precArb))] for xc in xcrit[i]] for i in eachindex(xcrit)) - LBcrit =Dict( i=> [[ map(QQ, pc[1]), map(QQ, Arb_to_rat(pc[2])) ] for pc in pcrit] for (i, pcrit) in Pcrit) + arbField = ArbField(precx) + Pcrit = Dict( i => [[xc, evaluate_arb(params[i][2], params[i][3], rat_to_arb(xc, arbField))] for xc in xcrit[i]] for i in eachindex(xcrit)) + LBcrit =Dict( i=> [[ map(QQ, pc[1]), map(QQ, arb_to_rat(pc[2])) ] for pc in pcrit] for (i, pcrit) in Pcrit) # Enlarge exact isolating box vertical side (horizontal lines) for i in eachindex(LBcrit) for j in eachindex(LBcrit[i]) @@ -84,6 +80,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen break end end + # TODO: compteur pertinent ? if compt >= 5 error("Problem in isolating critical boxes") end @@ -91,7 +88,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen v > 0 && println("\nCompute critical boxes with msolve with precision ", precx,"..") @iftime (v > 0) begin # TODO: parameter -I - LBcrit = Dict(p[1]=>reduce(vcat,[ sort(real_solutions(AlgebraicSolving.Ideal([pp, p[2][3]*y-p[2][2]]), precision=precx,interval=true),by=t->t[1]) for pp in p[2][1] ]) for p in params) + LBcrit = Dict(p[1]=>reduce(vcat,[ sort(real_solutions(Ideal([pp, p[2][3]*y-p[2][2]]), precision=precx,interval=true),by=t->t[1]) for pp in p[2][1] ]) for p in params) # Enlarge each exact isolating box side for i in eachindex(LBcrit) for j in eachindex(LBcrit[i]) @@ -113,6 +110,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen ######################################################## # For each mult of sing pts (keys) give the corresponding factors of the resultant (values) ######################################################### + arbField = ArbField(precx) Lfyk = diff_list(f, 2, max(maximum(eachindex(LBcrit)),2)) for ind in eachindex(LBcrit) ind>1 || ind==0 || continue # extreme and control pts @@ -120,7 +118,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen while true flag = false for j in eachindex(LBcrit[ind]) - pcrit = [ rat_to_Arb(c, precx) for c in LBcrit[ind][j] ] + pcrit = [ rat_to_arb(c, arbField) for c in LBcrit[ind][j] ] # Check if the the mult(pcrit)-th derivative of f vanishes on pcrit if contains_zero(evaluate(Lfyk[m+1], pcrit)) (v > 0) && println("Refine singular boxes of multiplicity ", m) @@ -176,7 +174,7 @@ end end end LnPCside = Dict(i => [[length(indI) for (L, indI) in PB] for PB in LPCside[i]] for i in eachindex(LPCside)) - + #return LnPCside # Update extreme boxes if haskey(LBcrit, 1) for j in eachindex(LBcrit[1]) From b8227929161d0ea1a3ff3c047e59d2ee6bdab16d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Tue, 24 Mar 2026 09:38:48 +0100 Subject: [PATCH 134/180] du nettoyage --- src/connectivity/connectcurves.jl | 130 +- src/connectivity/isolate.jl | 18 +- src/connectivity/src/resultant/Makefile | 18 - .../__pycache__/bresultant.cpython-310.pyc | Bin 3376 -> 0 bytes src/connectivity/src/resultant/bresultant | Bin 3412328 -> 0 bytes src/connectivity/src/resultant/bresultant.jl | 113 -- .../src/resultant/bresultant.sage | 85 - src/connectivity/src/resultant/data.c | 387 ---- src/connectivity/src/resultant/data.h | 150 -- .../src/resultant/flint_euclide.c | 355 ---- .../src/resultant/flint_resultant.c | 1285 -------------- src/connectivity/src/resultant/io.c | 562 ------ src/connectivity/src/resultant/main.c | 1550 ----------------- src/connectivity/src/resultant/out.txt | 1 - .../src/resultant/ratreconstruct.c | 176 -- src/connectivity/src/usolve/usolve | Bin 2969640 -> 0 bytes src/connectivity/src/usolve/usolve.jl | 63 - src/connectivity/tools.jl | 2 +- 18 files changed, 51 insertions(+), 4844 deletions(-) delete mode 100644 src/connectivity/src/resultant/Makefile delete mode 100644 src/connectivity/src/resultant/__pycache__/bresultant.cpython-310.pyc delete mode 100755 src/connectivity/src/resultant/bresultant delete mode 100644 src/connectivity/src/resultant/bresultant.jl delete mode 100644 src/connectivity/src/resultant/bresultant.sage delete mode 100644 src/connectivity/src/resultant/data.c delete mode 100644 src/connectivity/src/resultant/data.h delete mode 100644 src/connectivity/src/resultant/flint_euclide.c delete mode 100644 src/connectivity/src/resultant/flint_resultant.c delete mode 100644 src/connectivity/src/resultant/io.c delete mode 100644 src/connectivity/src/resultant/main.c delete mode 100644 src/connectivity/src/resultant/out.txt delete mode 100644 src/connectivity/src/resultant/ratreconstruct.c delete mode 100755 src/connectivity/src/usolve/usolve delete mode 100644 src/connectivity/src/usolve/usolve.jl diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index dff5030..6d943d9 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -14,7 +14,6 @@ include("boxes.jl") include("graph.jl") include("plots.jl") include("arbtools.jl") -include("src/resultant/bresultant.jl") include("buildpoly.jl") function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) @@ -28,82 +27,58 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen v > 1 && println(f) v > 0 && println("Compute parametrization of critical pts...") - @iftime (v > 0) params = param_crit_split(f,g,v=v-1, detect_app=false) + @iftime (v > 0) params = param_crit_split(f,g,v=v-1, detect_app=true) #@iftime (v > 0) params = mmod_param_crit(f, g,v=v-1, detect_app=true) - #=params = Bresultant(f, derivative(f,2), bspath="AlgebraicSolving.jl/src/connectivity/src/resultant/bresultant",v=2); - params = change_ringvar.(params, Ref([:x,:y])) - params = [ [[p[1]], p[3], p[2]] for p in params] - params = Dict(1=>params[1], -1=>params[2])=# for i in 1:length(C) params[-i] = [ [C[i][1] |> intC], C[i][2], C[i][3] ] end - #println(keys(params)) - if arb - compt = 0 - while compt < 5 - try - # TODO : check that no overlap between different isolations - v > 0 && println("\nIsolating critical values with precision ", precx,"..") - @iftime (v > 0) begin - xcrit = Dict(p[1]=> reduce(vcat, [isolate(pp, prec=precx, software="msolve") for pp in p[2][1]]) for p in params) - # Enlarge exact isolating root intervals - for i in eachindex(xcrit) - for j in eachindex(xcrit[i]) - if xcrit[i][j][1]==xcrit[i][j][2] - xcrit[i][j] = [xcrit[i][j][1]-1//ZZ(1)< 0 && println("\nComputing isolating critical boxes using Arb with precision ",precx,"..") - @iftime (v > 0) begin - arbField = ArbField(precx) - Pcrit = Dict( i => [[xc, evaluate_arb(params[i][2], params[i][3], rat_to_arb(xc, arbField))] for xc in xcrit[i]] for i in eachindex(xcrit)) - LBcrit =Dict( i=> [[ map(QQ, pc[1]), map(QQ, arb_to_rat(pc[2])) ] for pc in pcrit] for (i, pcrit) in Pcrit) - # Enlarge exact isolating box vertical side (horizontal lines) - for i in eachindex(LBcrit) - for j in eachindex(LBcrit[i]) - if LBcrit[i][j][2][1]==LBcrit[i][j][2][2] - LBcrit[i][j][2] = [LBcrit[i][j][2][1]-1//ZZ(2)< 0 && println("\nIsolating critical values with precision ", precx,"..") + @iftime (v > 0) begin + xcrit = Dict(p[1]=> reduce(vcat, [isolate(pp, prec=precx) for pp in p[2][1]]) for p in params) + # Enlarge exact isolating root intervals + for i in eachindex(xcrit) + for j in eachindex(xcrit[i]) + if xcrit[i][j][1]==xcrit[i][j][2] + xcrit[i][j] = [xcrit[i][j][1]-1//ZZ(1)< 0 && println("\nRefine x-precision to $precx") - compt += 1 - else - break - end - end - # TODO: compteur pertinent ? - if compt >= 5 - error("Problem in isolating critical boxes") + xcritpermut = order_permut2d(xcrit); end - else - v > 0 && println("\nCompute critical boxes with msolve with precision ", precx,"..") - @iftime (v > 0) begin - # TODO: parameter -I - LBcrit = Dict(p[1]=>reduce(vcat,[ sort(real_solutions(Ideal([pp, p[2][3]*y-p[2][2]]), precision=precx,interval=true),by=t->t[1]) for pp in p[2][1] ]) for p in params) - # Enlarge each exact isolating box side - for i in eachindex(LBcrit) - for j in eachindex(LBcrit[i]) - for k in eachindex(LBcrit[i][j]) - if LBcrit[i][j][k][1]==LBcrit[i][j][k][2] - LBcrit[i][j][k] = [LBcrit[i][j][k][1]-1//ZZ(2-k)< 0 && println("\nComputing isolating critical boxes using Arb with precision ",precx,"..") + @iftime (v > 0) begin + arbField = ArbField(precx) + Pcrit = Dict( i => [[xc, evaluate_arb(params[i][2], params[i][3], rat_to_arb(xc, arbField))] for xc in xcrit[i]] for i in eachindex(xcrit)) + LBcrit = Dict( i=> [[ map(QQ, pc[1]), map(QQ, arb_to_rat(pc[2])) ] for pc in pcrit] for (i, pcrit) in Pcrit) + # Enlarge exact isolating box vertical side (horizontal lines) + for i in eachindex(LBcrit) + for j in eachindex(LBcrit[i]) + if LBcrit[i][j][2][1]==LBcrit[i][j][2][2] + LBcrit[i][j][2] = [LBcrit[i][j][2][1]-1//ZZ(2)<[ B[1] for B in lbcrit[2] ] for lbcrit in LBcrit) - xcritpermut = order_permut2d(xcrit); + catch + precx *= 2 + v > 0 && println("\nRefine x-precision to $precx") + compt += 1 + else + break + end end + # TODO: limite du compteur pertinent ? + if compt >= 5 + error("Problem in isolating critical boxes") end - #println(xcrit) v > 0 && println("\nTest for identifying singular boxes") @iftime (v > 0) begin @@ -113,7 +88,7 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen arbField = ArbField(precx) Lfyk = diff_list(f, 2, max(maximum(eachindex(LBcrit)),2)) for ind in eachindex(LBcrit) - ind>1 || ind==0 || continue # extreme and control pts + (ind < 0 && ind == 1) && continue # extreme and control pts m = ind==0 ? 2 : ind # nodes have mult 2 while true flag = false @@ -134,11 +109,7 @@ end v > 0 && println("\nCompute intersections with critical boxes..") @iftime (v > 0) begin - # Could be improved by handling nodes (or even any ordinary sing) as extreme boxes: - # when npcside = [2,2,0,0] just take nearest below and above - # intersections b with the curves on the vertical sides - # and change into npcside = [0,0,2,2] - ## TODO : Refine only the intervals that need to be refined + ## TODO : Refine only the intervals that need to be refined? LPCside = Dict{Int,Any}() ndig = maximum([ndigits(length(LBcrit[i])) for i in eachindex(LBcrit)]) for i in eachindex(LBcrit) @@ -174,7 +145,7 @@ end end end LnPCside = Dict(i => [[length(indI) for (L, indI) in PB] for PB in LPCside[i]] for i in eachindex(LPCside)) - #return LnPCside + # Update extreme boxes if haskey(LBcrit, 1) for j in eachindex(LBcrit[1]) @@ -216,19 +187,17 @@ end end end - #return LnPCside - - #println("\nGraph computation") - # Would be nice to have only one intermediate fiber (take the average of abscissa and ordinates) for plot - # And even remove this fiber for the graph + # Graph computation fct, typeout = outf ? (Float64, Float64) : (identity, QQFieldElem) + # List of vertex: at index i is the tuple of the coordinates of the i-th vertex Vert = Vector{Tuple{typeout, typeout}}() + # List of edges: a tuple (i,j) is an edge between the i-th and j-th vertices Edg = Vector{Tuple{Int, Int}}() Corr = Dict( m => [[[], [[], [], []], []] for j in xcrit[m] ] for m in eachindex(xcrit)) - Viso = [] Vcon = [ [] for _ in 1:length(C) ] + # Keep track of processed isolated & apparent singularities Lapp = [[],[]] for ind in eachindex(xcritpermut) @@ -239,10 +208,10 @@ end end if ind < length(xcritpermut) i2, j2 = xcritpermut[ind + 1] - I2L, nI2L = LPCside[i2][j2][3] + I2L, = LPCside[i2][j2][3] end - PCside, nPCside = LPCside[i][j], LnPCside[i][j] + PCside = LPCside[i][j] I = [ l[1] for l in PCside[3:end] ] nI = [ l[2] for l in PCside[3:end] ] @@ -278,9 +247,6 @@ end end ########################### # Below the critical point - #println() - #println(map(length,I)) - #println(nI[1],", ", nI[2], ", ", [length(I[1])+1]) for k in 1:ymincrit-1 push!(Vert, (xcmid, sum(I[1][k] + I[2][k])// 4) .|> fct) push!(Corr[i][j][2][1], length(Vert)) @@ -293,12 +259,6 @@ end # If we are dealing with a isolated node if i in [0,2] && isempty(nI[1]) && isempty(nI[2]) push!(Lapp[1], (i,j)) - #pass - # We can add the isolated vertex - # push!(Vert, [xcmid, ycmid]) - # push!(Corr[i][j][2][1], length(Vert)) - # We will subsequently add the vertex in the graph - # push!(Viso, length(Vert)) # If we are dealing with an apparent singularity elseif i == 0 # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 diff --git a/src/connectivity/isolate.jl b/src/connectivity/isolate.jl index 73f151b..f292456 100644 --- a/src/connectivity/isolate.jl +++ b/src/connectivity/isolate.jl @@ -1,31 +1,23 @@ -include("src/usolve/usolve.jl") - -function isolate(f; prec = 32, software="msolve") +function isolate(f; prec = 32) #println(f) # Univariate isolation using usolve if total_degree(f) == 0 return [] end @assert is_univariate(f) "Not univariate polynomial" - if software == "usolve" - return usolve(f, precision = prec, uspath="AlgebraicSolving.jl/src/connectivity/src/usolve/usolve", output="inter", v=2) - else - sols = real_solutions(Ideal([change_ringvar(f)]), precision=prec, interval=true, info_level=0) - return getindex.(sols, 1) - end + sols = real_solutions(Ideal([change_ringvar(f)]), precision=prec, interval=true, info_level=0) + return getindex.(sols, 1) end -function isolate_eval(f, ivar, val; prec=64, software="msolve") - #print(val) +function isolate_eval(f, ivar, val; prec=64) # univariate isolation of roots of a bivariate polynomial f # whose ivar-th variable is evaluated at val # uses msolve - #println(ivar,"\n", val,"\n", f) fev = change_ringvar(evaluate(f, [ivar], [val])) CD = lcm(map(denominator, collect(coefficients(fev)))) fev *= CD - tmp = isolate(fev, prec=prec, software=software) + tmp = isolate(fev, prec=prec) return tmp end \ No newline at end of file diff --git a/src/connectivity/src/resultant/Makefile b/src/connectivity/src/resultant/Makefile deleted file mode 100644 index 4711740..0000000 --- a/src/connectivity/src/resultant/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -CC = gcc - -CPP = g++ - -GMP_INC_DIR=. -GMP_LIB_DIR=. - -LIB_PATHS = -L/usr/local/lib/ -L/opt/OpenBLAS/lib -INC_PATHS = -I/usr/local/include -I/opt/OpenBLAS/include - -CFLAGS = -std=c99 -O3 -msse -mavx -Wall -pedantic -funroll-loops --param max-unroll-times=2 -fomit-frame-pointer -fexpensive-optimizations - -LDFLAGS = $(DEBUG) $(LIB_PATHS) -static-libgcc -fopenmp -lgmp -lmpfr -lflint -lm -lopenblas -lpthread -LDFLAGS0 = -Wall $(DEBUG) $(LIB_PATHS) -lgmp -lmpfr -lflint -lm - -flint: - $(CC) -O3 -static main.c -o bresultant $(LDFLAGS) /usr/lib/x86_64-linux-gnu/libmpfr.a /usr/lib/x86_64-linux-gnu/libgmp.a /usr/lib/x86_64-linux-gnu/libflint.a - diff --git a/src/connectivity/src/resultant/__pycache__/bresultant.cpython-310.pyc b/src/connectivity/src/resultant/__pycache__/bresultant.cpython-310.pyc deleted file mode 100644 index 3b81aa47e6fccbece66b48ab4c4875cb575ce32c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3376 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 yK~=!2%&zRHcDkhC`CG;`HV1_mWyxduheAm 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%0DcZ8 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%0DKK2XUgYSsIrw`2@uX9kZIb)Fj)IeF{5B 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%0A( zhE|ast9W*N;}DzUzV)sDl4%{snbz?v{`Rjg^5SC=cc*}cIGCf0IoZ(v;(Xmei}E-ofMPp`7E1wVd9s78$=moiM5*N2OE#j zLc+JkPxX9^AQ&tgc`n3Ou*rzfTdW|Dm~;~c-o3!)j6g0Lp^QLtG*L1FeTl!uf?y6j zi|?#nEPfrUHx^>-%-yE~G8Ui8>b2PFS%cDBACkBmsD~tOK3w7phf7r4twXB+f<#-r z--Nknc=EZG&K`swqU&Sy_Z(WW;pV#dm4&!C7oxup< z7u)*XHjtV1;aSg@Dl_U2NC~hyi(-{*W%k2*4+CJ1cKm1pCW|5 zE>j~6BhN=0KRhUs5%qa2isv9`pij(yO?f3y6WNg+-Owo=(hYGYq8lgPphI&s^Lq_s zw$pN4*fmu85`WnOq= zF7twzL`DtC%B(b5u?Si5F(4*7))ZMeMjN1a;(kHxooK9i@5D8SD`|X6?~;#G(h&2` z{th@-XCNych`BN9qc~;)Bn|dzx8aUxd=!XzMV3)m`Q5gLGo_ng#9I{LE7=*#$S6LH)!O2l!?C=q9l2ClpJ z(3iA`!!mOB9{QpyJ!5Emg~4|8<&rG=LW7RJ^h$K}rB~u+nu-x&@;b8~Sm#F9q&>Vf~QBm||lF=8g$wOb(h`vlR`a%NqWsT^|B%?1RKws8~ zzDzRuLIU(tU)G4eOfvdH0`!HuFDd$hf~3&aZ<6>3AEnCqw%PpwQWltx zKZGGZQ5-rf#yvS=8iLYmwd)lUPCNh%f!oafJ^3il*zgniL@gxodWtb7)tK`D(~yt; zMU`MFg849cdeT(jRm6+xmJ|U*FN7vBc)4gi=2850l zdMLi3M3wRs} zFb~sM%8&)r245g2AHT1y<7#!q-=}rb`HsGkPXu3dwkZyx1T#E>QS!-7>2Gz^XS0eJ zGQ=vLZ>0RMIU?mc#E~wrl(E1U?Io$xczhnBJarE3VL_NpwZ+m{w0?-rgc`{o?^9JM zh0gy&5b7QZIc$Pb1UJKxN@kA6kBs@7WOr*?i0GvdtUe<<5({Vw{uhC-qRA5_Ov8;F z!suQTf<8ak-7WH!2cCk>Z3ebvcM2@`NHhA7O#gFJ{lDuI@zy$lHNHF5zD!~j8sys_ z$Ql%qwB$0_v5@~t-0R9InkVJ{MmZych)fm9WlVai++C@1Whyt9aw*ZOEO{YuPIN$G zacQKAechWZcBv4@kG*mnNzOANd5+DK&54Pk zz>s((!SZ|uDwtuN64^K(4p&y5ra`tGDBI3Y4&W<8O?J3(CdBsOq!Qni61!uZK&BF}ToGwHUAz?Xr&b*kMu6-5jcqJ?b-z*~y`i;CC(tBP+d4=dJHZjCgx(-mt`imx(LNYmMv zkHHY$AJ`vAjmd?%Bv#l`Q^odokUz*tbxHlaAE=bp!<9vtb5R5y3^r`GzVA*K6bQ7e z=pzqP`j3Yz-Bp zYT^=9>Y4$@n+)CpTQKCy29O__Co7^9^m@$`1j_>0d(YO9qc{|jf%U@RSS*+a{BZVWM$l}~Bf`%+9%`k-odf+~miQe^KP7As$e z1!`H&$&6(VF5er&EWXGQf29f zila(>jbfK~X(k6VH0f4>CY7z|AWg{g)0fGLuo`$tHx<%B4>K()Su}XsIu*jTVM3}h zQ_;15+R^JwO1k{pRzB*R{zbH#{>p^I6Q#>g-R}(+(g)E~NWujuP#FPTFDMPJ-*ZqK z?gMpJI#l)d<_#))Qk{%mGJjpe$2qodH60*fAE2Wq1nd_9tJ!duV(`guEd&D{*xfb< zA=p8HC89HBd9ijh`{qb(FpQ2dRu^5lCY|jCr*99#GWH7FSgg)#Nd4Mqrc}0#hXo+0 z*BKH&9}Rw}p@^fJ(MZQM}eN!qlUIo#3W7~X-*AE8Oi`kIaMlQ!Ohj)nMO?jq6;Hs8^ti{ z>=n}Iu0g$=e2l}}Q8PO!n0&AywZRVtUtIq$&W&}v2xR9*^4pwRjE+46CJQ@+ zOC;@$HIPk^`Gc%UiMZWRE6SL=!f_<4lg(E-%&+(t`a%c*^js^Y%?0Jd3>5sw z1nn?%Ji@sW=crV^96Jr?=`z4>#&#Z=cM&UDSH3ysw{p6=*&td?S?Qz^_9aDz)fRx_koGn7A|@)$yJ9dT92(^|XYr~mJYf4mFmmBv1#2H~RM zTQ|fxm6(&l8|jXksY?w93#l8Ly7U`LrSqlg_26e=2C`Mpj0eIDOkF)P%+&Q2>&kTE zw|~#PwB3yIn54Fps4h#ex(=?N=`OUvvRjzzm)L4}1!;yb4()!$MQL% z#aa#I&l|u-8^S5vPRdzSwBK|@g z_zQ7Z2P&pGEyuRmCOGDG+tes`hEb=fdOv)k;W5c8@@-QMyD$Bqc5+-Glhoi$JM;?~au+2>8tEp}_ zU&(SL-{OQw$@7^1@h{8Ji{!V*9nAJufb<`EYo}D)6#Ny3St$nehe5jF+3Vh`U1L-s;GMtLZT}ieEy|?jF8fDwKJzF^1In zO6VJ0=ViN`_Zh^*r!>Agskc6gmaieY1w`*Nq$!+0{iO;eP=6Z2Cda2>pUbwCgW>8} z{EmE!KpI{9VQgSWU7~0>Wve3(jG``2b^uNneTJ_b-V)PA140J&E-8K2zbhFfCaAr` zGCnbQD6V{%jo^0s3#_ivHxFlgsr6ja8&J_&9)=noUHfjWzcMy(71ttj*;LgtkG6uJ zr1~}?u7U;US;3E@1GzAFaUW!<>Y0(4e|&lndP*Xm2P?R^ueWwH@YJ^^^S5H)G@-GF zuy>|lBd&$xekV3?1+APdz>x-IDr^0lyWtq(2^W zc+T0PqR4{cv>@T{c1vvn{W+Rd3G|opw@>}2Ayz0#*&)Y!@?1NZTaQ!P&f%W~U-(iN zuew(aTSNs|^#U%IprrH}cbl*_RqWWXm}Vb=h*H=>eJmrJvP*5B?trP3;!-#N0ia2A z?dkpJ4;a4EW~L!35mR6oI>qbBY0ra2iqya5u{;{A|KV6EPRd2`l_!@|4@Hu zHk>DG+Hn~ED@iS~{0@CQ0uLr4@l4ND}Q4Y&YZ$Ja7!F(#B%B^ z&JU*1NG-b-%EltVHG%2wu1$2HVT9+u5ox*+$V^b5`tzfSyfRP>gkA_48SO76KbGLl zFGk9YFV79~4I%=UcrKXcwVMSgF@kCb>6J;-{skVah4t!vIu=XZk_DhGqH$BZRt$px zKxfLVJ0eCOFmHAKtF>xS6|K?lQO6h%Yt5OLn_j16G*LAarkjR~8AHlz7_S_)9`nE1 zrRI?cF9ks4@31g+B0CAxiLT#``>6U7fDT_ZI5Aa^hm2IO(ACqL&t&--CpXG8`x>Wt z($L?&!Fxw*+TA2ktJu}DaT+~6$#(e#VLy>mshu1s^fP%*Xi8tZ#AqOQDjQsS>^EDen zDiZfwvi2~DlO%2&;1P!I{eefoQ-*1X(0+Z`PjDHPcknS!idwYtCq;HZ${3rZ@}-$& za+b<}Ql8v$6))fAwZ7NatK98HE`AfV#T`0#U-01dU0m*23MF3#d-ZXosmvy4M{qB| za3}e(%(&i-1rM`3u-%~4y^IWznt0yB0?oU{CZgT1d_=VRoA}$Oelmai)>rd4uU?o?jA^6FE+ z$Qx&Ql`HETxIM{@oti!XU)5EYxU(+}tc44m+`_L(+|#@g_sz*mx^PWU^N^#{;C ze%-x_U$^0^*~+^ycdsR-cAdJj9w$BW(BiD++vEc|h4S4aN7e2LM^8Ic_;XGA`~V%8DKlPTi#6KySjVo|5JN}8JOSQMIm277V!AT=5wCG%PD6i^YAM>d z4MrR}GC1u=9Eh9;`Cc225XxCv?AE7diq5l|$u;JM>r4{z&~Iyzwk;Mv%QNnjIxW-V zIZ)vOvdXj!v3LbvOWcaE0j1FkvpheQ_Blf(OQG){;<@% z#xnB?B`su1i;+*bLD6>KKn2#~(PvxRvRWUW7>c?h#XED;=JViPNT&zB|&A`n-w^?mJ&F~8&B}_N3-4Pv;3)?7Pb@kBv2C%AD zzH#41Z=q(1e{-UK?SU?@adaV%s9uwkoCl}{UU^5uiOJcJ7uPSyVk>0=rsYNw=}-N( zc$?%sMvNT3)Ac-NkQC-^bfk7yav9$<92;|#nZ)A5O(Lp5;bl09k@;f9 z^#Z`$e>kA^$H18YW4RWhaYg=gi6%>#-j2+~ig>vGX!V*eR!x7SmVMrN0>|C9&W%C! z*-*Mq^BcNr*db4nA6hHm$8lh7#Q!N|IN4}r=4jG{YC61f>u(sJs67Tw7eNGBh?gom8%-IVORAUSLAY) zuYMpdFfCEvG$X7qj5hvKLoi%(KX43PS>PoG`MU~pp1q5{h>^sjw2jlwJS1s*#TjyhOBr3>~84xLTIVg^5%DmYh_ zB;No8{)A7f8vo`*?uh!O$JoV8?+hDePCkersI^W|9>(7?mL{|+#98O;eD8uRI zp_|-v2*!|34R0Y_5b`SiE{`a!d1d`9BBu?c zyPl7&70<2Uz2D3Dpj%XQXGc)_D}M3}fayL=e~GMRgpcc|`hDYnsyx7_duO_)BF)DO zuNs$5b+=A3l`zByB_|g7n@dv!<%jUtBj72KCdTR`Q^Dvx! zrIE@HxGKSPZ3(8_$sXdZ?-Io27y}5#D8cUzF5=TH9g-B#mC1fc`8R}yC~WOAOyECC z&*fPAq4K`TFVk-8qD=78j2^Ratz}ZthJ1T+81Tc57hQi?H% zENW@&7|D)Wh}Vq%-RIr7-phRfL1cg;h0iZnjm9Og5Bs3qJZhDwl8vS?GCv`@+16CL z3RwE*C7Mb%+h-AO~n{gi<4MAq3l?y>t#>9HAd-MRbquz zf27pzy7}KPeVpHjk{Txy{fwp4q7Kgtvj zVOTXKG$&Bvrc%}P{Jc^QHpdtD&2xM)1;CDg>w!^!sUh*ROdcKB5K|7ZO}D%xuDw7g;gtY+Cn?@hs1zaYp}rB+6F6R)&{qEZ3JpJr3=cmh(8)lvn+AHFgyZ*4!OYa0vm z0Ls5PUS(719KJ;6I={zS76K-WvvSHl?w}N)&w9o!oUT4JuFeq~se8l0yeB13^4tcs zWBz6;&4%O@;FDse3LM9Rr{5B8|IIL@#$Sf-PyJDXCxi&D?YBoXFSuf+Td)cCxg{9G zrx$l9oJAkLER4Q?sZgQT53+VghM+;-x%~HxH5ZJ`+tZ!A4H}u1pT_Z6d6zEY4vWm~ zQt$ghC{q25;iJ?VaA&W}Tg@3Nja0gtZHVGaLxl2M9V)f%VM6pEMp0A;ZG}#259HOp z(2!@RhrF*ZLuR6I%Pd;qwZ4;Q*nh|t$z9PK=LOF8!lAgI+BR8xAn7q|=mpBApd!^| zdwfC7bNO`1uKOlOfobq3HSO>x33W7a;qiPAo`4Gvc9o~;jZqcyb9};~{YjEwvfr*y zuTeAQ$sy!80Vr)sPMrJwZG|k=wt%JTL6p{!z;U8WCT@{-dA}C7<>dx))YHBU7T&?? zi{&3DA1-$399oDaN>8d;)Q@k`XMg`Y_YXB+SgFKYbb0tMxRdJ7QWK2q4r0H?X(CZ8 z?;BGrcIC~y52;*Qlws{h!Y?&0>l3ZqFzd^T+yx55vv+c}X-&h2C=l~!o(m0#M*g_m zs|;qo`lNPc`={(YCOuWO{%MvT*PInt&|6`5W^&EX)P}n3YA!p+L-=WA=1&y=bRTL# zlyb8GHZI=uD`7}1@rRHSiBu=@9yL+}eY{@1#vZeoKnOG#__2=crl-jXX3{o9p7wa>{51|Kk;Kb zn9h6`Z7E6u=%2gf=+z$M5?&fWH!aEvQeuaUq|Iy zD!1JCyqYYts@=h2>V&^B3U>!V(TbPM$4DSD*sm6LTO$wUmpDRyQ+3~X?4!%$lpI{z>v+> z?VOsYX&7b~8oPs2!5aN8N&TMX=CIgSzcU#5ef^elW!VEl#vQ>TK6QkRzSSY;g?tJ* z&*jrZ!)?sEw=gAoxRG@xwfQoVM}}B?QkgZj6-y2C?%hptMuEhe;m_p?J!J#chTcKn`H z9vE+Y;1e&V*#Y}K=o@LCAywqN6fq62#ytrCQa)L=;HhTe2?WG4gY_K$-cu>YY+RyX z7?-WNsU3OnP6kDs5Dmi1UAEJUe0JGR1XX5p3S@F;q)@Z~Su%S%0!;`0t?d7^DdZ(; z`$3_gI>}~)1DzMNoL=+bWr&Jf&60xrqxm@I83tJ$V&_q3nOD>{YI8Ol2og)-6%;c8UZ|r|GzL@pIfUiU$WL=ioCc z)LP}fS+)EcamFzHf}xm#$QpUz2S9Z4Cz(}eR4Ws5C9f;g3sl>1$A_{qprFZffG{F) z+D`Z2bFFma()_EgS(3#cweIM%uuvV%-GQD2vqIPK^;EBNEh9V!$-P}DklP$UO0ptA zcWt*N?`B&V-?7hY{V)$7vOZq!zO3H81#6TS>^2zwV1t?-W(E*XnmkYrq~t~X$x=6) zK0E`hxx4<}%cgscRW`Vs`eDP@r~DY;FeIrMYta_${+jw6PSJGl0ynLN(xRjBXInmXePqz|8t>?|+Z=9YUexqSHc%j7OWL!o4m_>p7H zLj3kO$za^Lq%g?EIc|F8P^)_1mg%%CAZiR*P^%>T$WA7~{K_g8_$2!>(?0zEhy$7$n*=#VARf%vm@l7-GUTG?5D;WT!58=z&Qp8>dTmuK}WK35#RUXnkN)~5!5nu^}6imJ!1J31a#hS>&%Up{RM6yojTWZ;w3qTP3 zu-I&Pa4@?k^9?O=A=mG?&?-#tr_I1K0r(f7=O+vjQ?Pepq81(U>a9A9+_@{3bf>+?1G40+XBm{s1FFSzUF0 ztgih0s6F-u_;zY@in2i3O_Y1T2_qMMN3PYGKU&aCOiOp2Yh)fo6 z=(Pgk(F47je*ygDpGh|QV)Io&f4$1CNa8HMu)D-5F)f(W3yzN^CLfm{D{rZ*TwQ-V z@`KdtOQMxsHIbh#9^JH--NUxx_j9zHgL=J-i~GaD)4gb0Ark1;=Li~hlLD$9gYt;k z`f_M`T{&0mIHwB1THju<=%#E$ui*E z9470SEP{KquSmhGnIhG6cx70%R3UtR}bwIet8tW^e zhYO>*C_q-khO{(p&P7`#?`nLXTHwb@gNs>PUew^IR;2*g#?(fCUZE)9r` z2QE4xen;?^2h>wM$V_1QmHkqjLAn`yGBKA^1kGM7&a*8{F**srm@e@yO3I+KBe)el zpIDc6FV^e?j5D)g!}Cr0Pt%59Y%Qdqj7UTItfU2o+T2qAtSIW1pqLbW!-lggIFcXI zmsSQ|WXvkB@-04a%G`j$sD2(9VUIta?uxlSewg|tDD5MdX9xM&?@&qxsxidz<=h%) zGm?Vwr&KMCQ;U`vO!E8WiQc)hIqKuf=7Mlx{+G)D)Tm(;6K(4mEVoW?ah8iG?T27G zCBT)aLmW!LSsOmYeB1Vwl-N>n5kqqO#1~ zv@w6RF9@YGhM5@UbH^P?gH zJ!U54i!CstVbU}zs{IgM#;4)b04H4NXWVj}MT)+e9DEu-gpXMBvKM-z7J4oj;X)sY zr=6j#_42?C;V(7ae$I>q4)E*qNzPj5XpePXVU za(Z^CEK&$5|A{~F*DLn5#s_Qo!{ZC+_@e^ihO(Y7H-_|TYfNFKYPb}ms`^1YsVGa7t`6{w7rF!-J zhs%`E$z91O1h%cYi@$a#_)iF2TXQjgErEj;_XZj^H{GUn9LY7$)ntZRQ~pNuM$XL< z)s$HW7!w`uKbS*bA`gDYPVh0{Ju1Cc@BVjkIw(>8yjS@utlItCau8R&#<`_k5kahc zwW0ltZoYcuJiO9Uk6u2O*9DV)b7>^n_(6vkw-&JKL|fm_o0zCSBd0F+W6`XpRdm*z z8#i+`1l_XnZTPdoLdlFpF!_^nf|IV1>c8rg;8X6)slh zm#WY#7X~G27^;W?J1Da6Tj*v;sB+snz7d7A_ zTiwJZyx!NW)if)QtUW19&#!)FmY!x#B}9&tI?6lKLA$^(Co=b1<;LxYmz!$HwfBUu zQQRkn6(O?>E3RM$8lFk>$6W|k^FUnM*65qY0DLn5&7U+3mQ7>&R_&iOCMPFD<&6J~ zFA{bK-zUF)BmC`QmchdW-g_B}PL)WLSq3SHb4ZhM4)SQ4>Pyg&Cm&~av@a5iv|od_ zXG>06mi%?9eRTDeOAm*aOW`LQw^f6Vr4^t*GnGL~kb|dxU|PRa5~l-- zJ3f^dX=74ZHWEVmH(ZGm&x*8utznXv_|iJ0?5k3dhOgoJz$Q6Rc>W@R3pNH~V1?Bg z@@2LqerwsGLpjOY$qyzoPwhVs9*rE4O-`LZxRFarI{T7*1CzgA7mhbe{^fw(59uYC zv?IB(_%{k=*3Y80O{EpgEB2+dP^=el=EB+M5QK?6{!kTP%{9E~DSeA$`h{6?lzB5L zk$E3}L73H+F^{*kme3_x$vr#3>1b##Z!3NMHMml{ah2rKQ9sL_uE>p zr@L~9mxH1N;1fb4XS=pmO?oCVV&gRJF0Usz23M#x$k|l8$l}*EyNCEtQZRzK4QoM}Nc*DFZvL&xrEDwG5kId8VAx2CMIJkY`0Ef#XWW(-QSh{>hU-i5wo~@amYpKG zox#vql8QUSW;O;lw+iEB;eL)D=^y6ruE^Z0>17NJGYW4^btH@@AzI$DP({Q-i{XuU zEvkDxW{-U28Vup6i)MS!$yoVfd3TjLdbu^vtmC)-STIS|;Uas3F1=O2hu;JX3^$D> zXG`#tr`4gqmHwP|YGC%{|Mo*`6PyyuJ>7@11BGO=1asuB$P<2=5ksFSzmQft?(2s< zeUGdy+ydaV*%I8pO&flBN?+jiMtXM>e_9xH|59-;hw3Y&D0uZ~IfC zr_UHB1;50PD|I!eR)`c5hG%Rf!P581zSXGK97e;Q!v*gwJPJZ~C(YyhNHR?N2*?=a z-=kY;qx{c-@IM;mN1v~gc_JrAXpG073-o49-pv!%3JBBNP^$Bzl>SMDRF>HqMJtkp zbT~C%;W)>q3bqq!zM8X-S<}BcXfklfWbPdmnBJJ5m;3=VFRb4fU{_vN|B5GXTB{&Z z)Vz(aL@{e#Gy92{e~Uufw~ftbs5!}Ls*63Ec{<)$LQPhN7i6AV>T=tXBCC>L))+04 z*tPN>hB+Wv^H7mulNEqCr-lt_u&tlTJq&I^*juk{iHKUwb4OAzMZOqKig2Zf)-Vql z0-}Z45~6i%h5&j{-b2Y(U*}jboo=M`YW~>N47st2)-hKl$**dz7jT}nKF@jfg!+-V zuxume*|`wC;EsW5|AP!QH?CVz(X%w6X|?BV!e@W2f@n+g`5q8!yCvYl%j-x2CZZFW2B{Xa=|Fl_nqoOto*ZlaNy|OaJn0R?{s>;_JXpewT!> zKhkTCWICN*^IX35)N6iSE1K48UT5q3|Ekw~B{RO-_-I`%Xo#j&$<>BS^!nZ5^jfyH z^0#6wiA4gM26 zqG0;dEOc$21f5ELt%v^9BpT^Y+o<>dm;RKy_Zj`^MYeLB!-wckyYAkWEU{dhpI-XY z>z)4eN|3He^R10}82#x*5Omv)hu5FBFh$Z&&+AJ=$z%DGfrm2n>5O{Y-T$0Cyrsq- zhH)=iKj*v3LUPeRT<~!El;f%wlUD^D4&{))x^p zvbkk;zohip$$j9W-wgsN0rwV)?aLB zc5Pw(xkl=P?|qD6tEK)t-HVxB32$CsVx*AoSo5KfS6!2wXnma{K%ReHicb^qTJ+2XddO984A;=&vyhz z<8p!YE#waEKzDDFUNTgGbt5fU@lf}^2~UT#urA|8P!|?Q{k|nwaI>2lY1SpGclNsx~0_FuLVrq2JTr14eOksTQ#N6#f^6VvNh4gJ5ZerB-qs2{HC3dV^?Nn~y@ z1vMek;;C2PzLqj+{g79QE+8`3e8rfc>s7mWBF`^Lk}gEh$8$L4^)6u_K|hr7;gs=g zo%?O)0k6|jl0CI#>5yWeEO_qs>dxN`lS9>;`MzuFgBxB~rrU*CQh5akfmE(-EY(~3 z<)F~6lJalgED+bd1_*y~^4$#oli6h!-OYSMH51O$eF?RcG%VGtm>%<}M~F3dci!zn zzthXzeR*X5Gv$)3c~CngStp8o?T!4Do4a}=#bS-r12(!Mb&Uyu(k<4Zn#hZ?VIeK= z^s`N?4V&4_N3dU$UuP5xB%43*Zy374E7nwH@n*CI@Mu72K8cW^lS?t}oSiC#! zzzg9uayR#GP;dW&%~FFdf^k8yDpZZ}{j>#>5=Bu?Z63aT0T$;Pe{16FxedF$8<*8W zEC+|=0eT6h0BCwm+i2>7k3YLf3_nHuB{eV((a0~CM!xk~Fxkdkllbbv8X4`cHX{kv z+~w{48n@@(evxHA{+USgd6Z3omo{$#00%As&bB*V7c!aE8P>luc)zKud*Bjk-+|(- z!-5dDx!GOZ_--F$;^wo#83}EB=^61Rn|JbwKV>O!ra~L(W`T&(NsmjQkY+rnM$--r zD4t%!_04bvq-QH(8HS~nf$C+pEV^!u$C|jmd%t4P;#H-!7;px@X^M7tK8xzk&f4A= z2z%Jxbf)L_4(YcW<<5|JA8gd+P9}8VlB5hl+~36^?)U1XRC4NP`=icpjMvH(iSd=> zK9x(qFQs!r_ppK+uXKZhO7|QeD&A}~ON}o$8=og5+&h8+^)lgBY3i6W-Bk*jW-<=0 ztj@gqC46ZY z2xDXg6~@SZ*Yl*f{_auCeE~-n^!=vh7BwFEeyi8lovyOxI_>P4dS55oem0#0LK?ce zVEHmM+B;Kw653o5nL9A-YlW9fqSlS+X2ZHDi!fV!3+-l<4^ICbvpyA)8R8jRxUkkx z9CDsKo(x2RKfC~yyjH1+3m5V|ceBYF)D_!4DQ{NwOecz9YFgS(22UqWg!l$v@*^lUMax%Tsx{KZ$sw6Ka#pP$# z(CH7u_|c&;=|+2wGR7lF@v#I=n1Bo5n8L_h(?8=ei3Sm!?8wM`y({rtHT{W|!?+S3 z$Ncq-MI)N&TKufJOy0Q>1+=qX5H$g5b@(a^_ch<%2^jLc96^V?9EF_3>u}w;nFv4} zG=;=Zi~R8=p|s-I+c7gr=pc;w0$-#vY!ZSvC55c|J#}hQ8b;&8Y;n|^&0cOt)X#}D z#jN%rDn5kmY!zQ-Mqz{7TC_mPbNEAirFb+yHUt-==VL=&#&b0(PXf->S|TrR{!b1N zf0@)oW&S!wundpqQ=kfp+8CVH$W+PE3yY4N)WsobB=~)P6BsrAhU6UvYmU;rfgDh4 zy@5;WN1K9F>>cw^e>|gNK>ki|?N&W3H*j&J`8e{-9Zp@OyEYHZ7YRtul}ZLui{-F#-ba@#rJ;2$qswl+eqV<>6jVj|6K z#VHM^{^(-X8IhiV$Sq#z|CgKuTqhsL2Ow@c_=4xJ9=;~|%llz4LVxqLf+ph$W7o$m zyx#rWG&lakH*5CeS7eKv&KZWw^>dHHZ@M;qFDl0F$V0>AL>>RM`WzZVq@-^8h@-=A z6(l_!d}YnBuTf})R5r+C%==)@;iCAL$S5z_SZ-; zB$mG$X}X~w;PI-KD)Wt)Z!S79|4~m}aLx|FbI0lUw_e5KmV-++s@7QCN~5V!1EZ#uJ7^tKk~o;VtA{HRj^` z-8{yum{qNOaYYm|Wf$vP8-G~K4U-9Vz8!I)1~pyHGuD3Omn$NTwQyg~d$JB!^R@3q zaSv~P2dNg{R6-4UYXi{08wk%KE}wUN*oDbI0Xa>-@F%IzaCGC7*mQBVqpJ-hZ-gCGSUKDx2 z%NI-{$Te@*(TJ-)yEk6($zp;J66IMg;1<~8L*h>FCFZ1;=y&;s!klR9*7JCuc4RDZ z@|b1(ynn0o57FG!=!jP_;PLUnYon|8MD5N9IbdUe16d2&I^t5jdnDIc*CDS}dgX8O zg2Gu|?rJ<^NnFkU)JJRd&JkYcTV5yIgZt83`>Occh&?;SD*f zd^))YEg`}S*E@dLqHBwGrQ>Dqgf{(vurx_uq1Z1CggMG1x=+XLtK8W<@E~X@sVeH{ zPmf&?iOm1UNf7Ro&=to80L{Ufz~^}ko>k-Y)q4^lS?R)JP{dE2&fAa9$!S6=Tz-TO zU|MT|alF9Pm%qv>V?F-0Zr?Nin;ji zzep%rPKp=-aRKd5ruUPho?5Ak*+sg4P5i=@vGUFM@GXv2Zi+M&zy@Q(`9NcI^i!@) zG5=u^OK7H%zAqI@i)P=UnU)hb|H|Y`=-bqv&NoM&@P4CFMK-Fm$kD{i{8;7kNRv1S zsC0$FYZJ{61_3Ymchcd5+gGZ7mQH&yQO|9)H0v@HHk|@uI0q(wJV!{6@<1TmP`2_o z`+kC3uR3*OtaW3NFiM-kg;t6tt{~1sH9BmXu~+vJW1%RDiIg<5vm|1O*g37|HImwz*kjWegC-*LM#T<3e~8w?w!>)uVMW;(4P=V#ZLLBr z*xKf`j^b|?-w`3sNe_C}(rXRjJ})-C8G80cosi5hHn-zh^TECe5)RxZnA?EEQ6OGc zJ_@e?stA8_X*iV0p|1zkQlEu6WaGV*h-nt!UG23N>2}(D7E!#S88b?^VTWhI*(JCB zy#`=Ay)U95<^4EWsG?eCR{5Z({pyB%+SMZgR0!@`2AMm(RGiV_lF+* zhR%`v*Aa1rd!Mm;ax_uXhdNX3ox|d>U)38Q>4c(AG1+yXhVP+A#c| ziQ&%^{yuz5yyZ#6MC0oXsd9Mk5#Icl2k*z%mw9uauX9lfg!Es0EAozyjV&@&=!j|q9E6$nsZ__XI`LVar#S_+#*&|DT-uKE5h5X76 z1=FuM zpN;m5bXgDL5Y@Z(#y3)U964kC`>Jx%8-G~S=ijgb$-{60$s_T9mOLV{1H6;efj4@~ zvIF2!@yZP}f;h5mIF#|JcZ@~27dMip}$g7y5f^oUmuoK&B{j#qu)iikxlUZak~_Lx=jCj8E_rRhnIU-E_Y04_%e`* zQSLq3yXkCjq85FIQ6OdMsT2Sm#?vK~|BC1gy#NAzV$?1YjKy(O9Jq@e`515R6^DuJ zRyiGZ`ip+mOWyq7LLp8ffHgk@Ru+g;Dx{`O`WKp^g!}2B57pvh!@OJD;{9qc_}nTQ z$Sq$yRa0VJ&HLa`xvPdbi}Murr09TT$Ee`3ALxLTJyJsMRAX>J-s6Qg5Oyb~-=p+-@=UIh)+7q@Qx@Fsv90T~m zpkTk!W)xnV-xs4b*!qDIge4D=N-zsUzBXwpyuv2mD)cSbC$)bgpkB(KU{jnYP89Xi z=av=-ta!9KS(5QYUzh;mT=&BnyCS&ay&JB>;+z>tyt#g5p ztbVdGi*co@_NK1z0NQMEaBAJmP8v>@D%X9M*AIR8yT|F0O>`7R^InC`$A@r?qV)Ef zrs17mAU&Y(YCmZ;pUV^N}NGcWLi7aBh)->;?@-SKGIv}Yt#x$RDy-M|&zt;@ne zEM;B#A?;nJB)kLR$O+dd)LUNpz)N1uo#?3LC8zKsUd1MNkuC;4>9uZy;%oyujFwPL zhD#vDI=35I-qj_%ne8ESK4)v`ZF9KXb#P$ix#Ngvrc)M}4#KEBMYGvNgDSnWkpTxdbN;rjW)bi$m$A2Vh6> zG-4}9)mWPkXXBttf6^;(T1&lc=bnZ|lxkeuc_e%lSb2ZlP&a&oXlu#_?2Xrb9-)Qf zBNiz?lQ^i?yPZQMK}h5GaReg8&9eBR@5QU$yN2lFRR_%2D0bO?dEEPM2ns#`!(8cA z)-M{hq4RWiZb87ig#*P}@1_*fsI_w@J^Hb|@Nrc~!>p$2)-5|@?BNP97scIIIMwxG?KSv1LKHvt@sT~6upI$`G!!W%ZRTr>GYOmI5;OYc3zmanPH?f4B%+P zpfu#-u#pe4B=9Vx7aoLeQ=B+#p)0g64h=aD2M2?OCQ)V1-DemRa>t?JYSse9hFDW8 zhmLi6!2Wc;9gCO15IDJpU!Xyqt7CLoI1YisQfvEFPuF-q?SOQQuq*jai;Z4=5#nSx z1quyLdU0S;cs1>Z-_idr=YP^?=KN)F*-^CShqGOx(LOEO4+>6VYzyEE<~V$zk1sPf z8ZT*{DSdM_8vp26sq-ltdqp{Up=DtmRwGz?OP_90Hdbsn5vN7M=jjMRI_|bi`CFGy zZBW@1WTatJ>(XPU#;NCNOpDiGei&${s>sI@;G=)l{HiZnqAn^|6E4ULBZG6^6!6*; zJm>MzQ|nSy<_a>kK?Y7-(&G4jVZhut3(w3~piK_rXZ?e9J%TSB|725cRTll)mbE4N zKK!=;yJ-tn7{hzPlelPjnuSElBA%JJ1SOuLrO7CYpPzXpF|Gn@di`nv5_1a(&g!=D z6fCP}^#)+vwLMVTs#D3U>Dmc~^$UYtpVVorVUfo4Ym^uWk*Qg_?Vxo_DI6)8Ge8na4hf-^{cv+pHv$ZL~U%A5NusUFhx zOZ=8j#Ig7Lv!znGF14!r`PAbrY)`ReiOdhG6JDI$7`^>1FUI|*{97)~;EOh;tSb4= zPtcZW1<{q|w1SnpiHG0yzY1d%K9L%fuTu33D58VGstKJ2Ht>mXip&ha6{iwyaLP1s zOYWuJJuro-kP|Fjg&0)%b|Q0aZ=BdZ0>ooB^g8LUV05U&E%9(pp?UoOUqer5=y8Ug zNYyjews`vc_=l-_@CztgH1c3JN!=)5$EfYMPf`y?ZL2XCSu}wTF*9KnD8fem(ckOm;;|LAiH1!BFK#H;MZb;0U9fjnw_pTb=wv66oD$3x361j9d%Bh zdP0W_8#1RJ(2(q%b(HF;&)GoF4R~YE+XmJ&prM#M0S!f6dg4OfT}*suZTlyDq; zjE|-?&y7Q&Yg!@=0}AD>e)l?mIND!MTPzyVQ2pXWDoVSo^Dnw9^kay|gw>Omg*#GO z=MKG9ySyL1#8d5Rw~-Kh*YpzDV)9+M1za86PgFh;+n}(SX1k$$yDx262bz8MoDVo_LVElC@q*m5BM$?`D zw0rFR@G?HIW;M^d+8N#Kl2$tS6!)FNUbC2gBK`1eRuzb&QO};O5tGA-!&(n6sGrqF z(rCl!Jl6P=8riJlyV46H2aMW-QSoc^o%%DAccTq>ZlkScI2vZ_7qbKWyavdSk}G&8 z8erS3d!z1W-AK1;vFSbpf!EzRWAmsrT1k=%7S#`Y&r8bxg&TA3ztUL47a>tp`SVLeKK_UEng=2`PzZJ zpT42ZbgqY)9&O?hvnIdJkL>1B`2zmOOW05jQE32wY||WX{$~zk6Hdb`sWMWzk-&5J zZ#Eg|BlwBHLIKkG_j2|+(wn=b7z?m>e?3<0$)$L^5=gSlcAJ)iP#;WOU9e9c9%*t5 zf=Qh`{}OdtzAN3Ct(PFRgkOTmF8O_~ zwJSMiEy4jv+w>Q3wduaTuurM3M>FH(-({LjxtPviWq=OVA-cMW67zME6o zWVUf`1a{4=5p`c~C~wGS z(2~-Qok=ng=7r4Hp~*z%B35fz>b(@Ou6$foH-;+QCq*fUv%*;Mq$wh5?GHwko80nwMu2`2^r|{Uf z{eFj7F$&L~#Km;M!=ldPa`0wvz;pT>jzm8|qcR9f8@AP7^CD*uin+~xId2cjbBVK3 zGhgoUt0vANO;St!oEY>JPkRdN1r3H%3;qb{Rckb`78UF`i7T+ZF14XOgfzCbyhj?W z(dwkb#agE)&w;@V@#fAdf-kuc3dF~O{@4aqZY6IzhU2x~u4Bke{4e60EXiW|yGr)K zm`pDJRL1u8%&CxXBv$MT2480AY_fn8HbRv;5PjVM%D@Yt2qzb?wHDC9Kd0vCAnXAJ zBK@XVkOGB_J-d71g&_3;-^dRbH;YdM)6oVbBO(n#J%il+CFNF%{go}of7MQ zU3r5X^#Nnm4U4Jhj`9dL5y``Qi)z@(ZuYg-nekZ3-%v`A5LD^HXUmRb!~koAt~aFsRDY$w!IcSI9m2!;@Vc!5}gqlGXL4#-5Zi~ zyue?GJRCF!pH+1Ua8uqD=A@wLxd=5aSGbdapJK3%lQ)5iZXRhvV8*TUx_mjvQAfot z#&5~wBc_dd(C`&4LBHUy@9ZzvhR3@3a>xo+e-V9I{o?Q?5Qrlar!ed{h=#UaFTB%B zUBJ;RL0Mb|q7*EL0~joYtk*UU*Zz&KxCKL-q4Ud=AGKgleqOg4cH&Tv)w{i$GB)up3-btHRGR2*oa4t6o}obpl!8Y7)#L2Vzc?_VRkXxLyd-m zSUAn8c(gn)E(FJolRMkM@=RS3 zF{vO9$El{WFeMG4%C6~v&Z6;CE_!c;SLz7oC zSI&PzBa?4%pF5rnUjcmwXGM~e5lN<>+((c)b#tG1KDMkj?5jw^sjE3ftx-H*M^>Ji zjDVfk+#|~u2d3042syQ`dvka$T`Qqr@=CP3;W!{|iS-6@+e*f^_JVAQw08H|lub{R zL$qtX)H20+D5S`=8^aIPGd^~i>vWMR{y^B1NUb?1Gjzb2ne+NnI|sey z#>Q_+S$Svu0vpRum$gn@(0IOFXdE6@ttGeLdP4pXWY!_epr^(TNH$$1_LISJ&?hy% zgcAGZ3g6Q`ax5uI;^TX-NA`#EE=wy(Fbp<;1n z%NiVU*|SfA4`zqbi zMK3&sD?2}c@qOZG-Phq)MU$Dqe_e}j^9q(9zwB*Xiz`>Z*Nv7geTX=-NJWDaDQx5u zC%)qiNJ0oyzJAM9a}X$FmS9612QOFnjAJ)WjS*>7#*Gx`a!(=!2NRBV7L?`T6Si0= zSyId4q%ZD>_=t&t6pu=siUf+gLDd?iNn|9V(qsEK)qZEozHk(hhU0fY_(Lpv8EXey zaUzznOR-8Z@US03Pik{!=uzS2FqdFX$G{?7%R;lN%-Pdjuzk9C;i$eIHGOe7eKsF* z6IG7ojD(k_WfaD9Pv>mqM?=Y6*)Cnl&$xl*nUr>vBVW^?;0Zr{J-gluI1`)}&rCDF zSUJVw^=Qe|6qD=4cUzzrLadJJgS4=%^S~P?-H{{jIm|QF-px{?(0m(}h_MLz8+V!u zM_uI_{0j*b07v4LyUFz+4@r~e#YluFHLd6sPT-;*uIMe@-Lj|JpR&h~Jsn5LN+ii$ zdK(Y1HgITJ0V?bl4Cc;9c$eeR@CGl!cb467Y`BF>$u(w2Y_Cy|-W<#KPrq}Ps>Sr^ z=i*~Ww>54NPn&ZYXxNZ0YfDsZx+ZR#+-1%v$*{1R#&t04pth-uWzxU6bDEriq;~9( zEjYC+o?0DQGGBH3sg;Drzc01P!K)$lIPIwoo#pfPvM4n0*-JFj_I$n6ICl0?dq%C{ zqi~fqnVTZ zsg2-}zp)eF`b2CC7}Sv3C@0m_3!Q(UAuhK zpw2VwoI?B4#xVe*k-;w1Z96b&tRl|Ls$9U z-9wkr3R(^iW$M}8Q29c<>K*Uqd2lTa>3I5sdKkhGU4aZYmF9+k3GsIf5gT1^V|zpT zgf@ph%GtMmXCn4eL#mS|rRCt{cPmKrYIT!oU*{~d&sNc_yK1lL{JYU3@hPp>KtF;q z1YhvA*6g~03>+_YUeJnp$yRHJuUF=Yg?60n%1kRR-{`xtU=d-Kb_OZs<+*}`T{_AJ zMl`q0afMJ&)N+e1GK~Y_9+aFZu9 zE7&&nbref`R}@^WcXD}fr=7&GEjUi`iBs(tM;S{?`q!SKqDdFg`Uyx03BHMdbsBG} z)so=6Xo!huh;~m(;if0YawMo57Vt=GRfpB8s;) zWKN*c{dQH^y8`~2$UImv3=q`;{h5lsA1MT2WiAc=Igoi}S}WQBpalU?$0+ECZm!GU z^n*V~H@D_*mIQZ1H_hs*7y=RuYZk(q;Uvsg3Hu~*zKvc6U?Kh=LESz&^FnEtcr7`w? zZ*Y%2SJGZfB5-^3`N-(=o1)*sJT-TIKl(@C=zd)hH9o=`-xn;wqNvFGt2HNJP!n7p zUHQSq(N#(CHM^oJVm!JvGN_KON`q6l(#m~4x-%g-HoBS=4AE8U<>1ih&X`~TR|015 z00+!&{%V+A`U_{A0r(2o6IMq&7A@qyfV`sp61bOInMmL$1Wq3>Py>3+6&@K;3#XMp+p} zQabvV2Ad)Jsv?pCdS4$S?x}o*Fle5UK3r`28O%_^A+c{mnzD*uq`j&|=JY@a(uUwZ zdyDst9cvhg6v?Is@S=6j$HCq&<#BCTFsSl9_#`zz_Xlg!(fVRU1XqTV2W|M=i1&Jf zpF9Ga>LcG<{Js1jH1`SkK#Ybx73b2GlpE3y5Pgp^=b2XJ_4MZ5^(N|_kE~~DRV?uh zBtOWNP-$kW%1kP#lMyK@6)|WSE%-hQOX4;77!sMg${d9P7)o%7agGQ#f{T z^l)qbi($bY>|**N$ELIkZHsOe@Tt<^N!_HG75o*A{KNis2M_8#ZXuIu)NbY)_Ta8y zHhb&CKOFN3hGt~<7!3d6=Gzx$f1h)pmWEBEj{i|yobWmn!s`)&Is6Y~4QND3!9hf_ zn*<}Rxy@%~KfhYd)r|MDzl&(jnIc?w3!r0b9$aN*w7O|LVv;37KE?ZG7R3+=&FVEb+->}}4Vgh~4>m?m8I*0w%k?|QvYv&` zoHU>T4qynTNyE|k&EP^1{u`HwKxhuzxrV06pG3r^R)!4#}R<_VgAYwOQ| zK|v;y)`~?8$D3Ln)tA^&#F)&$To- zKyozfU*Mh)ynDHE($w6%p`Ah9D^$PfFI1!|xtMXvBJ?jdtjqVH!u8OWo zf+^8eX>g%kwN{9}3%Ifz!{Hv{2dT|@<`LyVL4wy|as*PcQztK>oT*BqoO#c{Hty0#2|T}NJ9??e9_duD zi?OCe`vdv5c<0dp3=?I}NWI_0`@vuSI#B0u`9~QSqdk{@WC0qNaOLc1+=c#V%5NNn z(9Y4@5~_3QMG9CU`3y|sAupxZAnqu&@t?TNr3HOC`12HW6{!w!fNq`;OHyiFU4jn* zVZl#$u7`W|u)|`fa!D52{Kq(m=wCHyjbXUiyr7H%s*wgI8-L|~599X;CRUJ1g3B?S z)hbA1+D}}C)1JT(C zZ?0|G{jSuhfyD~MevRUSh~h>B)4!Qp#_w=h;2)8Xdn5Dyhw|x8rK7Cg!t#TVPq$BQ zkmOte-R0Aj+dhp%ew*P4eam>6ivI1N4OdQ$I+ypEc@u}tlL}Q^Fm+w}&*cne|aOz?BMKhnlFTTxnQ2#3YqUF!V zFLYi*?fQ=GEOur~J(VZReA?Und{)68!y~*yB0@}%a6F>XL|WNv_9M@1g))~XB}z{f++UcPIgh3^h#Nr);Af_Y6=RvxAA>Vu9J` zO0>^y4^}-<-(sLQ`eNo8thWRl>jvKUMge?q!jf20HzX=Vvp z-#MA-Ac(kB`QbxH!s>KBk9V|PJ-vpL@Z0XBr4M*B!lv*OLW;bCCz6LhzW*Jc%=iD* z|Iq(!1^rJ*e0={IA?|B_$MiT`E)I}UU6SN~uA5B)z>p6`F;T_4|n22tR{^T*y0)q8r@JeVB>xY;v&dwyY@N{peiVFj>AnOx~w|Bzbcxm9&|>j8uJ)vTcw(k2q?c^&-@qdedfs zL9Z(~=D!sha;2C-FQXeeweH~KgS~`+;3beMok8QGNG4bjtWl^8U>H$=F;aRmy^#f0pGeX7k1 zU5wh0-LJ#y3q%FlYTVHwio3Bx+1(c^lV_!aHu~sO^J+$2dVE zS-&p^cY(hW17C>{y_bWlZCApAgXlq)7@biK+y4uzWo@dB4(dSm(%{fRtXs5s<#sFd z@SKf_gminaVZTHB`cj?BL3tD5md&cKORaKc6ocn}WGy>CutJ@$muwfvT2{=cOSNT} zwf2&Nq(8v5@rh^@wxN}G{=><60R9L*9<^cAn&2~EQ>wr7D#~QNW(&jQ*w%Tg-c#1m zx)fT}yHC_Bbrr>R>Ea6PNiULtIQ*_~!|h|3ShZBR?CUhUMk4qGEr3A}v5%>d@AcF0IKpxm;U))nfGQhidH^LTU8hFH^F{p=m zj2$rZqWsB7IpQ*xvymcOz4#|&E7WPGdM-u4`X)Dm*Pic&PccF>nnmYD4kP;4Y|)-c zKG%em0*Yq7t7hKesjW243{x|A&8C7DKiDCEDrCsg&ku}#o-808LWT0alGXn& zq|?1W>C}|>kpU(7m6{+J@7F~B(MuftNV%=;?=d+D2+pD(q!VDmhKE7Xbk4)^_^3@S z=fyhFe6YUce@#DP6$SM35<7Eepo^n_xO(WiKb7NRrb@JVdQ5fhaa&p%%8!guP@L;0YFWxQ^q@M|*I z5YbaT^kf*bKRp3W^iD=k^>l9pRUZ*l{YMhi8S({m1O>be*bj0GVD}-YJHgVAC8!Jc zBdCdv66W5QBPansGwyJ11h;GwL2)BIk=G3F`TQk{o^FchNqJBplB3m%qbJwOxaeJ!DqHj^r5au zheD~Jg?SB#_MeeDH7lZvSBXPMdvnq{(Q`Dj#ImNzx{L(~IzGik>pK#rUMn;eF+= zY}R+V^RH9VlGmseA=S>kmp%$YNIBT6j9i|-O0K{K`b1J7?a&J#@<==}k|dp?c$MY5 zY~Ztk>ToxWawAoPQi0UTiPJXCe`x1Ptz^8W|CZeTJgRLP5)AF&XU981(@?n2=6SK@ zCKcSE`{fc7ZQtBU`=a~1T7={)vvgmm580tPW;GavsSdM#56K-?--uBZ=s`M{6zVrj zkBEN5;Ds*H={GjBYJD||BZAw{&n+gNW4%`KIHw;>{T_@?Xgry5o9_jgCvL=hO#!Ot zAK;vJel$Kde+Ld~6q9?}o;3qZQlaMdDWyV11HXTE)Sv5?cul$nX{&Lxt_vaYsy*ju z9)SbE^~rnsWps`Ee{(Kf>)3aAt6FCBz+@!u-DO=GXH(=GU|#uP>E8 zs|0xJogqh3yt!TA3vv?t*Zq$)wqWz6lbXe$QgYfJRu1y?wI>S}N9ANukFTnVnkw2_xK z|L#~pRxhdpSRo_G%6(ZzAjaUH=ad*CT{{QmdBG8rBJ}AB2I&$9gBoBI9l+S%ZgS++ zB_QV+fwP$87{QOv)2ERh$QZ$0ye~#zazh_RFp_Q5YxUG#j#UZ?CiqqFd2_qzob80b zfi{u+m?W8o&Lz<6*0w}HMqRnuvP!}++7o#1!!-DESRaPa^m#YpKdL31E7V%V5$nbb~NG$Bz0Tn&HHIIUc5ua7Us+rTgc`U z>nl%(nzG3Qecb7C^1y!dPkP_EKh`Jx@E??RbAReba{d`C&Nz8jFptZy9(0EIojytN z8LiiXG@{T*R&&+V!vEr~^nu^{E%ftybwZNf-#|a7tc5=$9De|K01k^49tK^(ea1~! zgpau{&@b)BAC>}%J{r=-?-C_ljC+~X(u3r(-1OKIzr4UlRcsrTDRKAyzOZHH9Q$h!z*dA zHa$He_C0-wea2JL*Jk-0Zeo)5vpAvhY9|>?nrRYP4NiRnxXB&^+?wwJZXZ0=-ODyQ zNGv9-1iHbAcfb?!hug>=la2o`&=8C9SvOx92qCF!Ds8lx5 zD=SL7Ut)Pp2&hXBMEK4N5LUf=Y6GXEDdYF`88}^PKeZ`EPFY>Sbh`g2&BnePbpXt1HKb1nem*~^+2|thqBCvsZn{vf zP?FUv^c_zVp^Yp2J}QjbOTr(V&XMu5Ur74^zDqxwUy|%fX3tO`TE=3(N{hBi^TeT` zgb4VKmBv|26T|H`t(!%iN$dmNOcSBQ6H$FdEYn2IFc<4q&EkzhB>_`96s0(>dMs*i zzF0tB{r%ibb=MUsd)^3co+prOr+WE|@8^ZJhSUwhBtsdcD@%>q4;*I+9DVaNQ_q^L z`uDuqBq5w^%q%j&2#S9ht66+&I7 z7lj}?&JSX-A(vDse@|v-aQ~{g(=V8U3l-XD>Jd-{Y`{zgJ6wp+)+gG2*ZTj0gXxmHry(Q$Xoe(OG7>)sb# zM(yZ)f&cE!e&13;6{akI^{eVj8(;LNTvg(CKkK)DP~CZ7u!DzmD!e1aFn5(VPSP$!3}FknvRCMs8?=A(On-mf~h=UvUYn47J+_t zHcC-bAvGCD@)P|KoT|*(air@Vk>6^T2j?-;{l|y#yydMAjf`OU#%~bUZX8X^PjC5r zyDV%XeLW@_2~*l)pLkjW>qc0Kr(Wun!&Lg~oYeJ8}0B;p2FOcB_{wH|; z(e1y3A4>MgN4CG`x??rs6SE^`xD1*M{lOBn>(QqRCWrU(E8l>F$EH5;*ngM#2o(Fz z`GWF@>?Nnc8umkG;c>Jrab6*}BFYTpm@?rD5kW}YEkUgW-MM9}Z2Pb+!yjAfWrpj9 z-f+3(iDZFYd+~LaQ=Ujr@|+(b7xg)^ll#Q(xb#E#)o172ZV=f zcrihXoX_wbSEj6u1bLBYgOeI)UN$v8c5=}TsBU*Vqw7&5g(}Dwgz+F6-O;nRh#xCo z5au5{>5~=0ayQBDp4!DAx;HbR)yjvIAI{@{kA@>|8(zu(1Rq%+x3)R;oUM|SmU`YW7gyXpzRNS&ZzleP3|7Bdm_tVokXcX|YF>GK3 zx{y`g+*+-ildF&tOo+&z2J6hmZc~?ZXL_LGik$YPO?w6(JJ?_a%ezsKns@$;6)abh?${3_ zK1b|^x?tDYUwlMPgZ)I!fBR*^V(!ZF9}tv!f2*1l@J2s_MmQ^YXXopOvyL%|Oc|MsH+VN+ zyc~c+kPQl&SG5JoXC*Q-C}+^lf4!gd=Iew+<_%RCAo$bI)Uy4p$|jAk-2J~w4HZu# zKeG#aw$I*Xw9vABR}|Dtrp73q+OmnHmd*fP!M+BT-sS2hlc8QXD^pw@g*uaM&)!X+ z=k*XKtOgbIsLZ6KRwAr`p$d{Iair8GM8=clUv5^ zcX7+7e>g*kXC^#GEDZVdmGYDOHDu-{?mV7ZFq^5_qnlM&F_Hd8`I0v9OJ$-Hm2FPs zjpG=k3}e?LK3FtkoH%1r+L9AosbhIW@F0P3-N#y@{9W;u4G;ko`}8@P6Ats+cUC6` z?(}1;yq~lwSF;~m6OWOYuPq+Kd9?>WZNGb~OR?|$q}?Y<3;v_nqBb(@9-y)@nKO(1 z;qQ^r!jw_9cDNvRx7fSsoB>Q9f=; zRcjuNiGj~4kKiV@AuUlH9lkO$Z+tb8dOkjUW1Ixr!`BnT7axcW*Wq`+Ojsayln)Ud z5UOCQJg!vk*a5jUn;Ng0j5q4G$GUstQ3{WS^uPr973L}x2$@^rvI8Zo+yaYEZ5tBn zmvUv9EVr;W)TPhn8+>1jmL7mkEY?PBXT0A9B^q&?{`Z1EaGg@v0xgX|Q0<3dKdEvX z`TanXvfay@dm@d6J_A#{9CfFbd#x?SdYAk9*Bm*K*^{4fGsnoAWiBL1jp{gQUozz_ zvLl>ydvH!U>Yq#H(vp**nMxDshhI*Rig|wLqjI3I+Q^Lr+Pk{QwvZG?Rs+9y2u^m4 z8p!fP^7L24*_|Qn3kn02mHRAp>iY0*^JT4pfp^=X!`%L(5a5T5#vlK*Xxy$NijHFb z!|{Bps;`gLFlFQnkiEkpJ7_`;gpFGrc5hYCVHqecL{c_9aLl0)$$=drX7Oetru6j< zqd=8q1jm6P{_ypQ;TsYIk-ZMzA2T|Zei$fHrh*ahDe+VSS-W4?6f(t!L4}YUDL$D7 zS<}hT*&ZB_$jmw*KD;9yTj%5;o#0^7gy|p4kQyMb;gDBDAM%Q8S_R}~noEi8r)Si%o5nf#-N_S+v^3;(en zv)t&-t%6!8X%K;nGB@jCV2+Sfo7xEJZ3a|8NPpJE()|)KLVNo`F-9$4A;I!2!*ibM zUvoV56*5dB>v@@D)UgRuT9n)dTVj9;uf{DRkMFK;)uyKJ#!!_Y_wCNEMe5M~q5K6#(I<2DJKo#{4B0^JW_J|?$`HNQsay!e$qNCo z?xZGaC-EM}V^ULyHI<-#Z>`ZyD-80h{pKEv_|cufD_nvcz91*DT~bQ^>SCr=%G8L4 zCI+A2<5ze`95nen7uNN!t!n~1f5C+fGF(b)jSmfdSPNW=UDH*+}T zweHcV)3NYAeJ7YWsYa#fm8a@___PSQf+v2sJz`4R7Yl&98XO zL5Qm}T&RDzn)%k}awi{6-*M_U3}n|i%&sA;@G0IA&4s_Uu;C>}?}cLG4nQPmvsuSCU`^fAn~XS4lZulyFnggL_NQ zYwu~}K8Y$q@s`=8MIA08*XQ*SvyZ4vpF>g8+NCsKM98zNXv#;@ z(qs+vN=RnGoKo6JD|B_sJ2C06F4aDK)2Y(u(wHwdryAPvGyVrAE6_zvYO`{MG8ONS0$MpP~=U8s>jYeiG^UYETuS`kiKeqAnj~mdcs@7>xFQ>Io%8ZYt>{150OY z+UZ$tmo8fT*{1QP@>k2jX=>7<7zVBkhC9d8r#PIM$ZugyPkPivC1rJI?3#!3t)#3d zDpdfRXI7k3M71J826l4t-@2{R<$aJbW0}D*6aD)eGWwMVv6Cay{r2E9#B3;-Xfxjx zod0HM0dHKPwg0$!f?D4Z9BE_yT*%(P=*gSc!~dn>8@8l|Z!NUnTe^V-u3X1z#{wG<{6rmExzh@{-XkWwmF*k`2ACR{lYsLP$d*)| z5KQ|b!r?k-(d}m+h9BPT0#5MbHOS1k*|&0n|H_}$WC3}GFY!%y>w}uy;Bvh_)xADJub1(9@U~z4MVHr{H`h$QdYy8J62MVGXfc2ex&JNzS#c@ zAE0df04Tfl5ES(fpM=|LY7W^u@o z)(@q7f1|6$qrG{b1X!lMlga^(nXCOACvmBqHjP1b2lswS+4^sQX~N&=tZ3F@wdp1p zCW1`1__Oi7F*Q6S-%nhJo7dy16;nIJq|Kg>Dm*d{ZV$dS1E#R2AC5=zH;7)6{l|3b z&_CMs?ZI-yn5pT0@=uzwaxu+VomGD6-&5VmnsaN(s|K= zBbO_{+$t+!|MG+Pg$I2j{%}VQAoV$LzBXZQ>q+MtLm*M;bM}WKX@V?N~XQ{fXo1 zgAe`mnEzK2CVVdvOJ8VA>HJn8Qp+-qXE6-(6dCL-OXH!Lv;mX0^~9NUfO{Gl{uel zGoi2FCG?gG)Q;f6pI9*lB&0AxO^*zYe#-D_&UFtMQ3CLH2*;!sqy7+@HPGl zy1to?q6H1-8OI0DbLv47in@x=-(+%$e)!iw9~|Pu^NE{F#HjDkBN`tQoCZ@3lQ7L3 zKE$Uqm4rjUkjS2tY^#%_mL0{IFe&WMhD8v3#v-Lu@XOra_Y`pqkL4r^f-u}n0XaR<#~7kT>k>>`7%FBEa}`$<0j zC!Tsz1}oVX$M`qC*9%H}H$N*>&K$V&j#4T*JT}xXX@Aga>Q{e_q%eyl6lFq(6a zl7q=JDUliaqNYJLzoUf{thXd4G4iuBb+7j{#QxntwMp!fs1MDHoXWHZg7PG|MGTCx z36%$v2kCHSu9mbcha~Iotju|zDhebIntQo~%3)?9b`1uf;j=R{iP!PdveCu7mTq1) zs_6Wb5NGEuZ~LxP~hymyyjNQ`-+4T01IxDme_T36HUd zt(sqfJ=~o4T@EHg4rH~x4ms>xkvVYvEe<&*7;+pB#^e{f@xY#@i&<{g+?Kn4ez`}n z+^@UkM$YTI-uQ*P^*(O9t@lgW^)BCky=@&|=(~`^5uT#`Ep1D#>CXN|29wM!x?d?KsC{is3cMvs`NS{z)ixH2Z1gP{{ zE{5Z{r8sf{S!zDK4)W=C>oAHdw+<~U%A<(EKCY(;#%t@D8DESaft8+%EvK4Xcsr}) z=okC=<7VPP_vcQj7P&``+XwJLTT~zxnvEx->G@|A8%-biqf&|zJ~rBKKp<)z%r-_| z=23gj$_)Bq1IEY7UF14klE|E}Qs@B3U&x`f80iRk;em59#V2L!nVgv!I)ZzPh_@%* z>9Ak}o+;uDH8hweEk8LQy_>t>Ch-hDA^%TBrYVKa_d2~&SmU)_P8-p%(6*DkAe+2} z89kjz<5|BTIQo525Wg80Wu;C~`HV9&r>^6jIjSU_x?xGMcOWaHVl_Xg$Lox|L` zH5_L@|s*HxV3mc z3zB-Zv2m=QxFmR$!3lKn*b0|x6{OFcfDoVs_^;lE7-X?k^Bvj|uNu0FqLJDn5XG-S z+JehrHxZRsTR+uAI~bNerp>d`7oXI_&IR)Ko|8_Tv`b{(y}|E(M;dFP7(%~y{}Yr* zyXMmf)+hjPZ!-lD1rk%c<$)_jGCHZ@n^kQ}isj2VM?dcU@Im^BXHM^FpypWWS>p=z z3mQ^Sb{^#TeY~YBc2>G^C+XYY@qW040iBgj?A(R!kV~CnX^4FI=J@&?WfWCR(7V4w zp9I#`) zoX-XwwguRTa){P133>p}S!3&VVs#`jDG5WbJ%{yqK)D-9)q8fTtjF?6Sm`}gv52P2 zE2eBL36BzjxWaue!_4AUPkJ|x1h(;xWdd>M9I%RhLA_-(s?g8ZNp+*1)Q@_NqZ)M` zwUxNev{!Wgc-p{t)xW%(>(m%|Q7sz9yV?3T%+c9{ySM z2Vz^2Xprj87aTo8V&Q3wH2C}$j=dM_yqs=Y=x5G`EpD7XkUC%sLzyP05%J!B?Jh`X z;Q`@s+z1lWJ}keO@_|EsaziaAI;8Ph@AmfklGR@FJ}qk1)84#$>|#?Q6R#$9r|+G< z3B@}_b=Jh&d#dB@!I%BaG$he>nXD;JP+Pg0*4PxOSQNx+Gky)0VC>u!Gv3#qkRm}f zQTcR3`XI$4dUj@3#dnY^KKwoGm`&9_K1;NXg!^SmCs9DDa-Eu?^NoSOu}ejosBeRG zc$+K|!`DUrhojn@{6bDt70qk>w$VIw*&5;cWc-z3r*e1a5m|i@<0Emh)uQ_ebBw!s z#G7;&qfYKV`rk?ayVd`u%-J=K563Y(JIb?xyeS*B4WY34vYh;#ZNI4Li)tH6{n)m> z){BHD=>yboc4DrattOY3CkoHNXOzx7!P44ddnT3Ar!HgDNVVY*_jN&@eCyDC8_>`C zX9A!6;R`-o=&xsfR@#_1neduEqZpN?B68>KgDVgRB*r&oo%shHdmzUx@)H`IQoEvL z$11{=brHqvw@&pv=6~(iQr0v;FS9wWZ6r-+19>8z>#2uVwZF0s-g@zM4>{mbZBz99ucgCs`*eJ(IYJRnWV>ZJDhmQPqTG0 zi|*&G_(n0mRC$BuT#W?MbXNG3;E-tnxHP*u6t zx=0Ne?$UCz9mdZ}6+ffz-9Z%)mV5L284$q5$)$Cvrjq@gCHfu*9N&i_+sa?}4XwI1 zqS{AA#o?#nDr(=(8|pPWgsbrn9V}`vvTYvHma~_!p7SrFF=_&>3a_HM1@NN29S9%7 z-|FmXa-LSL@@2P{=eV`x92^YBCn?_jqMU@bBRv@k1P|O|r*Iw6-Ml57Xf%42Oy! z&CaR&cNa86yR+X6f6N_welX{61T3uaUBSo=rnEI~1?Cr{C8C<}3Ps=XIDaAt>u!?+ zX)}{6@&~RWn^7^^xA*m{`=udm;W(C@ZkkSE-PH!{`r8;DWt>}ZR=Vz(9-D-XK8O!2 zuEy;ueS<4-xw8>nE(!eiBZMToijwKFi<|RoF29 z!X1^x5Mupu0V=CsxmWT%DLt{Zd!V&Ds3NSF+>ow20#Ref0dBByUdpn_D4qMem?y(a z?m_`p$j@aXiw+(+%|XGT1GOs=GT!~;OQdwBTx}u$$H`MR{doEUl#l#4PbiM%oU+}N za!aJYSsuq@!$fTy(c}dpjD$mpRSzVlYpi%=hMcyUtEtXP3-@wEo(rmIgN*ewL=o&E zjf*fa^;;g+lV^KRKBhv6!U(BvJSA=!)z>$k5P4|%vDJR%E;(+^9um27>4%qD#Cm4u zpU7M`%sjxi2XFtyX~shSDy>rCG*@}8uke*ll4rio_%iY=NWB~^1UxO}uURb6I&BZW*2%kh?Xp6NK#LItg1?z=`Z7o4cj)^w zs8ZnY@C&I4=C~l{L9lZCsDkQfZyab9wA)P$F87VcBfpK}itv6gB};FaYldl-uRV(< zZ!p*u-H&Ik9i}lqsr!mmitab00%|qbEbu47!lz}Lb0H0)133kNy%8PBf$u&sZ5FV| z{ufs9QbGI_i{BJ4aQ6oQ;a*;Ge7E31)w0ITc4XqBsz8&d4{~}DhYanF_vL-0)WLAj z4}EWY_J>@I$#;P&ubw({kR8 zni-+EFJ?4etw$xV3WM;P6;r(4-rEn`8Yk(|R#48=X4`|6e--L%Pc09&=zSh;3UkSxKEP4~?6zy?jW#wd#!;OUq5vF9>tWD9CgTSr46SnQ*M zli*nASpZoC9ED~0`Hg0Iu=KM3F#lYB!{Ya@J5~(9g5FNFVSb zKS(}RA}+d{CKVY9JKL_-*}hUqu?goG@G7QaZ{GC_MU7P9p3v)D0}9;&dJ>r{u>DQ) zY(F+-N`PmhM&_sPSgk+og1i(924B!4dv@zpv^wihO3>@2gqsBw^CB!yWR`B#S6NxN zEs?oLFvBGym0YAJSt(mS8p$i%9a({Zf$m&d_)gwv_DBH{Vo5VG2{ePglUMUajk}z~ zrS38;t^9b}M`pajk!&@64Z<~ouAJ<}JHxx+v~+o@y^H`S+A_j<-_ov#;ee5(j&2)|`+ zMUTgCl{>BDx1GoN-OP5-c&HXzE1#TOBAK9uWlkCr{T)ouzhN(Bi-24 zP4;6dP3vRnxF6CeWZ4`@K3emBkfzWvYoYPoeJ7`<%S))XOdJQ{80+SCO+9wo7m6 zmX>#_Nz}a1uSyCY-rT=1t^#qr%0}SL{iSZFlSLX>+HDu<+qAkZOSKopd|W}y%{0AK zbe*VlRhuAaLbJ(E5p=%kR!^R)SwMhoU-FW_)8Nu~h&`n zWKR8LIG+1?zXp&->jGw9%^z>>w++1Z!;iT~>4>ASk$(@`3(z!w(BF@7#$FjSp9gz8 z+zoiL{c|`CXL4N6{`OmzYB|teN`HrQ*ey3<*3SSpe95lmI_OUK^+$2P;lfNEg*h9APs(3PQuwIMpil+|;5$v|B;%WPx zi+^#h)A98A=G2y z8Bt)%)^WK6A8nNWJj9PZMUpx@IoU=^ z90tRXe22ur-%5}<%UIRRqx#q5{t3L(p(d44-JIVxp) ztVwcjxaz4W>6VIEBQfj$EYS7s2(cz4Sy1*opBa4J5aw?w>oVi6!r3L*F-J$K2KMgCq+^zpJ>gS|r{WXpqHy5(Luw81v%;0-9+)?he)Aib_ zzOUWuUi-CL8|hv$#EFX6UudVEg=jcYmwyU&{U9&hrbc zb)rY#3cX{f~S)|r<6eCpz%~I&Q>eTk>FZRjbftI70r+F+u zuJ35P(CLRdkn4HI2V@j*?dPz?G2iPx1Wi+DULuA#s$ZtpC$=b0IprrR5jA!5sK8B^4_GgK&fj(-6Z*AAf&jl=nF zQ}#QIDhvec@Ve-`dcLC%?s~0NhRUq2{%PnEfo$$#8mLQOfbwt;$%_f+uiDV4s$@T}KZMgoCqW^bu|q=xSzxYbrZQD61^>{Y3CGs#vqz(6+}HM*b8n6R4fe2m@x z*wJgJ-IZE5{m{;-hJS)<%c*ONpu6On*}Jm#=zNl`c-8vGQF*sk{gg%7B|I>!RyzhR zhgHoCOYi8x&{5@#21KcQ{zc_u<7SvEM5JOw$7z_`KJ!RbpEk+2`JOs zc~1`i+Jt|dw>f>PZ{a?)A{GnGje%8;+7gehp$+`2A zX1?6!TQL9qW_))9iC<**Q^Sv{ZZt#LZMwPp68P#FrHy6a<^sg8?&rhPd(9*z_~$UO zxbtQBfWFV>GjaLPo|V3Dgf_bLG3Yfhme#584;E9DTuv+Fr*5r~8~_rtBNqKfARe;3uZ>IS(R0V?48*CUP$12szLx{@&z?H}BKQ?p{Z* z0&o<)u-sP#uZ_wrbTvL=#1^6n2*UoH%rdR6SK2JEp%4BJ;}65Z$}UM86>1*RrZ#@XTa;SyZ0K!>MVGi>(#Syd+PFxku1r%PUB%!@0m)fTuQ-7vyAmEmDsQ zMk2DoyS1+3WI5AtfK{NR@{0AN^4jPB=}xcDx&{=6P-=tQ9{e}C-fB~;m_p+eMF2fO zuh{X>Jj`ei9F`F`i8-T{h8wZFvh8mz&W+hr8{4A^X=K4I_%uN+N!btmj4P7HdZ%_0 zu($ne0j@VVMtXA=5eI`o7B|c6duy>wFlpfjYP@2zns~|E52P7ay@_!YXsDxoL19Yb z>$nc!U2!eq3i|Y{lp5ZQn-)ydf z**8FQ3oPD^Ws#w~^+CNF5n#G#U@W|w8CZWGQ%i=JIAC?t5QpSll3hi||Q{UJoBZqK?K1K9!v7qH9j&F232NqGS3mYI&b*lIIG?-_K@~Tn_nx zCtb6^1qm_w3$(^34dI6-z19RmoS zLrapqwWkOme3NwzztBwlwn3gRjF$zoG=THmqPzW({zZzlT1n1}m&zEC>Ihcesk_{!*~_Gdsm3}@ZoP~r__(jJB@y$XG<71JJ;i0#rFV}fZk zX{)bxh6V4O&itVCVb)^wwjcasg}d!%TXsbwg9kYyxW;2hYK;U?s@u-f{V9zV=OKyB z`mUOt6g+vF6=eDENd0&Rk)_T%AICl`0<~I-ofZa!0+trM);9t49P&hc&C`ci8d!y5Ut=!JYRSit~3QvGnXt&yKJYD`n%V` zP-1byG)VKj6#Qnb_=(&#<(q$Erpx#3JB751d&v5s`E!>d2oEf~W2?~E!ZDz*Z z!F6!Qb%Lnl@8Q|tntSg(y?3N7=(r}m*Tj3-{W_5vjVHk>mgzh(>0N4$1k5gCMgX29 zBkhOkECt0yqTSIIV!`C!Jl|<`Q5ndT8N6|tMtd=tiA`;1TMLmhT@>!%G3+O3MElGU zuOfI~4o~Pa-{G$TGZ^A?2+fYq$pgf6J4g9kJj0D|fn6ZXccEq~b>Qh%VD@XZ7+Op> zxzlRAYNgBSqKqkXJNj#u&jlU~wLbm5lGJj@^STnjyG)EOb4t@KWwxUQH!Gv`e8 zAd%xNF39fh#c!NhQCdXn-c9#0Fl}Ue{@^ydSz0y6pnbE6Gv_wpX^BjLpjXtnZYehu zA`Q`k^7d$-TI(I&-#gSiO0dwHzzP?w#vI(gHhpagBbc|A?&1imhUe%PfdcVa%beWv z^8u23{yOtxqBbqKVrmBiqzzo6O0O%!{XzbAzQR~Y27dE8T43pmYgMA!X@8+_;m6_V z*MuLOK39rEDBKYu9-({8gN%|05+fNZ`hy0J7mrK-j9c(GfFnl~U@e@2mxE5qvr zJf|0^PhUb+QG%V8bI(8~ikQP73pW1`qJbd*2#Xj|pM0c?9}wv{ekkzN;z){xrk9iz zbGGwo+|}pGn`NigrUw+PhBLmhNLq-tEPfQO2NL|n6_@s1lz5t5DfKc2gPPzs|IV4B z-Vky0zu)0Q>GcHe)pjrj2L}sG=n6iI{KIPsejfT86M=?Jtvxszl4XLMTALy*7!dv_ z;Gz)#l?CAWcX1(!?F8k3=9|uABe>?p`48te{|E^GLKNnp+c)w)j;CCyM;I~eNwD<~ z+(&jvf7}Py!MvMSayJb4UylC8`$nAQ_V>?gl&<)XIsduy?>^Mu5AjJvC+6y;JY$!N zHGMp#7?I>enl?E{WvPYO-o8ttov_BGj)13MT4Ojv7JGhNAp!`d8^3}jDd z%QDG;L|8g9;ND?8tu`GKUQd0e)|-XO&4?Wi1hAGlVBtivAE=mLN$|#d((Hn9{7^xj zOKqfCaA{dCwZ-S+YA$dc1e(Euw73GFL@s0iYhUmSl4g@+@{9IBOA7u3{dc%GOZl!O z7;(3`%M9Cp@F^TC&`IBH@flhg195H%v}DUb<7UrzjKpQ3d;V76=Hz z2wSj~Fm+I+;Z1VZ zbnVyN2~PqTd3n`BaP2&VkwsQJtlZtf7ypPPu0EAmO2?q!Uyn+TvHT1JF@S}uK~m9g z@Wg3uDa*rs%xQseb<7zeAn<_Ta&OMzf`gg8fljmBsew+bj8MQs2Ll*Vc%3y@XDR^4 zA+(LY>};#^9^*@cWc+y2%zO%oEyrKtRWDM1mgj8x&1tvkPojTzZZIW+I33P!VZprC zUy23g7A0bZ;rk|&HPcFVw@#$KM}5s5XoZTy7lmNi{UnNf*XaKAmODH9YBSp8nO*j? z-{`XiVMCLIHQT1cDM*eHKgRm=1Ab-mF(t@dPiMoz&4#KqppjF>DSwbEYe}k~_eUNk zQdgCRf7TlAhd;G!54j2NNqA>tgTG3n35VMB+5s%W}cf! zU#X%!*P8oRToFmcbs;3xw!C+s*Lo!Qoglhso(P^g_q8P3sic}^S4_1Tl6XQF)n?)` zFhs~s>JR&KZ1KL9_sF8E0|xC7KL0sBua7;?kA7b3r$jWOlV29=?iNGYx=M;B)H_O` z?Z$&6zxizhkq`$*pyejN-vG-y$7_D7y`D%X=0c)Enp0d~7yOD2&9`D+oU3>xPM{5h zjTFCIF6_??>Mxae>q@#s!Ml&NL1d`=n|{golS%aN(a~ppprBOI|2yNo?-j?!vzr`9 zAX{50J6Kbv*+fvXzY;?;lqQNRb>2$0#0DkW+ekOigALudf=`@VT_tmP)xebb3i&R# z_z`?=-U@NWm++1LHB;{^z7f1`PY5V|0 zfza&~Zbx7!9+j)lXL@`?j=LDfS2A@+Aw<`+lsd|3uEElKIou7O47jt3vD|pv+>Xuh zGe143!zW*C-}ybtP;7qTQDCddX%24%y4!8-vWT2pJu6tZKv>4ExI;YAJR4rsRR&MC z49Pd-u=XRtE;Am~>H)Q8>KCZB1lKrLV7~fx`~=T zSlkS|yjBJJfMMu3z_9RV{L0F^!u6D%V&|OK%!TS63)|~f0;+Zb$VVQ~kohV!y^ZqW z)GfJbz2KiIJETE{kXC3onZ`qU@Rmnvaiaon8Bf{aWKS$B1#fk-X+md=Gtevh2w%fC z<0TKKuh6rR)X|2Z5zCIFM{;gv5ZV?<50hV}?i2Jf^N}_@3rJ(vOKGFZsL+O8L)c@YX{u3ldNecAg{2ag4`sQ#KJLJyr8lDxdKfuf4wmm<$ z&vWv_OcXQ2D6y}|Oa6+7op0vl2W7wicER%rY~=er_gZm=XZdn%!~sX=8^YI2@lirp zf7E7Z(@*v^eR+JQ_zouE)C~1S!S3H?Q91lKU1upLJj4K8BdoU;(x=t7zj}a4auJ&h zOL^b7l?a}C5|21 z&2}*TOSL9MlRB`Gq&%y0^h*BsKOq5QL3h-kXl+G} zEvZ9ErIpkvM-$vfP82IBZK3rxXl-jJO&BUe^d!pe;Q;qut+coOmA3YlZ);mS=*2k! zB%oG}P}tj}3=SkhCBOG)?R|y-_WEnTfBbm8G-prGu%7j-wVpK+BXuS3xDN@% z_}AjDg&e;SryVl)d8) zH>A_nr}*fQOaa7Vf_a|WAr^rJ*lF|VTIr`mVW^Y~X3K+%3?U#RwxoJ-)0gtx6jghe z`60_qYYxp#LwU~l>EYt1N5D@z%CXshAV00wFoOSNmGkgEB(LmrT7S%2;+0K9j8DGj zwEhQh&F`Kp3`haWn-NEJl4mljkYx-H$A`}E5d3hZsCdW^>$A4dle=Mv^>XG2gIhv= zXiJLj7eU(uAy%&W)a)?OEDgB3*J``Ky}q3L6gt|E=cLC)5<}+k5691Ts6&k}_;SS0 ztUVJuHV5*m&eGQy8FBsrTmIRvj4ey!w8wAxqLSIcV;N{Re#a04lK*~=0ls}80}Ne= zvJCKK!=Mjffb!q@hy1TcoF&Kq0wanoOqSV#oiFIA_@B}O8vg@7bNp{uKmIrM+KBfx zP5S5fUL$=3U$+s6?}b78(JBXXAfk~xbr3%~n{RUT47o=9#*E-A;WtVynt9z;Is5&A zboy-(=#%)joQJoA?sEvR^@+-5TBaT9uzJInlfJXle` zlOtvvYC}pBx!y?2Nr!AaK!Y~A(&e-@({QA0Fy+Lx)=@3IaGe`w{aEZT`4MUYl8s;& z3cBgh^fYJR1)81B+Yue_v|0(afEH!j`tlTJtpg6Zd5Wz-LO$|(tXFpo$-lQp!)Nrk z0+4#mp9QFbE^hm$o}~gP=Ks+j|899>iDv7O$=GXHdLSAqQKU0}0exdEML-!C_x3q= zV$W&!CfrS;jN!|jw&Cz-z>mbs=hG>AUPYj{q!Q;&d(MG)^(E;9r*RU)xHYquI`hV|2Bcvkj*Fxc_r^P39h5ltT1vVN z=03l8<9MF2HcQQv5uvwB2{OV-m7bZM!FiRKGS9*rG|=SM3ln68=2yJq?}K`}Nnw+y z+Me8eAs(gj+(wsB?A0$Op^p*{1Dcjlj(S&s1xj<7{z`?|g*QL}6IIY44bqGnUmS(bT5Di%?@v@=U2eNxUwHeBN?E*O$JP={adDs8YDk~)QC|9ltH`3|k6 zES)&Gqa-1Xc+thHd*US%ij;%jQ@(en^=sgZ$=#XZ;3iwX*35FJ6H%%zbKwQuOyT=j>*wu zev~v-guD%)tz`?+bWj8B0@B=!c(dH3>jbuRoI@7acg!tNy+iy zLY-v!2(?Zzu&Q*et(Dg4za>Iv*C}clN>b|*ygWaaTdpA`)$Linp33FrYbMFjia9%^ zbzrHS*2j#zG(!)XmpZNc1`1{kbD0@97!|hACh?1zkx-MMqP3ai)?&AMId$o3_EF;? z_@t3p%bbmBOaAw)afXSBtL0$L{Muheae zb#u+mMDYfBY*V<$=<0We3~-JbLOuqmK{}duFf`E;IjBk-vJG7u$x2aDc@@iZ*w;Ew zqLBEq@;#*{jqD9h;-ma}0!21U|D7_7wGS8I<3y7jYM+?*RTloaeX>|6WBa5c+9!h- zqFP~pNID=v&a%S&VfYY2IpN(oQd0rS0x*rJk$&^I$MBmPzPNZ%3ZTd ze9xMKN~sA^17Tk{iXQ?C@dl@Ls^q#XN2#e_>ioRjibA*ZxRi1WJWkX!w>WJL{AwkN zTj@H2n`JweyIbH#^U z=UJ?*0SBN75Qd=AXZC|weGA)DFv??go!8J3VYmNDRd`L=_gRPqlbNyTq~_bkzzm<~ zgs22g7vOVxR5`haG+7+q=gDxKo$Mtbw3K|)bkima`OBhotEQ{@mNMVcXuhldH@uFf zg)={?p|pM5Vhq&W4@dJOT;97dc&L0t+k9C*?!Qk$LT&4PqM%OO54e{HL%{}@8q_~= zhZ%J&=S^^h8BSU>&ia~X*ypnJ-m$E#s|lGdqVMx|fCBmb#DRPSUtO0yj~M(E8Iaws z@}~YQ*LbKK;)H;Vdv9^hFcomTiii}vq!S&zMlMPkmc)T#t#el=5UzE8wz9Uh$7%f= zbc%ebkj&jqYr8ILmc_}*5)y7F(bK@1^vdAclT#tq0q+iYdmsIV^WWB0o5}{HRYkO3xWto$F zninA%G4l&DTjeHtUFu&Kn&R62z;lx-ni;=Zl=lh87s4TQfU!0qj-{JOnPx)A9fV4B zRd-QtA^3hT%eK(QN^rlvUPNw4=wC@Mo$qpPjd3@T`u5zq)U3OivN|S6c{-qpnN&c+ zzdB39=&z@Ea_%Y|EO{6@xXW3~D&hotEYPbKYK=N&7C!Ewa23j2{x+a^fV_pw7F+`O zBYvhlhSy+k2Mq&?EO0yAPr|pb24t2jFIdmHP^9&LArvrsl!ZQ^fXD`G`AFx6xj&nz z2^v-*7FgtfiM>EJTK9qlnY_gEfvh*XZPTe*fk^g16c9?7L@@`6EjwO=T<|UvW6OY_ zwqMQ%zY6!unOy&?`{i*&wA_A?p7_J>7aU%Ws*Lu_`u_W69ic~{MUdiug(IE~{{5>X zKDThhXMMO4+x|X-@t$$$@v^@k1DL^b{%2eJj`ok3WZ87MC|uk5EW2%t*2ZWD*`_%c z7Wq@~>Qxgk}iu$pn+ zO(x7oq&5AFu4*R0haV5`FHxwK)Am1Hg^2SSuzx0f*+_YNeMz?E;*}A!3t1&@W&Mm)KxFOuJ3sb%Yi+0+VMC(f_DC z`b7Kt5aXPa3I6_J-xI(?`S2gM_pp{@PYHs|O)xDe`wbL;@h5(qv`XFvE?;D(1?h%N z4kez@>m@|;K?u73wYW9o%4eQ~GNxRnj}!&rCk}(3rN))T#>I%LOMhQSHVg)479sM$ zUyr;&Zkb`kt0^ciXIzQe&+8AYhN_ZFPV^?+(@%Af8bg{o)U09%SL3OPhpF?&Ctx&l zH*hQFk-`7+@&=`e?CGv^+;%%{q$l<@G!lljZxA{E9@pTl?3nXN;;3F~;>MDDh>`1d z=56OmgSR}Z%Ze-OWKNI8Muc^89N#8Giu!{ej4@yN1d?P|K?vLJCnLLHF;51xweYG~YpRxMFQMaeZ$0=T%>fPdV%9|@gB)3?xcYQjBA>Ausipw4gR zlh-Zm+29cXcp{W0TdZHomltX1fKzo&J|ji1fjpe;ev$@jw!slF zJ)^1_+Bqy5yN8Wi7V7_3@TVn%qF9MTNYf(D`r0riYp1V~$nwu$ZDswcWRQv7FIR7^%NcYyl zG^w8@M{CO+PdYGf9~d)?z2c_6gRkz2SkH@WhRqF)q&zzXMPE@-^Uw&6$;Yuby&>%% zMFw^=rPtJ)QiQN~okwO4CI2e*BS=A|ymhu!8dqY~^dDS9oKTVg@6^pm#XM^|*C2}b z-wyxxL=DAK^`&m-#nO2eb@ZOZVU;pu+WrdM>FLgSv4wsOH9MQ0)|Xda*wdF;ame~R zb7`n9bzMaPLBRbmq6peYW)57YT^1JFNu$_iV~b+#Ex_K7cN8O;v2WX5!u(k*w~?=Sk5j-Pod_CvziOF( zsUz8t;YBmTJUmz_XBl2DLzI%ymT}EaK!C1UHWQV{^4X`?dE2P+MU(#Hz5Bsj{6<#z zzr~r9Y5TwAuiQIM$TUKSWtY2HUT&%Aagx6p?(_mB_|I4f+!Ad)yvkDf>CM(??wDlI3+BaGEM%zCjjQ)$wgB!4?ad?c+u;>=aw zr>S2&D_$-0*gTfP;A$;DqRH2RAb1+BxJuH<9>Rmmc;MfOLf`1O`D^6DNV1WsNElXA z!&Lx^#gIGR(r3(jMzROXFXsYO!LQa=Z)}j~;cvK<0yV2aKsrm08k`^k z`jdIyv>rDfWi=Ej+Eb&=tV@;$VQpFRyh?QOa;g^XY#YN5xsxjC^wG?kB;)4SU8|0~ zWmWGfXE72+>zg(r%X*Lf&D+<2es1lS25(L5VMEcAm&LuKgKzRXT3`9@RlS!;m;Q~W ziY`wN8IY)1+Y}d?5L7X0d7|d&rgO2SGVb^Fh6wFw4H}_>kl{M$@NoYehA$E~TEicy ziHxX&0uGOR9j3P=fTZaN+dI|r|BE5YNd=+O&zeRIoo!kjel!lgEY*7OuSMyUguhq?YkIS#F>{o+jD@MF^EUT%W6?Xe zqO#7Z+su}Cxs~7YIe#YnYgH(Ls`YMFCk|2;U!m&B-jhvdp{dy?DmPp-5lZx#5QuH< zvxnuzFNg|q&DnebuUY^~_IbFn!SklgMD8MDnOzxNo4pR#{72%~I0p~oaQQiKUn*bK z@MdzFaUgyk=_lB;jyDW=hu2yrt-u@6da^6~`;!=Efu?2BhW&`;(Wdn}*&@M}v}*Y3 zy=M%si)q?|Z2?E(rxs(lToHLxgyd!bokZ{s?lA?8m9nEmywVDr?uN;MFv6M;W&Dkw zE5w#~>L@6t=v9ar?#W$ovNuVJ4Ce#hH{Tp>cPo$l9pSqOkMP|#IvZSSZ0d)c+-1Y( z2H0QImBaU?j4htNL|L`VSe8>{lVa2d&Y3_(Ymp^Cw8o9Nb$p z{Rh!17=pL59MPKo1@JA5o{7vZ_^~v*hW5fzR80l)fcd;vD5PfotJVY`_XR4j9Ib0= zfbA)$TeLdQ@kRt}2%C{bMOQ|2OtgDOMQ{W!8Qs^lbL$S;yEJ*;KK5})0D}ScLM^-7 zA7J4n-_{NtQ)X$o!7%-6u?H>>@}oC|AlPA`ZXQSsa)&JZm5p*82IfAq4 z#D?{2#uu$`)W7mnJ8i@GzsyRlZ}CIbRc^m2jKtW&b+DKI!tjk(4XGl?M7Ja)1m70= zJt)xguZ1BE?hQVl9VV!pN-)M8xx?BPVRq9gHitmvSt8U3UPaK01{rkgB*0!DCM;(U zJKiS&M1~6EoL3+e!C71$tWP0T&ID88LZ2kBJV^7@&*N4YpJ1CT_)Pwq-B=WylD`%n z1xM$uvuD8fW8-7qbI3aHO2i%A@3=$)rBcma^RF3GK68lR_}Fj>e8}U>VMI=7qh0{7 zr5Yr-jYe?ebV7l*f=Y9vDQTXix6z3U6>(AAVu?6ao$LQ-xq^%Mkb_24z|;R4x-klN zaxyqqxjEM}Uts_pSgiL>|CI-ofMSKtCWF2m9zODeYCbv~O(9S5e?GWhc4+Ze!SkPn z#~)8RG(7(MAH!n=1OLbHxNR9xxmxA^Ah{g1T>(fopnK^LlBXZYf#mIPeJGI3`$#{K z6r86`xAy-HKYsr4L&M{ae+-XdjQRk0fEz*)p@Z;aY6tLu2q9bwMf@@79fcUV*%OAg z$M2$wI8SwGefOImYWDLF?>Bq);lG3rKmXXF=l{Rp!!X8u!2A!`A5+_zzjk$he7F#8 zYym!OMkSJi2poQ=|0t%PXp3z9#)pE)%(8wE`PcAa!HNGAJjxjLKZeJ3j{y%+wf^w< zG#(fQ@bE7<5FUTHKL?Ms*MBH@+;AB1$SI(+`Sj&f@o1Jl<~0S;sgV@vsUeZFAfeLV zm*SDJ+nF~`99((>B}pX6JX8=MqoWTn1%X-7m{og}hd`mV!>2T)90Jg#CV>2LHAtE% zbORTWdkS<0nA@Zx=>58)&ZQ%WnUcV|@tj18 zZcI-wfirNIbVO@rfBL|~exOwdPwb4KpPHa$+kR5|9IPJ*!#zG&KcG=$C}(j%esAQp z)J0`pJ*WH3JvsbH?m!=~yXkUQZaVr0zk07}6%o#+>4}ju0hTq4FO#c>Q(&;%8epbn z!4yE3TwRKP9qs~l=L_7)$uG7f-sM@n!RL79Paar^4mo-e_nti@7KB<2LD|KYCCNwe zV{YoA@eEQH4lKv!G zc9--noD*L$)GE*w<*>vsVkH#m!(zl|55x$a%Rc}kzVqt-2)^J2%BTK%qZQGI1;@aJ z(ia&%JR7YGqDNj|JkK-AH8} zq%TSeVDi|9{{g9~Z$b9#o8v5qeIELxTtn2)SU*!pGoi>^V|AjMz6N`s4i85m%y9nd zpM+15z`X9Z)iVb4pwUnOFS^|?Pe#ln_5k3u0x2!b>m_vEj6eEzLKJ>Kn_HpgTfl>G z6>;>glUhTq(~Vox)AZ|{Rp+HoifT?M%KS%GAD25*@WN_YO*@ zxgIydL{hjHT{!#83gag8Uh@|s;S=HF(OTZgN*9tpi0c?A5!Tyb3S%BgFTt0{oBlLv zQS10$UMum!x#MyF&abgS5J37%!sNCz5!lZo;&OFPqQZ5Yn=gn41@7bTSSUg_kJ5+v zuY%{VL-u2-^mR>_y3E`W!~DXvB2Xx(_;@DiKU3778nJG9`9;G0J6RhKTPBq!MwEQ< zw|-K*8P7Elq=L*}W6Pb^Dx*drPf}f!M=u0g5t`&8uG=B^Qz)5E1P{oD?PD}=m|8o5 zg)f^l2NOeN0Wo~if&4-^geZN<@G$Z`H=HT;gHegf5fU6X6vWbcQZkY{YuLa{j030ZS4gIKjQZ?{|+}=!G9i|7{?(|WMO)Ui_4o{%72m?Tjpi~ zF~=eRmt}7A59=dPJ=AY&{d5`|Cqg|!#s*Vtnu-(bL!9WhlEYvtkoapjVdA0-wbDem z0jE>s1;LkRKBNb^{qJx5Ds{{EeR|qiq%u=lpX738KH596l9!u_SB75zgi;eTka8I$2B}$h<2lKF#qrb(wBkc5-Q*gm*bcPb1X0Rc zz{AZcks4y@w0^J8QZsN0BNcE1Ste!xjxjvG778;9=du}n4XM~LS)A* zA?Za?bN9TEAeK8`wKt9B#T7q<0{X{Yvk$N56wlcnEG(i!6HD9OIeE3QEo|aJ#S>kbh5~m_`dPqegJ^t7-d|DgG zTl`Hqvc{ad$dTPk>ELDct!taEB5MRBq1Vnv3Fq=os^?Y{r?o7;=5=-{zV9t+O>vN) z2P{Ks++-&vP5kiCb4Pxw7&o0ZB^n4gk+8DBk;BbO)8&?~uzgXpcjg@o_JnmQPW2<3E^AYv(1A+ zvQ?~5P~5!BJ`1)W@dF`zwDeCmb!J`&_mj!H1txLHXseug zA|IBa7q^&sOLv61b11x!jD=;W@XU zy(gMp$V+75&@g$E#g`VWK?Fh?JUYA#KB9)R@_m;7#=Sk_zv%DsC(Y2R9cET6kRrnL zc_x@koc<-e2tirO3FUk0;ms1P(EI)G|H8EB^N&2sBr5Ti>=7Q{h89JLer4 zESaJFaj2KA18F2ES`jk|D_Jtqj%-+xd+L=@%>+z;R;dT!A=DZ%TCmKyU3O)&q%uG` z(h0eSC|`m^*j?GV}HN7ov%$(P4l z8R_wM`msm%hna+3CB>!Q%T9kjDO@Rzgev@WGN*AE;UPvlX;le}Qi;mzLuI;pzJnZVI^2+A@Bxes z0@t7TYjzgjreV^pGzT`SC~vWZ<}!c%>r(VIT^W^qk%5ydQ+6J<>aCsvJwN2?j1*y+} zF@z;^wjz%DB0AVbc_YKgQj$R?#wi|$VL-r?3+AqDKk^||aP_=Weq{G=L?4o>a8w># z$diz+M)#{%*AoQd?Cd^VK~fQe$?YBKSPfB&z=zc>&Dk20&!FCx_I z%;~S!8Fz?L|4Qha9rY{G@Ct?R+}-bSnB@vT3J{JhU2$407%C;{QseBu}H zE(_~nVvj2HpAI#PVX}O))J+HFN+bPpUFG#T$~~Rs;T(QOM0b`)hw+jriE~R&n-0vK zHsuYAr|(m&VPsF)>3@S&0(-ozBS`8Px~-vT9AsZDv9Gp=U$qo|b$0mG{2%a@ww?m& zIUSS#){tcHjN_r83!aB=MQ1%?Urbw1!4cljzjo9I4eWZQy^O>B`GHen3VGjDnT5qn zVGI8EkC0oZUamhJzc_xCq4z%0)YJ*D1R+bg2G-0O!~y4+*(8)4UwM7*JnyvW6vr`S zy2apZ@299<|4e~DThrhIf8GNd`CZgV9(^PlfhR~M(lg=;qc_Yp!3<$C-10?l*n=8P zxNc6{*K(tI?_i9)`W5LOTLdHJ+og@$ek*G8Z6=&La!OqJjcutO`|eu6*o^doA< z4gzw*Yto#^&a*$#d2Jdim0Z($f*}wFoEFx$b+${JVie8FFa+gVO2hAmXDOYYq-Qjx z-ELDpRqb--2B(Vrje;lGp$KKfsqBMgoc3NX%N&8cpY%DWPcM`I8AtV9`9n%bH~6mK z`HJ^Z`f_OKKBahSIQszbdNZXqH2KhdLo3z6`C{XPD~y%(9pbbe8F)4=H|Jq2nQ3EJ`GisCp*3%^!9)NH*e!{pVH zP8TU_01FYo-9(L8HRu24HMNx1uw5?(F-%+AAoBd-npzdhM!9z0f5QJ3RW<0z!!Cdz1=2H-gvQ^z`BWC#;cZP&b#y%+^XN%waS#fWeKN zIw9g$u|1s}pQehtg*i7UP`^uHTYD9^6z0WQXOI8`(%l#4e9REo^VY;JviB&VK zr7ka5!g=D-&*>!+|D0V703|}|C|`t^*6hfQM=tksH?uF9=**g3tU%IGUrx+2?N%tg5;gquK=@z-s@#Q3juJ)~MA{)-e$J z6{cG@tl3fQKYajD2nYtJ4{m|*SI>P`rZL`j%EA%(K+ zEoc6DjDp%fQA?k*?(cK0fxQjs=3=>jeNXMD?zB0lEG|>M?j3JU3$i&f9_4^3LFsPU zVEp>8@lrNz!_PFW2w!YI7_YZe9H-d-j#jkh?dBj`#u$)Vq6U8jGfhpnBT@4E>-ku^ zan*D8x_Y`Dmx^i=7Lj$sc|;i`$e2T7Bd;sD>q2rnRIOxD4C-y|(+{Wmj&oZp3^Z|i zm{=sl6Pxv0>_7E!H|hD#W{rd+>gT(>p6_Q#wx8r%_~VnDr}0@W9#PsU^nXGDOOueA zQR?mO+2FXW115-6dbpl7K1-xj-TK~`#-^wpgsRieRmfokFzgRi%ak3sxEnR;Nmfub z94Jb(+f+jWN7m+>X-`mai_uNM=@!B1vgb#e3K9MA{B5Of$$caA9$S3;m0E!8_Pgpc zwq_&s@DSUt#p32~acAarUYkd8~|yF^v!=GWst2;s;)m7Sl+ z^RKlu4d8srNT{f5NLFosKu@8it>~dZBGFckwaq>O?!?B~msqZxHp}=IuD(Cf-tFeaFZBi{{%cCACHqd)^;HX?H|UFgNFsTh0(SqABLu<{qj0n zF)*ER4*C2s<9hqRJXs9>oy9b2VVf!VHJ4G&uuI>wpHzAcp6=DEDl@=bf5WBv-KMn+ z&e1E;{bk{OtyAy^-uJH<%davnBkB*25+KDy+1yuZSZn#-pRvV^dEt3Dt4}mzo}`UM zAR$32up`Rv$VfSwgFvD{#z5V|D~K@Ya*^DJTP5y!E3iVU08JMFS+FS-H6VV( zsP3dLbEmt8`frERV6xp*nQU#|=ae9oQ4bL@h!sT@rbE1K`|%7}_vw7NiQNxsypXAO z?f-OQ#z)xfZ5!RjWr_5t;&{6Bar|Sb^9sy3jv?SOg=Hez>wl*8sIQ`YR}bifFmJT`yb{{k>O@qczg&tGF&$ z1AZ>$4s90scYaFaXthsNVo2j1i5^5_mF^Nx@#vhVCun6RN%z^U)2!nzj}yFzy>aeI zwltF}N184I92ym>F4Fghs?<&X$NmpGQuWAQHm<+Z-=G4w=z>PuNe|trlyXBU$5f~v z4H3neCr=XVJdv7GIWjYHp?zeHSs|mJX&%W;@u9w*!MCY-hFoo{r>le#%fdVeFF~t0 zsxqg@UGfL*DHNg6h^*!1z{0&{X65h@l}ZO{ASZ@r76g?<`fjT~2j@$q|5~}2DY{jx z1_6}*=&DfC9Le7-OZ7{>oIAl&KL|eQrmuva7o-ck@oJa8zsM zA`RJUM~&ari?#trC3qqW+=wB27iH#MzFDG|#F=My_9lBGjwx#yO8R(JmpF2}le|l- zB;ljScm)=MMDgqXpH62iKpm^UPYk+S%yi-&W<6fq7Ega05qi5nGhyRzRX-GID~B3r zE;)vMht&oOhp?>IdrLfdokqfoHUs0~V$Cw);Se#M!8WbyCDh+IG;6{ftI(^1}oE>rfXj%9lk{O~iIyaptY(|B#nNL}t-Kf_EZa zI0cvyq+~n<2y6$FLkfp+Bx@LHpawDAq*cXRBQ>t~Le929@VC};goZoO-@PUm6a9%# zhz9*Nsl#v&}^^%ac-tEeTUm_52Piy5(XTupD0ZM z@n<=uEw9B|V2jRAx0rjVL2?7hm%J-UU=&)zCVNWDTwBnNQY>6|3}Z}xG0#Lur-UWl zrCh4Ghxw_7`C6k%b^e794&Way%p>95ZS1>%N$8eAInO_q(k2ru3ie1kk(wCg;&h`| zef}Ai>O(jUMR3~ALflC}+@}Z1O>AsU7T4Sx>=$Dg z5!^td=*EUf`b!V}x5KFL_byMdAY9CE|344c3J$$m_Xh}h(&wM9`!{pnf1vw=p1LWIKw* zS~g})$Ly(O%B-g#g)U}&Bic=F;|AGhN&WJUBo6Q8u&~__|5pq8IbFg5fOVgoF6D7K z5GIcaZ~AyO2$33&HVh}AKL5lTW**vG*z`lDkkSAmBfq_HLd_SU<9GX)d_@RDr$#%{ zsjbXB?LJCp`qv^2cb~rq>u67xx4a{BQp|ffv&f&ezMnsyo9ru|dKnG?;o&FTpB?^y zhT?Wfdehz(p5iw3Y`kYzytqBS1`}30hX=HHoj1a%#tq=23qODx2f8(TZ+woY%fqHJ zt4tqB=w!05#JSC9Ou25ta|KkrB`_P;V7}X>t~G{)lH!k9*5|(qv4%+I{SI zzYYJn#dx+*m3%wzk}3q@bj=PpGF)UO10;z0d;jop1&=9Sx!uLTh99|R!||XKr&;Ts zF81IVR@?7&=Z_j0lYL^^b8*tmsVh3R|7uoE0{~q&JyZaIpXZO323LcJ^GKi3fB1A& zZ$YvM;GB!lmy_glJ7dhOyj~`P(b~P^lJ8yM-2TfWd-~)^=&kks7Wdw98@r0zO+~B% zB8$i}OUU9gRz?IZPNKLY!9t=+N4$er`c>oLJWNx@tXf(MNe9QIMAh5=4PRl2UZMq&tOrz;W%oCGJhR4%QmFT}vZ>-?R^p^kB#o&3(R^q2= zWVG!ue}u$0F2fR#{_$Me5ycDQVJSel6TK4n)Pep2S zIKhSCwjc8_bk=OVp|Ubd&(aOWqOb5ZL9Fow6z=iPI{C@)cE{FIm4BTmU5uMP55WuK z$IJe0fJ73s%N=q7o#;1nL#}R8(zk^%4S+75o^&FKx8G>+_K_&L6keYwnNm3#VCLy* z`eIBPh)puX$gi(cYgg|7^&)f|@CAS*-5#of(D3n7?sIF<>v`F6-;&{Q7*d{e zGjH`qYMU4may&H~57BL;B4SVPG?fJ!oT`=5v5^a>Tw?9|P^?9lQ~WfESsIaT_qtW< zu!d&H)^Ti~>hCS1o?bh?X{8w#fhN?DzGDI*XNCqC217v;GO2Rh?BV)-jed{3sRER& zbQ^=fEtC&|z(jTva1audi9Y|2){gs-_DNdQH4W(|lH$VB6Y2Aganm=H?~;W04sI*u zR?!AtU-i7}ol&WLW8*7(!z#=P?@a`*azsfc$HaLH(W%xyJ|@zOEy2yQM{Krmu2&5dAqYoWLdO3Gfn<$sn;!=bb%g4Hs2zl&4xWLbwz1T z*u0|51ondj&2$Cnp_jW=Yn{3OsW~IJcu%85^KUyz5Fq&J!?fZpb5A#sketrX&b}sU z;$oUeXcKA*qoae>Y!u`A$^GlirmN9^V-qL4(^;~3F{z}IE2bA1gQd|!)byVAOX`pf zt~YIqI^#Y=ty<=1AOM*kX|I+sg`z-iB?TeBh58neE~5~<*N!LuEpN!gYl;_iE?ARu zOguW;M;_?rZFK`&Qa)U~#V7a+aUJ^LgxAw^&+&hcT=XAhxcVm-{gH8@Ogn9hw4a)QPp7*41VzRkZ>D)X&WT|H9%v^rK^K_BHW3J4D;`Wsapa!tMN}uV>p9Vcv2Cb!nA*Y&G z$+pBPvuc+&s*?B1m!8M{s$J<5rH87hOOGmvH?FK>&TeRHfc1+zWqyNl(p!Oqqe%Ms zpGI&(3*11wEE^UAT!A+ysK;SW1j~P87^6p{zLS|(JajHyoPJ^@>~0Z_ng$Cp(&_(* zMx|3JGl59V&x5w^qHXPlao!6J-tGo(Gg|>LJT#nE{F_XsEy_k=3OvKl$MH8)+?-)2 zmeX1ylp!B#;r*JYy;aU-D@pPQRjbf^QKNiA`cZnV6GQ0pTj&p6L@Tf3hCPZ_DiY9Y z+lwd#H!uS2++lT9yZv_%kfWOED1c1ka>W-VQSKj2IdpB4;*BxbSX~W>IP1qEGnjWj z1r%IhC9ND>8gP}CXXTm@UWqKcG_YD7);}M?W(1z5mHrvJf)^{zlH@@vf^)mO9D40I(L{9N}&O_1pmfTPD2If(MP^y=h3#Wsp-7x?{uLp z$G?%zys%S#8bU)`!*g%`>_@qCz#B4n@VJ1C(&JQW;n8XO(sMWjtb#XK6v$E%$LcXyN|EB14vX324>fo3~|kDlFJn0jT99AtDmQ*nire5XAw$V;~8#74RLHx7J#vArzJSp zX8^fCzt}+E;Jp#Fh@qy3mTE9#1ike6V>FoSHJJ3!nY!PtuhQqArTgQ!Z^VeTx!%0a zwrQFZ>%Diy0ofF{`~ZCNRwyt+L9SAdoOLX#&%l0khG;^cKcBz)s?2ZY7f2?mYf(U! z`ON}+!K3eqo@R+GZ{fhjbB5nbySbx_({_o*eai|_`Tkl0!}Q2u%W(a(ozO*ZN5qqM z`oFGW_7OaCJOl5eT~6!oOM3dOkfNYu$u=4{a(Fk9FG~=FF(L%PTRP$jP2Ch0=e(bU z+!Xf-!pvqOGq@ffDJ~g9kN*OiPU%oKasz+S87I`YzDb%(8!q!}v2Wa(tIC_cn*>6| zz%=+H?;4!~nb6>|f8Gq*IjujcqbJMtX0M}_YQ=TV|L?u5p!!u%VX+^44D@`|WS;cU zG%xVpB)vDA_r$b8;R_lnBy|F$DC|tYA}c1gqYd*$~?27%?N~I9bqfPxI}W|0q1s zh5j~#ihaaQ4ZP+unRgCDzhswjyTqgBS-bpjmUyy6BeHzs zrKNS=KJRag*l{=YyyUonx6vbLGBXP{+%0vgw+>es*LytSp%6n1>xegs>fVH5aF;Xh zAt;K?BvJidLuzUn8B@!gxsL#OS1!a;z<>lxay=~)a1kv^oR-t0j*F-36uaV+cfDz9 z948Q@kO5O~P!2PKRN8Y@A>qddB%(w%(fk$=2+d1x*n zO+6M90(w~vWX)mOC9w!9+Rc6@d}N5tJ2Q`l`iYv1(>h1=M6*yCI%eUtnp%%X^T+DZ z2hJv}Z<(EubKCuZ?5woYi(bEi!#%nq*vdt&eHjXnsLK2+ zKP!DZzeL7IhOYpxX+N@_kgt&GXx#rVK{nfylNp-TONtKQsTR_K0^Eyt2Xko6ut#xm zOxIbkj61=nxGKmGqMfN^LY6qOEYUcX&3POGz0(@8Jv%#4! z`528P=-&)Sr1Ik)XRZ({QM}pp$e8tagYfRAYn64p>8oyV*;_w)5?&Q)LAY*f&W z7mB+x_vYTWL3c8qc-0DfBjKH#`S<+(u<{TVx(s_@o=Qw^vqyj{XaRD?= z!KF=Kh^M~*9_}456(PFIE$%@NxW!`5&@&w)~4iEFV)xS;D0Gx&N z0i2a;19)H$05PMvFpZtTbeD9_#Wz;LX@~&MSa^=BKtB*M3Q0wlr zPEy0s2>Pv6@GYK*|AK-@E9*dxP6FqF`BZF)X`lz7u48zX<=Qr@e8E|$_R5ZZ5&f73fa0tnl~Vbt z@S)>&)q|bY-KyYMy^6MCPW&xuWFJMu&C+<|An$Fj`EF?$YPPyg!`rGnlfG4Lq`p&T zk=l3C6?K7M6QXC+xVyLPFPg*VzkPTqH0T5ZxvqTB<@~9x_feW-|N3|J!_h3xK}k%q{E0O zU!?C@ON*SjF~-OQ9CBX@hA_D*t01W>oz~r&Q!bEr ztFFBF62(sx2qcoL`qkA@y(rN`$s>xsRjsJf7vdh8;e@xfx}6~M*NPB&NEYAIEeOV! z$2=`Du2lbKkOg2UN7Ir`C%a`TWP8fdlu#Mfyn zf{djNHSj1+dA)aCX{L=&L%ARvu1=FuuWkywrBHvNAMyK}N-X!|{zxmA(>} zlO6JykOX<`-+751XTA!^LZ-x$1P>a;(!RoP1I1eXLYLZ`nPm6cJ$wS2#;- z)w;Eg<@JLm^pnB~?dAN!S`N>z*2vEgJ9gS)Br$snCXT^Nv19=ns+2Wf@T8* z>vM?jJ1^_^J^t5BD}MWnft$kzBs!piE+_M=+|S^0gU{9=L)-qX50(`rZr>Wj03$0G z9L~)!-&ytQU?691gS*-1Iy-2$FWAL7Th~+$b{nsP7(nJ_3sM#A*0cE$yIPdq>J5-< za)S3f6$jS3)lb4SM)bUtXuKK`(Q(|@y*C^5?NXpz?>(2OUP~PU^nLY?yQSWHHBs{# zLx+yPWRars4oN^ux!vGxRTvU=Jm!=ooXcJUu{DUfJv3xhFTgYKd{P)bG|c}l3K`jb zkda?kbW1s2rg2QQ6rpS=ep#O`5LP>FQyIKyPJ#?1$&KJpvDYoS_pBYoCQDWu(N9)G z-20o8{vYl8)YpxGne7ALpw<4`Par*rfO(~FxXG9L6m}(Y?)owB+Xpt4&5I#Xei)YC zleA5lW0`-enqkmoHuA8+_IP>-l|?r81z%)AgqJpL?d{NfcBU``_~~E}e&^u;vQv|6 z-K~9^9z`_pAn{egHN0c7kx!izuX@AwZRR-XXC>cWiuf}GyBB9J@)?|~`iR@ASI4~} z80GLjmy3i|JTO&Wjj$QMnJmJHSX*}E9(7z6$MZ_`Cpq(FMQ+3#cqU>&U$TpX*@|>=C~`o`gT+!=}~qHanIlENG5xZH$s_g zv)i$w)V$lhw{qoma5z|TD7kC}HKMnLHKN}^@6z#%~gj zYx*3GOs|e74=Zjk^y0keCO;2OYz7&NJfnGsIG^ery};KqHuP-Ftc&JZy^+K|tFK$= zfAlj0be={j>fZ~(qgW4`j8=vC9L_K9tp{5=b`Hwri~?U!@LdOkIIIqC?!9I+dePgM zsM;suIsa7cb!imV=>(Qeh+^9uYs(b-Zw6x3cx?RwPpY5ItxxKVF7oCS$7|Nl9!M}n z(+)C4ikop7=q3D-JPO+`Z2q>HmNEDI=c&C^iX^OvH2tk|EOh~p)AlsKLfSAqnlDZT zBruYWxuP>ikA9;MYPx4`2}#jUxMUyU{ae^s(|^(#>AFLr@b^nK4-_>DYc_R^fj4n- zd*W~(4A(JWI>U844`W_MrUnjq)2r~NaG45~gjm@oQC}PrTgL4)H#{=GyuBY+CrL(IcEz7^Sj#+$SJqwrfwF{f(*>X~&N7}YC;~%t~Zf-eMs^-Au z)U2Z;R)3{0>p52I87(G66KA~4x*R>puOk%4=sIh7j%LsLiRotd=bOQkx#c^K=b7K< z=#ATW4l4Sg+D_2flD^aK`dmf!ywguTAJL~o<0Y)?m{RGn9hJ(xznv(EKFDJ&RK4BW zL9=eu9nzk$d_yVrNeY>w=80w^7?9fEtllGSSi9q{Ea-$_+~fC9*HeGnlbZ+dX7-)j zcyWDdyd3d!5A=XCy>ZJPzpAc^;EL7MEpJ43wTe`B$`P6R2uIIQg#g`nqG^~M+Lc`A z;*|`S`BZgKO7d3P1)fv~yM#-w@EU zaIk)~-)NuFeb!qRiahibU#5``R%CIGK7lheBd5Jle|&p*JEXsiGrAMf0ksGJCdSzI zu-G@EyV&=LekvZ#B%D)>?y0B8tfEqSxJxPF*1T%l)N8Zq6)ZRuiIZf8fr@%|04-hv zeg37O*GM8OIF$|!p#Uw7@KjE!+x;J$0Ap<1IA?I?DC4)%QzJ#bD0@{rHH&k=_NHO+ z#(HU7odqweHOZvg{PiE}?ejKZ(keBz#fI3~my|m02C~V9dW&D!vh~wjyrWzF!@IKZ zOOJYqhnQz0CD9UHn3Cv~LM0LB1u2Q1I+QT-R6iwA^I2Hur5<{9S1<$;5W>Inl2UbJ zQh@Nt|J~V~dnbrQm`W+b*&JVpm;FX&r#EkUpRpV3tx~v)^EF~P~PCg7SU{FUutShG=2xw8|$+r(gN+05v++Q*6;?!Ym(fKmk8>vhW-L}!;X9X(9asUjHaaHf<#5xK= z3s+NlezH<46Ux4AmrISUG+si< zeM6nrVd~+5)Bbu_*HZ~}!=$+ECLe*2PTA_u|M%}zmpPK%zTiFDY`>vSw zG0f~c29eq5{_z9Ap#A<8AEQMQG{YilNntV}`iHnkAs5AzFFiZ@M_jpkatB!@22caU zE#~0Zg`aY%TioS7=tTeY4X4VE*UNO5CWG)RyCUgA-QFjRteg3G_Hb08%7nyABep$vi--yw_F{EkX^U1!5gw_>8a`m*R9OZ zg`9t3TqIU(AD}xZoNqiDr}k;vL01H8?$)fl30?9ow-`u(Y5VK(Nbpu>?hhr!dxi-+ zC$|LO5nU42r_WzfT3%#+vYhM&=%e%%CC;&>$kPMQ6i`#FcB*ujJZM*8$3!c=s@%UA zcSP!4T1=;!(js)$FJ`28zGhIsFE2&C#xXJ?+xxA zj{n1@tjOy3bBD=9YF3N8hFVlqCQeW42HQ5p)6@F=%RV`v2(_BJJpZDSa&)KY*xQR) zXH+Vx;`s!rnVy;U7Q3_u-;hy{+q+p7bC$+xEC%yq-VQ-E_RX-E=MKeUp6kbA4jLx| zT$rk#OaFp=s=0+iX4P+c9bVf^HWD66{J+m#OSr&Wq=$^lYS;5}oUtZOUg!3}+g75* zLS|bz^=Qy}VU+gF8)<8s@Vd|!0nGGyQ{APxXoMd4V;8HM+%mv*>M^3cS2pd12WkNd zhC%B25RSMEXKMs$i-EzVR2aF25^|f}wXch0-y- z{@||Z#E_vP<;A2F{d?2bEOzSrcSNWZN(38f(_V!tp0+R^NC|T)WKcwZRh-{{(|)T}YHWX#j_F1{d#n zn~`;rX!XWF6MFG>=3&uqU>izbz@00d%pZ zW;;&`&R^%QAo{^1L#tW{$Ec9+XD4Zi3;q?k^8+X9O_*zw{rS-*LCy`1gBbXyBbTM_ z6nPNi__F9jYSv;I{#sY`@_aDQg9rJ=^w4CD?5zJQa3~7SGom~T5aP%kX5gR$|DLGv zM3j{S3ARgbre|RX+Jgi;*Pk)M1k|}Q|CpwdXZGNlf(Mr{kVnNw{V%CSj4aI>LweR? zzecZxgf1A0O44ptax<8K6~q6@FA7saW#!47sX~VxPi2uO9wb-n{V3(B>C#PKM2~Q0 z4q49pUozc9`a2{9owBYs^mvB8#>s4#4|wQ0k}>l3Sg#Z}*P^G5Rv2;y_= zyym%=rO$YmmKC&7;x?8f@JyTEp@vh9h}1)lGdl)0)9rp6P0t$iC1bmGI7P-0 z+*r=~rT#6fyS5W+#`IWi|GUBj3hbq)4CF`%6xda!tV!LBK1_ze=B4qP=jVLWl{>nR zEzG~i6f6h`=xQ4U6Eq^p?jnOpu$}fII*YI+w2VC>4r?qqT&iHcy#uf$Qi6T^sFkTz z3F2TF@iAT(N_!N={zdeZxkKyjANL8pQ$JVrhZU=|&AwdYg!@LPG8LH(;hmlet%LOo_pL=jVl}nA10WIDPM}Or#E}_QUIY7ZYL7Pv1M^1NFT<8xN)NML$xg z?|m`TO}Z@fyleCFv48rB*>jxV4yqnX-~0bx`+(CnQ>gy|HiD6#3~dCbLjlb=a1lsQ zU>x`cJ1%b=2+w6^PH1|%&@51c*dDde^r-*jsn`SlCojL4Jt3Hp#UJnzs)~J}k@w6# zpd9M{^FJ*(uM--ifGu=(akufibVR3v}>3_{LFfiwg*%#P#k-RN)uXyqLrUMCCLuj92wwFMMAg zyUxSyP@Q|@xAcbYNmpnP=~|93h&kEA9|u33|2|OCDLnrfbw+kYhLotYRiX}#2(WL- zAzPS)h5K#7jahymlb86{kuM78ge54ImLdn0$WLh#cS_>kOH#+SUCV@xe#w2>xLY_c z-;$be%CBES%9@gR)ytQqD~!`MFfH{Nzh!SYtxE;7^hN(SrWJWzC2%k?+p+vH>oglU zDBf4h$+D8seGC2A=b2x<9h72T@7UD%nqJk_<}9&SVXnkBdRBWq zL1!kRwyr`7^{Y-objs#kjuDU*Pn9d*tm#e&sye=b$Y4~pNN=0`nF|;YX0#y9r^qXj zUJAwJpUaFrE`|GLRLrYY$c+k^S^O73%FP18)qfUC{d1TBqlXacaH-LY_4gcxQ=@`y z!t)Mr1;DJW7IpGmroYI4j#t73Z^Jh)6Fe_E{ps@oD5+9^DB&~06iGZmx3%7)c>@}m zh<`@Mk{8DFs_h@UPb-p-!of4^&R|~ldG<(zpZTAG@ItN?#wb#=Sbu}Z?M>QW2kU6h zLu0}se>mBn^U#>ENUllUG!nuO_Xc}^sox6=*G`Xn%Y#>Fj)B^+8kYKR4iZ3ZC4$R= ziZ_d6PW1F%{~4YZV4BsYj?UA}Hd0XkmY1^nXEdJykxYI5z#kRxGh;BaxulMUBF(8F zBeT3kyQsh6Uzp9eY?r&Z%$Y`V@)LTapRGjU8wJl(bu3@M!sPvsUncjXZe2$-&koeI zUqR=_RQu*kJJa>v2g_a(H2a3$^U(^7-#Sl}b=E_8fwcK)=k&y>BX*xwQS{&mJPC0< zeSU2n(MWG^Eh+N<_Vk_tUtGai{VTus>TJEhu>Nksga5uUT1La+$-R}%{HMSv=5hYJ z%mY7_vgF!p(?2@?(d_^Ub{we}5ekXlHucrZ(jUHy5t-NUNkkS5AgGw1D zj}aQ^)M;&GWN~jT@c^`J6VT{m_}b6Ej7JSMn{N8Ai|3YJpf+e)-dyGWZL}gsuBesf z4r1XRWA#8)wqd;ZCBO955_%UD?S)0*iuS~Woo*~ z7Alec7Nxw2uV=~j4~v#eARflL1>NXLl?Rj2B zX2XCpoE62pmqqOx`d>5|Q~}y>9E{X2W0XRe&6|?F6PqfMy%#lIt>MQW*5N9+11c9z zXh7^?w9rNV`cnHK_<=nMSIYkyokwWo$>V`e8J3?KAPU2;U}g?5v;*c9`3s_UczE-6LcB;s18$?t-syEjwyNMf=w+Vd5DiwVlS<8+^vzp6d%WW4{ha&Sx0l0B!4D$Y&#LJ$5?Fw%;!Le>gDmqW-@<`!q&bq zPN11H{~3VNU}o)0aR{hy=aTCN{L+XFKbmjYsRY!tNiil*TjC2%_Chc+d9U7U25D9w zTVdoL=?77yUb?F#umvZb?9R(8A9%sQNJZZ3ipi9wyU{s_}r&ac38x$&( z6~+E%ia8MR0A_J2q7jx6dD0bs#ih+AwvWK6_i^^b(cvMlw_>?52wlsyr#xe13g z^p`%pd9jW8FN{wEZv8Dkw3q_2Nt5AP_6^-#kzYqUDax_lO&uP>%uoECtW)y&FuczN zKVMa=?#vE)@3grgIe-1vBk_r%fclQPxv?;Ul9f@{=Tey+EJ}opu ztm8I)?BRX7X?>X2QAEi z6j)$t@E_q2Y=1+!F_?!y^3Sx-Iq4X#uMB>|i=o^DKv@pDME*HO@{iO_ip!83v@Ey= zG|9f0-9G*^(TmzSdQob~V}P*#xwNI=qW_5BhZc1t3sHt)xFqPLr2#8P5xM!^>DdtX zNJi5YH%4?A-V~%MIyO<`lX!#Ij4FADCAVJK^d;{F^aFZ}o6(-w z8OPN)1|elI_2_q&}b)Vh>Ui8=4fp`kRN@Ya&;o+qHcP6SyQv*01{d5 zRK*q2aPW!i?WLkXSu{=xY$mbo7W4 zIvkntinalC>@BHR8HGBzLManbaTnS5aUZ~R=feR*lXOov27DA#zMI_1y!_g^-z}j6 z!?3ydo%sAHpL+=_>(BlA0EsY8-TB`~+)Q}y`7^o^{Uor#*?Wu4w>aU{Z|)n~1Paf+7^p}l8g^xyWK+4SOur`c2GjOiR5GlOUZSp zVIIs7UG}&mujL7stQ$M&T(nDwZL$j25#v zF~mFPe(*T)uNw~o;$n%xge;$y zl$G57qBBqB17qH9l4sE0%KxFio;9(PJA&Ut--UCWzsC1dN+QOKM z{404L1l$O@nhxiT?ENA3l}RA1RUG4IFqW76DYxl>9_|m(MU+rY_-*bT&~&C~B>B?_ z0K#K0IG1*TYjD%sRzKaABNzknMs&k_D_BMLm_m9M>90TFJpOImQDK}}#TLx$T*Fg1 zV&Bk#L)g-d4bX@BGH+E6<%7Zca&HT%4xL0d3d#4 zN7JPr$>||f5jlBYPf_!cigVaStWr})9RJZ!DY15&E1GmT3-?}M)3D6w{Cqh&s2A=x zpF+pDnvoKjWg~Y@d~5fIXuHK9Cw+AwnqX;SgO7*t4lE->KWvEGMD(wirjhYU79YJo8Rn@n~R?} zf{hEaC6eA+DxVzbiNfhyJJq>%y7FtN@ydJH%o~82c#liUre6UEt6SBpH0>R)3<9O9 zI!JofMs9YzbOtW{E2KJIaewpCZevr|F#JQ(bw~E$!6SQ$k#MT}Th>4;*QB_GGZZ;=-zM+qN3ofIz_Eo+i4|1ouUMjD7(iKsIAIeI(4S))VAZ;nN~;JS`!cg zUbreZ6#^*iO}L3d0t)$mf6w0MeaFp1ypyiR;~x2YiegX+Cn$$OTYm0K>-;FTh{ zP!*rD^yao47%dW=oDGEijQvO_9DAw7!R^*X3Q?mq?88qHzie;Jy`Q0bH9Uu&;jxQl z1o@`*QK$I^-{?vd1dq(>EuVL%Dj7E#h^n3>q`lH_<@R!aAy*)q@VB<(&D7K`gpwnQ z%)F++auu0r#@r9HB@5kTPg#?c7nn-lT$CEono57OD48BdiJAFAI3(M6D`ykI05#vD zw8p*o5Tm+37}H4=8$j&LDP(q27HCn;cilLvd-``QTX;K^vLaL+(|mgV(7f)2l%rL? zFm*7Mib$57U-(8|p&1EV2-IZR_f`dk=pk{cvjRD`nYpWHmw;KSA^LSc>|u&%?Rw;VinzD$mkA7WVuCHV8|%{(YE8j~6EIh?HIlI*|h z+Njpcd{HVDY0F_WU$n9*DyC~o4Sp#;j_>JS44b1A{7N1ycC{ys%Bk~0qSpFOa)gOI z3IB;D>)wx6$EJ^S-%o8JU+k`9^BwBgTu4d=1sggAQ?8E9cKepAW^y=tmrwnoBH++I zNU#rxzSTZh)Vq#Ne@x;1=M$50YlLrtw({%Ea25|bO0k)4cx}GzpUmN#%s1wJCz{r| z-SfUaJ8x_4`i1Mcun23yzjFS`zP3~Am$?IZr&2IF4g2*%ZiazHeqF_5Oa|fr);Xcm&ZG5x(Ez3sikL%tD-T~(knLGfsWKoG%u}Ae=P<6Ia zNMnyjRg*?}D8ttwZR0;yzok$3Que#fh~Uw7&P9w&U$>`q48x`ek6+5ddG?=#v*xxe zjMHy83VeeF-(Z6;3BlySm#kRrG%jY)Ja|Os*|oNMGG+YUO&_)odi*}O$M2E)wP-uG z#$NSidiN{e^38emXnOrlzOjnjm_D8t9AavC6=5M&>DzjUO_*3>XDfI0mzTzUL3XQO`%$5C~Cxzf3%gKlD!P-X8wMgb`qVW@8vXPt5;(t z)4wDq+03Bi5a)`;cE50k>uE2JQUTdVU#9P_Isz)5k9^F{s zPY&)x#%b?w^cIUzy-e>aVA9L<9`BDMOyOhI^e>)dT(L77ScNrGCI=P&zV0z5_ju$T z#`gNjz{~;IcljaB5BSf+`yl@qJ~o#by+KL!V+eY@Dbp^hYp_j+lZt5YgIR|4!_x3~ zyxdK{L3&>z@_*K1u2tF;D)SY;4hAqTW13-@9&mun5BEcVv33lQs@X$~q=s5^NH)=G z08~f}4^6*r2`}u16Sg8q0Af}8 zTNFQR&srrZPY+Gsi@pp!cPQ`pHidtAC^W3e@3fMBaKL;9D&|Rfj{%e7&Ik`KFz?o&r`plf$!CIIFlKJw3&3^bL|j zJyr72W!9das2CG)TY=<_h>w*Mi4dtGoK=JoEW(H;VyH@A@z|8Bi5uD?C)peLgW0H5 z6{>|D61w1GR;R*hI8SCs%%M7Zr^PHU~m^%i~8Xy;_lsI`C46ngp0vU*)l z7uGRq`4Q~fpBt-)izZ~fSlYL<*$Q*PfV^4k#A>3%xDuSLFju}4urV8K%+odzCL5oI ztRch5gE8xH&i5wDfsFY*AOGjL7RbEP$2A)OC33 zpL*-{&JTI3k+*^i?&ulOZ1(gd_7z;(*vClC?pNi%sCsSg3XHuK^Y8tNi-VVIM7R?Q zL;jMx2D+;Pa!RsxlgP>NR|U17=GLv+cU)Y&J%0CE!qG{8anAnab}Ww@M0hm&4rVB9 zme^?;iBYQ=TI4)TZXSPwCMF|ow`Y8iw2QdZ?0b=dG4*Pk?x%5~l+*M&t4?fE+$`hvU9uT z6RXF00aAlqo7r%VKIK=wH1B`?`yV)&$C$0^5K|_|$j$3mo^(>pmPRZ2D!=@x?Dl^% z06G}J@h!cP`lrg&s$ZO_WV1O9iVJX6>WNjS8fT2W@Q*x>`4Lgndp5v2k&B9rX*Do@ zzJ450QZz5>NruuJ^7jFq$8|o5`JA~soT9$xj$k2Bv}Dp?C7mXTP(B~4woqza_ncA~+@O5d@G5}&K}ATd>i4XFb$pBlGmCke@kSFr=SMku~8-KCe685QY>+3nc zYb)6DSIKn0B#u(IYf1PYbe$KV6xpwH?YB62P4A~^*J2*j7AH^clk|@*ZC;@76N+j} z_2A@joJq$f{Y#4YA(_6iB>V8>%Sz%OlK$ip%4RLd8!^Ap$yX1gAu(=c>P3wKG3j4F z(9K*{mW3oUlaF+s{_4P5xFl`ku{8`mSlb8=^$@*2v#hJRYcV$gL9Rg8P0s&I_&L2d zet2;D5%`H8p8hBClh^3<{~3OI_VDN7ryEl_`u)T~mI9K^oJ$1ns5OMXLRmFmfadS` zSWSQJa-R|*T`#r|hgJ`_e_^iulY2hDW+Wy$t~W}qrsmpmuY)?Hh3JsUHATsE)oKT$Y@e!^I`ur@InlqK zzq0+W^>B|Kwprt5^)!E6x@yBf6o>Yk^Qigexf99`L!DdRz?v4j9nTHlJZ-;QtHiaB1yRLu78S0 zNS4mGPTl&I1vuQViTz2EC-CKf$xh^qj&)V|cwnJ@IhTQ?vWsFa1WT;$^j2-=GH;sg z@m2+?;`sz!tm)LM-AJ37Ki!7@EuCaFJ!U&2BvM^%i96LQ22s!6sxVdjlJ!pn<(fT6 zOnuZU0wVh!PYdthzLn^Gqk^K|@53Fgg&<<;VG4{8MqNQWgI6=BRPl0vNEKsSu7aTa z{%dTYc$Cfjrh%sYo!+`A9w3=MF$<&diz5AaDxD?$)ACqFx4b6&_9Oi}!Y+~;xXy6X z7F*#csAiPy@vO*Mj!_Nsou7y54{c+pCVE;@oo1qjnoNnesy*&B+A!9$w`x<2YNigV z*fue$^WW2Ey5n2%evUfXqfS7m!0YZLu=UE~n=ab;O)s!?5x%z@zT0DbcV_X;Y8Z&y zfzq~agztC&!*>Mesw+r8*Up6<1RBTfnSJMb{T0nMw+f3ERXmyC#F6_g; z&k(!)WV7?+g7W#9!jrhxk4wGEiPOQ~uA2?{0V659d=VSB6&A3Tt-r|YYOc9zoa6}S ziRG9EK11@-V)jY!N}utRBpzfCre;4C1Erh+<4crj7LuSx^QhMC6wsC*|~U5{@5Oz`}6)G?In z@Dn_V;17;R&kj$_eNQqUi13{8nVOS(#w%4Ebu!%!?0b&pz>e*5G9$(jFz<)bZ)L#X zf!XyIg_j|e#``()H;2Ul6v^|Eb{*LTpSO3j@4XQ2?tU-NPo9l?%^55RQlgGQUwO>8 zMdr-C<1>TNv#!GgkeUZ*m@ZO}2g7}?azQ~S?DJeqP{IC{W|x>JLQBK6*uY_Fv(cZh_nXB2Vg{#7!BF9EXg6^>*FvyJBfe{Kb$uqH; zQ)qb%cxA%~m4hFQ|60DrZ}Q%V=BR!YQ6Sn~35sVR%FI}%a2IEG3l#Ic$1rL@lbe#)>LCsx=8%Vk{J11XR zIZ-)TH7gSZl~cZYJu(XI+DB*kM>0JCg>+LgvD_`)j{hFLA0D$Dbp!o~r(VT&&$)2E zSN|H};?2`eOZs0R9ud#hEeVFayO~<33bap_H+x+R+c(7kRc+{0>yuqtE1+^_r_-Pq zeqN#6$>NR`Ox|7f_N9U@TD{g_P;V|m9E7_MX3I7A}AmM1GH>K|h{La>1Gx?a9}8B9OQ zq(M5xjxK(mjW4F+!ixdrPt8V?GNUdjL2#gy{L@5^dlj$Wd8+f!{1ic0k2Dv}uPLtV zYE6~TPY!y0LZ+tt5Z>P?4x@5ngD9kSn>OaEmWyq;qtN;Wd%Lr z!e}0s8GKT;s<&)PRqUI|wL=4j>e|f+I*wL%&?-txuA~&0=Zxhx;jybc2A%6s52tih zvf}k=pMp1VBJC{lx|ZHOFD2u5+ zV(%gjoRV+7&P;A)R4~$h1#W|d!&aj6Rbp>PlfC6M+#rf3YVY1VJpXO>xJBF^I>Bi= z&3-ua$=JV!GSd=##c9;J6`X!7FDa}Uw-)J0iZ75P7zPg=BYVa|MC-ikoSjC>$1=zZ zE*Vu>#hO%&)y?)7Tcy)-Ip)X|pI#@WmMf7N5lR0Qsz=H!qzFJV2Gw-K9=bS?_K zRXf8gv;038&-rxJ`OF7!nRw6A*_BID40MCtQQNCdt=j9FweI%dx6ql>kKdvh6Z(u4 zRHQ`KF;jl&=1$4VSSAJ+hE5E_lQ62NtVLao_v*6PiCqQ zabYcP`by`~g&y%uL*Dih`-IEfjNSS}NK0R{4r{)G7Dw!GGsD+X^ES@YM`6GwXEg~Zr4($;S1V^LNK+jG%YrL zx{&*yliZ2U4R|m?FM*!Dy!|+|VzzFYAB1G*J~GA;!)A00OQx@1OZa75`}pqhlj%zW zk1I*i7w_>(Usc~+*X?8DUEbX*;rw*$cDzl0eeSqG-Ox%s@z`Ej0MdyT^6FoW09nA1 z3?7>4GJb8^BPrc-%4Qdkm8vVMNWR7Pdb5lG@PEIh`~a#fap|izd&N4$)o;g5>^oGS zmSkcPi^slN?UgU5PS&;wZC`Pm$Gkl6ML!Q=K9mHdFVFwS5ebGNgy(Wv=`jvw-^|= z@Di`mAnA-nh2H^zlo=Vs@>uq~z2b6e!g_eu(pTkHKbgLjb^B}80ikBx=DszbCno%k zt7^Wk6%AMeK-`i{I}u*_4oq9Ze__e9`pJxrwhw8Rdj}}rZvRd!Z_g0%IPJG|zmIlJ zSTWBgDgO3i4uQ#7lAyQweB1LZV->hE@Wf9#^`(Ay8J*GuhQxP{Vf)->pW9Np0CI6W zK16!wwjhaKb%59)BlBrhJ6SP4e!NDa`GF_HH3Am z_YyOeeU+0)dld^qNxKD3(o1p29(KCZG?JrJm4zEdQ~QyeP|9&#C$2N=;CuXWng;5` zwZzyH`Sd$IbZ0Gi%;Bxfa|)|){mf$i1lvy0(Si6OttfbMAs2yWGHRE~{Cj^IQ2#^i zyjh3T$AtKvC@!mmlBgZReW&PBPpL`DUmDY4I-|!d4!SQ2n2jFXYXd2RoUwQs9NI>= z$l~cny-m~{b?c`c@79kgO4wZ)`?3Hl<_7?F+9dFq%~~Y*g1*2SgEjL(E@cK%gC-q8 zL+EYhuaKh*jJQsQhTT6vfak$cD>xDxyhOig$9we`6;bqmdeI&GF3F5KJCuDS$B)40 z#7O>tp`lc5a=BkPQ@HRni9L9kJ{8r?L@@sItIv=cOQ$!Y&i>T(?Or(DmF4=+)d|5W zfi@js5#R7r+QPv0Y4`kx^_%nHzT)mlO5g3iaH9?97QTBYGoL2Gbq`Uc;B@#{79%h~ zwO40B8=<%urQYxCWlWi-fR`hJETZ$4@-=-ZS<}URjZTy56w=ceZ&p_qMH!r?D|x_H zvPcXUch;N}ju)DqdR!AqAc{S=mQSg2f;thVjTqh5Mm^IEmDUn`cO441!6=X;LNxkm zd`6ups@Il0xUh^j($+PzKco&~YCvGMux_KVWICf4Nzk*n56${!8#lTHO`(H=2*O zI?~hJbVhv`+9{tPoG1OvuXz;s)W3olEw^(&@_(}YIdz)s`-JvHu>LKEPCpe5&AzdD zvtfiouDj`{@-V(_wqRe2EJ^m61~$z^LfffQ+sT8Vc`T4Xf`(4^%?Q?HU)wE7xOjyj z!)Zz(qeKv^BG`eSQj) zNT#0<%(=PjRaQWPONw>}qX0aWxQDIp)mLltebZny>M#@E3(yUeb#8bq!mRnNyUE0x z^@02^PSYO#&pJ-eE}ffk`%@?1$*i$;Tth=e?>S8wwgO+?v@drt8wyc-4-M77*o5RM zMp{EJ-~;XqZENn5chNyr9YdQTnc9@05fgy`$Lia^_DlvMeK_F3OkTWX&SCa(L1~=fO>4nc|)?f5;;B5l!Hu zL28^x&$NbS5sQZXu+hHGAnifhYyOY4zo3a9g9~TQen1N<37bZgmhCoeuc$b3vivZc z!Zu^tUd=HV(ROyW@h+7W&2Q9b91*aWMok~~r>)}5=@0oyRF`e|M|JvzE45&SEp2^L z3C_&MZ}W^EjScbDwyM7;<*&vanALaK?s_%HSHwU3hiCJMsmLsJqpb@T{BbC-z%)`z69K5(+FWF}^;AUCO ze{R(CC!WzzX`3RPM$;nx#n=pNcXzPz58^bnJvmLvKbT5v&f8{b{o}}2^i_Uu}C#JW`y^S7**iOo=ss)@%WNTfkUs;{YQ8-uPHkGHv4k4g&V!2?hr+Kn z61nGOrXC4iEQ@*dAKc(HO=1TGCqAA7D!h)9kNcy3g#;H~$sUOM&rU6VH|T#KKcC0X zS$nur%jaiXiTT-LHNLA^+2`WSH84YEs~pSIB0F;iF_Z|ood4UlXGujVa6Xw+|680dn)m;m z?|qHveetTcspqFv#^11C8_n6`R zg_T}n+<*JDF;VPj=%`%?I(`b~BN0WkAN~$xu=K1T63{U`2}U<{gS&x~up3p{FNPgKorih|7AF%n5J-!h_9@%jT;Mm_-*^J${f^aitWXB~(XgiG{z)`3U~_|ND| zqy$J^i1JU`xAx_g_VZ8p}cbujdY;_Kb!ks2vg@_gK3Hx$e^kwE? zZR13Y4JcG1!)sRu3QvxV^T=A28(tv3PdeF08yVB zyoMpS-Ldt}EZ5%Wh73`1karJ}E<=No_o#k@syEbW2EjiZ0|md9lV9X#@!tu)#12(b zmgwcOkB&ZV9+rl(TeAt4_Jy12GP2zG|GVSuDq_61BO+_i^qF6TMgQSvgtinFPDNKj zEOeC-T|GP6iaSK@-&MRDx0w-@@A?;ay8dZl zsJ4{DH&68^~X%o=FNIGbrk>wjgs;c~D zzBG~N;rgCk@V*dv1wZ|sUkWOp*Z;x4I_qQ+LdD&7`wR6L=MO$^;(HCZ0Z8e1D@IDd z!}{0oiQ?{Q6|Qmqyk@Y|CWoCp#63L(?au0XK(T6#VT-Qj=cHz?dCKonP9h>|Oehs6vL_a_|p>JLxW zTU4|17b=j(7v=5h3>AzNztZQ(SN2#y3!^~3Rl7tR?N{|6hcN{c5=@?`Y#MCPV)R~| zQWk5IHcNuF@k-Uv23+!lHG#$4H!Te9CL~xEw={?U2x58J4YU?85bX<=V{Ya3m0ztSFy*>yy5p1l6_s$7 z`WM#LZ|YlrurQgaq(0TP6dU$$*VW@U>Ynb~6##SYP|vw!v70%j-vcKXbPZiB%qsL5 zk0@p8Tq4-~$wlT8`Ck4OvzDzKRf*6lGoH!d{so@?Ea-ON#iS zObs3=S);qV`8~SRQ0gyDs+o_MR`Stg9ItJB1MnZQF^dPzyLls-!*mnBQDAJz@Y0vp&SrivgjBnAb| z)7{An?zGPm@SVN7qhTYB+Go8E-XjT>=K zf1VDNguNk^8T&yskpu*NbiB=BWczh#3Hz&kOyu8AEWE@Y@G^wC6j;Rm-)1+A_iulh zdlYdcE4^W9(Re@ka*4Li+Yw)*hticy$voO>0g_)E?_c{ebAOu~#0u~FIjk$?4;U){ zwusMD1!*qY!I++z-Wfj6aU|*!yc`8Fyd-!4@S#*@{2`ABL+pwSNFpV0UtHAwW!cX> zg&PQM8Z~%MJfs^cdDe~F(xye=#N2i%y!7ojcSDmB2VS}-$89w`TJVx~_EL83%4c&O z=N>6+ykje?DCESG=9UA_Q zgD{JN-b)4s4hsXCJ^-*bB&M8X_QU^o)~obStk?TM%S7Y#g0#4!XNguU{Clw2iy!9@ z^8e-a3l$5N%D9EhdP4g4r6m*6HA@F-MxuZ1pF|Z~fh__iLbR)H|Mn$`0WU|#(b6KQ zwHE>FQAEJw6W6i>OS8mU63YtOfFvVTEiHkHqf=??_yn6XI+Yl|ln~FiO^ApjIHP0( zEh6CYiQ5HQbS_mbEsH2v4d5oLM8*&~lpN7-Dxoc`{U!p=+r^a#4Pc;;Vc_hgLO_u^ zL0Eiy#1hS4a~ZL-y|M=Z6#V~b{!XKEX(|7}_MMJX|Dw)l^}R$Ddp%lx9i$PD;G8Yx z#N2u`lwOiap8f%GWJtr)WeHveTG{qZoI{oSTl&r+k0(7Y7Ni4?kt{|{Y zD!7#yIc$aVRb}K=;&EOgB6wK7Do&Z5Tsld`Ql}9EpT*=f{)!K1Qzr$tU9C7&e8=DJ zE7fPkL7Whu_9|X=olEvu;m)kz^ZRVtkI3&yozo2A$c# z4WuK7|IR1$5`4A&37~!^IE!XvGdyFkcH)fV;#MMVF#=mWM$R^{Ko33&FD)8#T&Kd) zHh>lD*V>6@{yH2ycyR>vl&dWcz~#)sEU-9d7O4FjOaeVGt*Qeu(%@U}JwBN@Y)Kii z10?qJb~N9AfjYB%73O_1mjY^9XUV*eNLbS3E`yo5zFGsj3W_Jx&bKV2No>;6%$z16k1sb91m!eI^HO%t zR=KoQ3FM9+GH_f&nt>nhz1$CM;*F1lVsilwkg6HiLyO&69Xy}TZLylqTXmH~ztxlK z$5qs@j`4}SOFfhK4jAtUg1fcw1X5z+=t0}HN6>Z@w-t?N?|$$#3}^Fu(yO6kEF%jI zGA~Yow!F-x_)(WlKQU`(SP}jhawg7w`Y}A8hATSk6Fw*kpZz(-ipTb)^o4NHB&kQ#fTXzyT(3dk+8Pk}UY?Lj z)&CAEONhWPg}{l-{vGpWGqK#|%Lzkb)0_dMLsCOl(6(g6N-1;PFKzIb$@s}9b=0!8 z%q`ZYX?DvAkRuBp8GnZc@a38O$K(Ps8X z4V{qbf4b}2bp~CS#t&q19gbA9N*AkEZChvh3tB?Hk>l+@G6#SHAF zYpGxllf5J}>ErC3E-Jo|h(iT2BS;(w$)RJ&n;tqc=*PW?mFZ)jH5}UUp&*66=kBIB z20#oCZdwqHf))&~X&XJRxa#!ItFKbBN{M?W7A}%joW>5`=Sf-0?;swUJYKTgR_qpF z!%2Z?{53yclBs!{i4t)|1OfoFAF6n{BzQLvb54E^upg?bCtia%5T2wRCHq3o!8?QqAH~1M8!0; zyZ%G1G)Ma>WQb7T@k)qz0J^T~TCSvmbVbX|tu8lBDdHA@Hram1o4GqU`$rrN=_?A{ zzWka9TneOk%0uF{v!Z$}luuA2 z=S`<^B8wQkT^92VK*Tspd3XO@n6m1iQRPdhX{@7dgptXE|q{VfH{pT zfz%_?h~B8EPX;eiRVp)>btB&FirIGI-*s~XZq<-P#aXS|Usudd^&POlQ@MrvRjY+l zyzY;36^YiHQ~SFrqvVQg>h(=*i1c;8W%mBM;+C3I;%kz$HCi?ulUNswdfvM47TBD| z*TuUK+9;~i*4kQJ~wp0 z&Rlf;B4b+wb(ph>b`R^a8dYc$zJgzZWH)WNBvL{@IZx|eo9kwKEt^NDiYFbj=b14; zB3!QO^wKAvRsGwH+m)^QP8L2+dhg7!MQ-tO^1XphIl$cX^f(tJYR#xr7JO>CO`9~~ zhri7TKrAzic4f40u6Qi?Bydv++Oq0XnZi>!s4X$3NCCUIS^j=9u_q5-r$;69h?o(4$Rs!`;_7E~~pX$Sj5i&uK!M8@m+`~$#Y{wz0S3WarK`WFNpB0*SJs6xMiH?)_(E#i6c9W~@2 zN0LQfyIK8R*xoH%7_l121zS$MR}#>ieGK&9C2@fSnRuMn^53Du$MD zi}A929JYsD_S-$!=_@weqSGuo=YJC6;55#pi=5a@;JETaskV52TMzI5I zV^%BCdlRsXMeMQgrc|AnRu$C?(KO}-jn5hhP^mEDT5MKm*WPW}e2lHSv52nv&1HJ= zqRiPJleVBTgdqvAND7iGGE>A)bx9Am?<`hr#9+KaDd<&Pn$=A0BU@T=(ms z;`<5*)2(D&k)Emjb(A%jsD3P1_FsAz-pU4mhxWbqQZIce?g>dHo{uk)yzBeF#T}>$(PPXiV{O z<}y}d6W74K<2hC9>JN-|=4^mWQkk0*7RQaTcB3x3d6tL4Kk{n0kd?^7;XL<(zX*ku z`--YE1BO?wI9M&`4F^J_&u*wjJZX?z$I6@}?Tg#$-BnwI_x2#0F;PmA;HJ^?eOjO+ zN>g|`>7Pjf(n{yy7pk47-wKIn>((zal!q|%bG;F7-A>os2|)J)kav*@yZjZbI!i%@ zXxp=8yjoSh?q=8dRx^)~%~u7CN?Ixjp2cl?zW8S6_7!Vh z1Bm?Pv$D|S&al}boT7?Dv&(!N5um8$hmOmRYHDDkg_LowR-1IsgyZ!a}J^A76D zk5lEXSZP!PoEb!-cUN%IUW5;>2l6@D(tSau-7v;Qf>wby zs}IIY9u)2t$=&o=yxNU};C$g}{4d65r7kq*n3n9Wl6r!+KwE2STc}vx?*6!e^SV07 zcsBbq+T5R?qdFe8nOQ&fwcSL`j=W-C_z61>#uNm_Gz$AOomiixz+-(lCj6KQs$-NN zy@IBM6>+h5_&g)Vl}e@~CPB2EdJ#Ke)Oo?FL`l&-6E>88-|L{4}!uaK#b# z3)i=>lG{|RdDf;V*J~No&53jR;AmG)eNfvzYikte1W(>?aZc1hb~D^G?sC((orA(- z_&U%ACw?N|wxshhn``R%FO#-SG9ckDs@XYFHAE;!oNt|J7&?VtsTNY-d7RTAx=T&P z{Bz8}OC0Qb1D+;EYq`#z^eqFc(!<>Jm@*f-;cAzKTy-GE`9uH91y^Q9AI{IJKCJfp0&bX_`NPo5 z_{HPCBECWM1c%` z$zh8%kQ6F@ya5W|aRar5-z;#?ssSb#XCy~h1%s`#uf)Q!fjX&uZy!3`?RzZ>X#Jr? z?caGmfiIdYH)#zLo@Er^exRKso$s%leFZk$ccvjHT?@>#o0u$bSAop>lVEB|YCof@ zuN`3)1YL1LJlBQ$i8Al>&;TjHGC*0d3QXS>{GoC`v&09DR1~dG&UEQCZV{K6^@7$E z(JxO^iWdSqO1u`QKL~fpG#E04zbW7>TAME!rvejlq?ftBXGiECN3F(?{|i1%WcQvO zx8SqieE)}|)_O=5fnRuL>-TQ6xePbFN)^QDdLS6biEtId+*d*E2R9_1B^!uUSqs&P zLWFZWoiNhLeX2jKO8j@Y`MjGQ=V{D5L7|&DyUtDE9Sz(eYq`?Bj=UBb4D@9bUl5u) zy_VghcmQqEv{~VUEddYKq4sbd_V+Pg7GppZ`Ha-#%(=d+?3fOB$VPs9-c3N02lyqK zDfID7C+R_7`tt=&xx~H<;0ve!3i~pcFRv4ltS`lkziX6@!+2gx`>14QXffq0&rcR( z*w{G=6Ht*r!5TFxS-j3IrnqL9_cY+?3TXmQPlCYW#x8S87B7h(56eDI7Pr_V(56AN zjf)T1$KrSRQI?F6km1R$Ux-rPX1{nc+zS$5i zS3|??EHb(9A+1sQqRQE|(8Ph_JJ;HU=~OTn>V|#PO)nY^9}!zSZ;%X%b=u#RlPOSM zc_n$mmAF|Js>TX8mUx*dYoXL(q9sgJ2OOuVoyN)ZH4x|6k=)G9>DJe)c-fh=faeOX zOpk}V3|Oc>z4B&$s+l3;90-Awi0HMU-$6cC85=Wfh^2l0EXl&K4?&DwlkzY%g~_wN zI|iyj%v1ST0u;-2Zh7^imZCYWZ-+cpoTPnL%+#b>{3>3QVSF+Omud)FiBa zO;@lOo0!CvGAvQvRQMx7cCuVXcaDG0bs*9H7-kVmDzTZe-J&f6@3t}*R~^0%6>OKGwBJSIp*byIZM+s z-s_}h&2knT3-oiXb}!oIe#xmz*eLUqD5~;6%*N|@2Sec9Deju9^5<9ii@8d!e7?!@ ztJ$vD{*Gu2F3U*>gSJ9 z6P3T(rWf8HpC0vcY6vx54pYwuY*ZDmkZr6}AE zW`ln?1(BnhJ}l&lfb3(#l_2rvxr>gCuKdZy+v@kq$sl6EMO?Xv&xmUnw27yNmt&s* zMM}on4bNGw{hXYNEa_6?;T@-bqvR3)Mb*TUIe2F!wgj;OKTJ(s&*Y=?zsh+UtJqj- zh#o+O`6CNt8poG-d0gh&(-XK87CKL}!@-ae3fISa+A@dheq5fL5$4v6khV#R!}5HL}Jkr00k6{>mE}l+hWG^{f-%IWSqV`OZ%ez1{(Ko%@Aj;V+p+ zl!a$v?wO4drm-KUAun^}597wN4?TZaH4n2bImzm6-MR3x=B!^p9aH<#uCq7vF zjm{?>PAh3D=|S}n_JfY`nW`svw|{F;lsk?ZyJ~SZ^*V=Y&pu)j-S;mSdrV;=S4q04tT=*k^iS(bTOJK;O5T8#NROu9?uRVZdG~-mXp~H7xE~h2N zM0}ca;fTljE!17%a$A+-ZK>}ZeeZz!V2r=+62Jd?g`1bRtU8#S`XVKQ5^hCD?JL|$ zQB#!tktkS2`pP!h{w{yB`+KiDl?3?Gk z&Z<{90GG;STaYZ@=Z|%7_MC4m6<`x(xT0p-v|%z{3FzT;Oua1XWL_-=k2Ynfz=WUT z`N2^yV>?#N3N@@(o&e@uWJi<%;<@|_2P)Euzh%+jQzvo^-9>$@Hh(OFi%{Z!V-GVR z``|9BK6W{?m(T~Q88re^K1BduX#YyYucHpmQf)0}t9Lozrh%QQ1QlM}S(L1}W{-1U zlyA2H<$8C*x$hp^9h_I0YEDwP#4a?bLe(^oE_lGAS;TcXP%J5&c?E?pi5KxnL&!y6 zUs2%v5FR}vA@3;DPiD@>5_kY}*Vo)Zui?q+2kqsMaNp&|%vgwMMDzU+5g6R`w^|nY zhq?UR^X(SPH@Vi@tG|bn<%i9w%1kL1E^ib69%G$Lg^kX6fD8V3x6XKh zsly!`A8dRKqv7GWhJ)`bbPQ$dXjzYvb?#C(F+N~Xhq>h#38wwp^)G+MkY6t=m6;kK zn;fsKy+$Z>WozJZo_I3Xo+tgGL+NZH*=7*L;rQe~#=WQ1Q-t;8IhUJ@5W94fb0tO3ecnwM zwz$qumOJ%-(BAMrpekxG;_nj$&yP82P#+fyhyH=5{&7>;$cOv=%f#8@70*PEne>q5 z=)1$^Wd7Z%FC1F=g+n}}@ToiGMfV#kui>{5@TD=-k0XrhC##+MD@F0YJM@A6DJXb; z$`Is@xIKD_Om!sDs|?*AkNM|*7mk1Mw(X?e`(-!V~{sHLi?gMiQW7=5T z^~3M}`6qp@zcvDEzB^>G`|QQ(ueH+y3pQX33e_ewUP01-kuyD8`a;G(jGo)}NFoV2Ct1qi4GIHc zo#qPUW|-w7WdrsPTIcBQs5%CQ^W|l;)}Db)KEQ9By}}v$7WW$mlWC8sto>huSBmlv z$M`(L#PFKuAGkc}`~e+|ZM36^y1{OGv=wW;i3^Q2ETKn#SjL4lo^#P+1$v5cVcI?H z+jqtKYFzksfHkT91$u3>Th*&Du#Nq@2&R|f{U5zW|4HX! z>;Z?SW7P_lH^e1lAX{P5`HxyY>gZF-h8ko%ALQjS66;ix~T58iJm3nqV# zaU=BQ#(T%Z?Mo>3n?i^3k22?uauXY|PL8G^GbK#C6$gllPI$y&q!J;eJIU7_*|vi8l zv2N!$CmKdd2Tri8HK$OM_R>EhrEYbbGCE zCX9is5le)$V{Yacj6zX^e*h~?V9M1Js~TRGa-gZtxqugw>AtCS|DnpPm4y$x1a4s@ z+BVOB14W&N$hw0Jt(S9UBWkwn9%^3u3D5b1=0axKs^Hl%;Gvv}ZJ~o=grM!j;3}98 zOW4xj7wh0W@jCg9TJjt%KdfL4Bwc&zoV3^}EkN?Tcd;Z3vr3`4vTs>a0e=R-2j_ne zXW=Q`atw1ftn5ztn=l0V>)=%=O0S+$P;fm`Y2}od-{~-~AGLt66H{~>n`?8YQ0t%8|rHPau7WpR$p z23K&SzTsp#H1k{7q8U8fhchADf25yeOKZ|pQp;fq<0`mwR( zt35d!2&)laS3gd}S7{LSU9*ep<(#JD`8iebw$t!a-l#%$99%7oWBWv&E2@mvEOWw_ zuan}^)wP_qRY;D5ojEGxq8AXeWDLibR(XX~)^B4BLwncpRW?8(T^poY9_XzSGHtm5 zeCNGGQvQziXavG`UZ)m)` z9Uock>6Iph5f>_lHpRD?k6CY+1xBRy-$ZmocacJZa#HzwdVmym39o$8*(Al|*1=`&Dh6E;{U59$qIpA;@6%FKO>p?5cSbblv+isUO^nAsNoj8DitT6L@4hhb|Eflr~s8=6m`L_l%rg#=5C zTI4iRe-3a6P-}-)g#V_iX`e^HM$efOzH_w^akN(dVH0}8nIn^%AhIj*?3m?bG|x!O z_qCib$q{td{_%)j1gAh0iUe<`(|8g;1M$qa#CbHetk zoX8m1g;8ivgc~i-!te<|u`Q)}h+apm%gmvOzifHL%KwDWkK}s~0CP@K3 zrm}yo4hMeDEqvqOsZGVcnp;JqH+IwLF2v{@jc#=-TAhabXo_xSG&&tMp8)!9`sAX+ z{t#yWWAg|Tg)%10MK#5_mDQAP$P0lR$PA8x&aXqrJ<%x{vb`nOPmV&`pOB(^1K7fX z9Da=M%*t(xH}0Fdw-qY4X}8zs^JjQ*oP33T`_IAi3EQVCF6-k zsUsjIIO7LemQ)=9C^{jrb(5sQ0o0~r(wlXlV5WFb^<3wH6R=Ernaa~t2?sH_y8;g7 z{VLu&T4cz3M22jRB12x4q^}A%gsLPnM22`ohNS$B1Q|YN7z1xW^Zkb;OC0K>co?VQ zSE~6u>rgQ>aGF*Z0th$XCd&i&g6Po#9%03Pg+eG!)2V#9+1cI9e=GMoB`2IX*(u=f z$L+7@e0Cw1Jbd=mz0OsO`ENb{&EM-xL38=SV&{SNCJf)h&fW$0*l{yQZtoDMS{14K zD00DaA%e)1m?rL-XN(Hx|At`NUn^M+SfYK-67~`5F&Gfmh`@4z7Q=bqS_~CXIt#HW zZz0h6v=A>JZ6RJh`a;O?fwtO)Y*}3gZXdTmm%9?lig%rcN5H4ZAbrncl*U8!hA0B} ztm?;EzSihkpL0|}5-GG2F%*dh!lJ^MgfXPeD!);JSnxdCzA9~>k?T!Ti^z=VnZ|F^ zLgKYozmfHi#O`>Kt@4b16qA%$8*1CONB9OXj!G(RX2B~1Je#7AcwkU6#knSY!Yf)k zt0aO3UNNlYp2yi}BSnR??s=RdHIy3Ki^O8^r)M0?CVkFkeCSq_P4yYSt$tQ=nDgWk zWb$M8{29q%E*p+WUlB>21>Tc7^{`YEw#qZX*3U6a{c}Pg0%&ya`E{&fEyGovg9%h$ zhV?*c374J&V79aG-{U05RjaA zh5C#)DOnrOM0ssU6}DMVrB)L|REfKieRMtR0M6%u@5fny_d7$?m(IzT&g`%7bzHh| z8-n6i#Yudg@8LlHH@63T&wu^H;8RYa!b2WumTyBhPnUCd?^m@{B8;|(%XkQ-h_Mxd6gk=0rE%#}vhq)ZqQ9VfD>qm~^J{A}?4E)%^(|2HW? zagNd#Mc}D))v;h0cZO}D;2<27=tgY;5UdsoS#q9SiVmkO0Ir#4KCb_n{<5^5#dVI_ z4d4G-sfbP>!yb0-LdnLtJl(W5<%g7m{xj+bTE$x8fC*W&!j)P2v0%Wx81gRXtPH99 z6x+LlzB2%6TJAdm(=kJrzEAtH57T}_-tQSREPz=|0t$UuAC#%dmk=9_zH52kmV#60 z{;Q923jOsl%=Cy;sQbdZ8!>VffE%~|!J(a$IV)%nxo;V=S)3!AmMqycLpI^v5>ul9 z(v(2~J^u+Z3*V&Cr=lbM1q9Qq-7|NnW!JC=zY4y0DTulRr={(O+)*Lk6-UDdAHPw& z2_73q#d28aXQyGCHhYfa7Vymo&3?_k{Jk5E-i(N&_hQZq*~Ofc@lMPt|ldX+==Be_&U(f5xR}6lwoN zyx>C?HIEl`YG=UhbP8x&WqARy1sj5MPq(?uL*{!w{4vwW+M^lLQpU{`8N7K{4!M#O z!c}Bb#p}3K?GPlH?d;$w+F6Q1YBt89@RLMBNBmJ!u>NA%AmS1CTes1ph*jvV$(_)n zH72QvOr{&GmC(={K1G<9>_V|V6YQJBiFEc2q;*2A^nN!X3;>>lbXRl|`;4JPWR6Bo^<@Gj0&(KZ?Dns{~AuCTz*%D>MYjcknWaDf3u{w<}G8Ci;$&IMBRt- z0>=1A4c{)o*%FbE=TGpB`&i7#cZJKy+NJFmJX30i zC62&ndlS7C9lCKOPt9+Fa_6`Djf2%H-A|16DZNhuSxf7W5V!r6=sN?UjD!7S~Ei2rlasdfFf(aH18?FdTLlW%RE`*t0#B_}%0X2^7i_1{cJdDUs1 zZvFeHw93xq6PcD{PvBFOl;oyOnZ-L7f$}4bh{1ED)Z8h24o(%Hj$5VeXOp>X6hP2x z1bd9!LmRb^b>Kfk{ry|8j|}h_FvNJUe(K-_C7m9qJk;^oeN+$N2lK+%o z4~F7TpmWr)pbM(JDI&AK|wG}Y)2Lg|3wSDlxS%tkKoW`p+Xt3_B~Y* zI*oG;&G*bD3KU{wtA0MZ(+tm%x*+}nzun>RC=kuUY1)~aOG(yr9?gZ z*B-b6y?$lwG2{KJuYhzyhb}L&83oWt9sX9ltom+lR?Vha|AUUI=P|8?cu+y;F`j}QmnV=B)yvWEl8u2 zUBY>|INlQ&&{dZr-Wk6G{>WCDXBn3@wtNwmai_tmdiPe$-)4}kzHrKSh#37NaTH+c zf^YFTxCI?1`+M#@+8_&l@AF89kFUZmqZ&p*xc`-T768QBv!VoX%fRX|1>-B#z=1Znj* zEDvCKO^$%r0Va^Z9vXg6SIP9xjJz`Asq{cJX5rB2SZ!Fzp=KV1?5WmO-olt7LgJO~ zvOiX0BzWk~_}I2=1_)Iha)yu8pVnsn--S0qS-fW!o`X|DUgGGmS6v79%%WiUbcq53 zhDN1sVzRfPxc$btPk9E)-O6r50>Rz-Z`LKk5+;!4HzbiNbWJe8Dv1j=FaR~8(&#+? z%=a{7`wS1TU$WqGs7vkyQFiPx{HNJ>khUXBY7Fn!x>ZReSBFnIA2aVriulLiRCcuHUf8HS=36;K=M)7FD* zyqEx0R_l1@{-2}lK7%k|Cmll$SP+FG^j`p*SG_E!v4JLNXw;=@voro47%Md43RXQb(5W&d>50z&HL%?cCmb+5N@l+2_aGvh;K>Ffx$ zm0^GQF?u%frx6o%9x&%u{d`0k&bj68tj$qzfYlMh{4f{rpE`c9iRBn3TBt3EPHcx6 zjcYC30=huIJ&#E?T!7jh%`;k8`2U7rV@gYHGK$kcl0sK_xvffF)IqAQ$K1{$Vkump z92&z{_d%2$V+(a6x+6?u0BoTk>W)}r3*K^is~O?-pcQj(M8`^RrTMckUDhP#F~(qm za*1xyITW*za44^4=VcS_J)V{*n27&|7pG`dBgG(W$0lU+a5MKjZuMQxGW#(M0gK~{ z*miPuU3Ro~r7@$kq=3duC^9AuU}KolU^^dnInqY4A5}G@7Xv!q7!YW;6JE^cH{TJh zZRSiRogq>@%I7C5+5p&AHr~gNHdC4CJQWE;LJeo+)*-SJGleWv#!lnYe6ksJqhE5{ zLA?T5_#04=w_b(^CMvUWsxBC8uU^5rV7CV)8x19#3*~Q+uec?=jMa{CmsK=v;yx9z zU>6&3%Ezc?9uZ3H7kFe?tr8(*Bio3kcEjR^32lC4kcgrGyQq`02%**>XR(MT(Hd^a z@5>fvjCJ%Q17mX3gFQ;yBY6j8G9M*_86t&@sHQE=?U#}g3shGjk``0#Jcba%?4FCom{3adky{bxQ0|1cS8Aq!!2 zWLS|S)}}7%S%5|riKLG#2)98LJ(pyPrgB--dbqW=O%OKjQOi@tYRpN|n4i;_pV640 zB=`jHguh{)!4KCRTM*3Td1N}o)+y6rtAJL8P_uQKJ@mIcQXAD0wKlaZO}=^YCcbCS z(C{@N=q5h=cou)Dv|*yft+F!bsPX_mAn50n%iZ)P11)oBLGZ*yR39OH$YdM^@$C-2 z{Vj$jepXVC1##L?sTl{1<07YSXIOuXXq z->Y%CN>SgEOkWIwbOms_W@ElFmJ%U^C|dH|EQG#snX~(_pvj7bPSYy+*)lUqbVcaG zPRIo-Z8CE?w?OS~FB_kpr1F%b`V`cju9#FeaYz}z*oZdsI$Ebb{sIS9Fo=@qbHd41_keEYVX{60Nfs`0c3rFX4;<8$bfd>2Q zMB;q1usSzA1%Z_Ju-mkjD2T4HnwOImduzVqRhSUiy2*?>j)2V*i@fr+ z*sz_3ReFxz6$NZcvP!al6YnTslRUJoh0!^JdRv$vUNa7h+fxgLfv>j1n2VDY%{4`y zE*$a;*W>U-T1B%YI`)O4z)Fh%BjD$7-Wr0m5tEEaQQGD0BUV!3z5!#Sdh}x&GNNdg)Y=Tf9);%UnYH7zf|NbwypF z?jD4S!_WTRbe=l_U|aBfmE@!G1C!~oMKX+}r}21q z@GlnOLehA88enY`L=Q(TheeMzM=$IS?o!K&g)XTo-Dx;tHrf0&rDSeN4F1uF zr0*8(@e=ZOoCi-dXFW!*Wx<(9ah7ur=qmUZE%&D2cu99E3x*7`Ef~uh(~SaRnd~)i zTf%DfMSTuTs=O+EfJ~`m`5t{7mJ&DkI>Uex>Pl>g;%v;Gx!&>;(7$KIBg5|!?>LRP zW7WFEt61&KAw3TcwZ~rQ3ht$87MR_^(-#^cVANVtd$E#+i-_A#P}IMk9u)jzLAj*( z?@$G=0k-D>t@bz`ouU9O%ldcoHZJ-Bdz0l8#fsA<6GResh+_{75;qA>`&pb%+peF1 zN9o3NXe6s2?ah^jmD-EF9_axT$hW(4b6Ot1|;j z>GE1z^+#wG3o%f42P@8P`StPc22}-L`ulSR^d-L3sUsh@Ldp&;&#C!{q!jys6P{Sox(THjT=<&71 zF4t{5fUrk$2M~3*gH+HXF@2R4e;M(5cq>0CzAI{v8MVx6#`Sopm-160K@nT?QoJZi9FS-e;(DT|s{X!ujD%3lT z?|}s!LdqVd)Qy{1#VuUnR_&!|9qGI!EQ{+g<)-c2zd#$LV*Z_9@e*$&6K{qyBf5_f zOhcR15U1hqt>Izkz7~dx8^71xzw_LSxOeto#ILO1Kbn{*)TqkxrO(P1?X3tY%wJXh z4haq^!L_Dz_o zU!i``PB-yVD$yRE3hZ-9cB)tnN}V6HWU%BEhA@9BL39Y1& zFU0x=<3g-#}ZQrR#iRT@w@Q;hx00*DYV;`UgdKBw>k7!D>jo{+h#nJ>`HKf_Z1Wy^FxhpR)CRgMm{-tT|I-VfqcUtp{L zLZtCVSi7+j^uC6SbqY0SbM!PoJD zrw}Gn>FR-Ij)fGX^K4--p5HwG>bLtT~m^)ve|*L`99e1l9DDHF!mlu@=ST%%b}=E(WXQr;|iH zem9=JNC%_MsgBKyyyjr^&g{YHm+}rq$0LBeTBgtlcRRaDbF5%$)b_K^WU5+V6jN2f zKGvqJ%Dsp;62CX~8HFH|_^zC1AX_stM0FqT_igwr)f+v@)C=w_zZ0!3W58K2be2?+ zGK_}LqGqi@N&{gDl3&w@?zn`s`+4{VpV1Q?baiiY&yf0*Q(dz3DM9|M3i0$<yOH$4p+p^rb0`!eY(V|@GY-y zy2>wH4F!}YepH*GyG;C1CdzrAG^MOvv(5FQib z%uTxKaNGeC4=?3@1soXB_8&-7W|JamIMCUlUo2yUlaYP=14mL$vjo~)#(~atvnX9d za?@)#2%e4AztD0hX6Q=3wf{j|mikAi){GP~hK`TUmrut`b0MaJx!JMXm)v!hcA)k` z1PLD?LbH$6msI&9^4gMZJ=|me7sHGy>6Em}IIl<)Q~e0r!&DHdP3bl@Q67ztDs6ST zOWXjMw*|!eMd8zGbD3w<0gL*Q7HJb~IP(IH%)c-e{OGvmPlOVXeBHLp$LK21E4dei z_hWefAHgE%z5x+RkjAseU2rj5AXx996m)})k7e!07Xsv~VElOGT{o5SO>fS;%|L;E z13~+_4*`8PXOtSc@n@BF&gSP zb-C;9DYOe(N~uf8Idi`%kxj7_kkqV?b{qmAtj`#IO%W~K!=ux>BFMQQ&(+fhckw18 zyOWVoRo^*0-o|2*Y%{H@^y+tFoujG}k?V_eslzxdjPzBdSMTo6F3VAqJT3LhXKl~i z%N+frg#vFdk0qBRQ=F53?q!V*ZMU&h7FrRQl^Ov9ZS)- zp#!uS&J^Qc(+1a)*!4W&dF%Of$|7;z`XGN9Uh=k}N(W{x17WiNB`3nYIhW+j%s9OW z=NrBGW)NXn5i~+s2oPTaKy58mV>t35?ElzCLGO*;e3O)^?9P)T#l0}e?>x;rbGKrE zpUCyUj^DO2CNZ-kh@;oJyZKV0uI{|_oR4zsIn2U!f7`k{fBa*^@ol{_3p9qw7xqkM zBM^n-d3^;D-XMhxZOkhC;@J-i%(Td(zb>Y7%n9gJUZd)v5JtA9j8c=m&P2vuBK;p& z<&YIJ@ci`1&n9cI&BSG=a8#MAa+yQ}VxVS&rUPF|NF%}=k9O#sUZS4STE5Hm9&@je z;anO@2Bdj1U2+66fuf~{aSIcI;ap{CWCg<*{UUf3QGE;VI1c3Lw@L<;3y1rG2#d#4 zXBpq|ha^>?qk|3cbOZJe=i)G=TpJ!2>$kaB5f!>*(4PkaXNyd@Z%HH|6~6Wk+)C zoNKq1;dy&@7TYafd>#UuVq>Mq9$-4nHXWeF+<#X|JZWAgQmeZUvHf@!;yq99LtQuE zcf|U}r;(e=je@Lxh6uI`4Y^V22RCxItGg)pT*m$hw5i%2Q#OiT+&!$E~)* zhsZ=Rb%DzgqwOWZuO7T*qJW^*L(w~p(QlQHh#pyfjMod+N-rRbC(sMlQAWxpW_~>g zKs&Y4l5$Mso=)zKt%~jotCac@GmX7E+I~CBPc;mCM!vDm59{w{7U^cqOcY^X*;>Pb zc_f`!?nGX>=ZF*f&!_Xr7+V-57=SQ7jy4YW>+&>=Hf~pnMaGG1{|t`d4*55<&`veQ zXJwslwXckX+$GI|xJ983UdM`u#Ueu_%+8fCyAWZfKIyCD2?Ns4Rs+J9K6`=am5D=~ zTTGH|b^EP9>q-<_W1U?QcBYZw51yX)QrSv_TVw*-kc-($0jbqwVV2ov+~Ti`hq3O4 zW}ja6mRrs^HZUAgV;lbDv+S%+L{_?%U|O26)Dh_xJKbe^T0;d4Wa)3E2f;M#+5pDh zKlf7<0E{nvlX6PCxn?Qau@Kr(5idMERPs%27Ae(?L)6FHu95;^qW;Dex9~hChJ$-I zlJGhPOfr34B=fp)_HY|X(AKY- zwIg%C7nWY0nmh-c64~ze6PTXX{qv?XQJbOrge)Jz*3ISTydt-wd~EA)cr&IV@J#TQ zZawM@_gO_qN(>L$)aY_2`#F#<*_02|$I;NYZYqn$EvP869G=ak~k@X7!5} z#`B8L%uv&PEAyM2e6u~JBsw^)yOe{v~FVqYbGfhqGLSOpKyB-H`6bKP>w`yxj zl4Sly8;)Vy1_r$Pg^X#~?GwmtyGIiO3R^H2J9!>SMdyX&X#Y8ym^o zM#l>bUS@(K-{t0WPA-HumiceJkKSCwe$CF`k6$={CW+=rhYfrnR$F1tjDY^NES(8( znkqv8b2r=zvv6&yrE$W{KCqHo&Y*s$f0gBQs*=a4X^ zm#;!eX(<|7P|31YI^F-Db1l)1KT9g-DuZ+=mxx8PN}3pG{_G=D^0fn1o1}9Rv&$&l zKvod`7Y0VvC+R?;ksFJ6J z`WeCC2gwUm1{7AA62u}P!4ws$2-ewStN4fZMjGRNuGP+GlLwbBK|6Y{g>;))55^+< z^-&FOv$5oAjoBa(pBf%*dk(zk=Xs9gpz=j*Nuti;AL7zCnDR)TXX7GRsnszPQ1oYZ z+1^;O9g+!BEJcy;ohpjdf?Ja?8E~(XRNW@MjG+5+iUeHv6E*}gIgXPaSz^IppFDW> zRg0qSuK}O*o$D8&?o8qb)&5&fp=9LT6JWmj~MBs|M*lWmi3ITEsZ*Ob>J1->I2RIW_=YYF;mi7Do>dedKX ziut~lGI9uT%5p4TH{f;}u|mX52;a^13*422+*lgXuq{+)Q>}Cb%KVAD(t?c8sl3D- z;WK(EiLzm$r94Kt(q>^J+~TUNo8+CUo1?27Sp*EbpzKDN8stS^hoGr~$R<&lcJuRvnU)}uVs7oXp|E0U zwe=K7+jpDt>is8ebr2MuSqz&KExTSrkru*UL4sYW{w;%K+j z((o4OsZNbAn{PN-65L+D(?%&c0W=!I?Q;UC31Y@RiLc!U!^<3sZj#eqq&KGh=EmqH z-*(a>_dk~)vNlOa1pDI_;ZDiZ$I9@hl&y$%d@>+n{Ca1bjBkZtL~}C@Xurb6tRIT| z*O^G>3_7GgT^_4?4yf^4+*RY4AW?2ciMB7XHJWuxcU5jYsAq-o2k$Nk)H%x6!*N#L zusQ4xx}d)U?!C|D_4hU!1K0znMk=PS7&Yef73oE5)U1B>oHsI;7R`bW?!GIduU2uXw z88;z4wn1__^RmYT^!cz@nT>Ds8Qv9MziZac%<2LK$n774{Wd%Yuj(iKnrG+;V%6}& z%wNz9!}+5hY7W5)dVIURTs;*cZwV{swme`dZqSGKx5d)ulHM64Yj6vTs+rOkJmh#OwWS6?3%t^B-ns+A6JG$ONgk0 z=?T&o_?LW`l0)=I13`+DVi6+BXwfK`*YE-d-K|wRGOLHNSh{hS{+JnyIQ^>(Ri!>) zX~=0;9qkw|uS@-#EiKwt-wG8SEc0Z#q%3qsnYZqZ5<1Pgp{)L$ymh%SPGHw6&okd& z_jd0%j(0?%s;`KpKi4D6wa(~o3%;PC2KNXhErKQ4@hV_ z)ZpG^{Oe1Im#{BCVp^w*d}o{7dUNE~!x)Fcm${P~)ENPhRqa*3qjz?25r1kR{ipC8 zntwwqHL_M}e6_5tx}5XF{q-{kYK$XLKkT()P$_P{eQn%~j7|DRs#PWTS> zAqd}weuKwc*I_V9^({ z4(?0mfM+g`#1Lz*(i5r-+j`$sbtk{_e0_n2RFNzqfaZji!= zV1;9>Fzc!mIxvZ<)FPa+E!?YPvnyPy6`m;+XIB{gjOdB((9orKEOMn5`NX_Meh&os zHU3DzFFU2j$GFhubL{YvWvYJJ@q$22ttM@xpY?6GISQ~!o56u#iND6BAEvEq9)5`{ z&0*QhLZ2N2Q`-3CW|#D6vyX`0JW~>iS;jQM2Ft?4iL%vACsj+2DwHRxqxJNN0pXhM zxn>CYOpkRwR@F+6+?`sn35&jJc69z_;sW5H+J_7|zQ8<|X^g3Gpg*yUwp+NqZv_rF zw{w#QBATFY=#ZMYvCiXBPvJ)}E_qv<6P-Z%blK2m9cid=2;NMvsw7OWxRJ ztB}S25?*G$Yr@jjZK@$tzEqi;8{LDHg3bIccwfIZ+OGUS-Kh}x-9b~cZLIUtb52JX zk3WFLK0aLn!k@S0c6a;jOANKZJxg1pLUU_t^iwY~uuDv8$a=}ZA6F1X?Pv|=(T2zsm!LLLEJ zBRNno5)a-Iyv0i-XD~hhYpVwf2Y`X~Tj>H>{Ty@iPdQ5CL;*PXo4L=G8-Py;`q=`T|R9|u2f&6dr z)Wj7ivRC+KH@xm8B$*3F+JzF*SY{w3Pt_<8o$*UaGqVUH>jU2V5f;6@n1dH9ljIeA)L7jSa* zmGXQXu5J)!lBS@FMo>A?f;1OE-Y7V$Z4}cr@Nv@ z&ocTpA z^VSB6d?}eOr|S2!EmM=}i^y-=H{_ZxCQ=*Oo{=6zPPjXp&`0qvjMDxbmD``Xr^!y% zEKMkRsD}*@>nwR1b%+BTnV+zHx%JfxJ+@r!`e$bC%sgJOU+`FPF@bs@A$Q)<))mae z_Od}6=K{)_<#3smwP1#GPA5bXHP4Xf#kErt(q&KL4ceET#03+W7m1ZEF*=C!koG=$ zPj*kY3bmR~)#&JvRcB!$vah>lZC9|qZ41igt~j-TJH8JQz-`{yBU*sDaNDc&CeanG zcV@2Uy@_CNuk?P;r;GSBXu_?oX1}8o5e&wBom$lpy}E@{KsaMPN1{)E7akMPg!Jk8 z5^pHeuNk`u=tA*e2ClHZzXP}DP(GH(fnA|eZFFltDbP?o2xsN-!!av@Jf3e$HI@T_ zd&`wtK~r=P7zs8(Qz?>>&dvSSUM0}nf7w*kh?ccM?Fhosu`HWoUGUZgO#P2n78T)# z{!~-d3@|*yEAL7nsAt?HMb76E=a_q)KAsG+WPe2Pz0Tn{VP32~iEGjV>|0r51>)lt zd{?e2S5I;>t{~jrVEfPfl|j7yiNbjM+d8OM-X#S|v2!MZ9u2))7{rG?z5YtL+$|XG z*EVPZN0#<3Lk`m6c6vf9c)oS>96O?=yt~5ov(L{!q5p%FLc?!f?_1rMZCP}1u7=3S z3~=oAD-aLSW!$GP_RH3+=MXt=)H`eeVksK4Cx-S&2|g-l2KH^8DD2UqeKTX|E|P-W zKPRgfyN+J3p$Qh)Y=wu+UKD{mYi*eF42)x0ij?H`n8I%BK7&*uHaar)6B#*Okm?l3m+&4Y6x0 zA05iKwJlfMJzg_32PQgJHQPi?=kPy?&y<=%sf{KD)a!NRBm)?Aq9Y{y{X?f3aBBGe z@E4Q~m)%GM>2a$?Z~dy5=SeORPn&NtD7WE6b^UL+S|a;I)@BUJbm-e)-;38Uy{VSJ zv(81(A%HQzTd}fdD+~Yrb^8{qREoztv z`I|F57+ea)tB_Agu6|4oDaq9n_=8JkKdalEYxZNMA~lPps~4cP^0m$m2M!J7b%)n!K#U8x>pp)RX?dyu7rfZw*PL zzlQuQ`K8ftHVE0pw^i|)CCH>ISUx4cxbqoj;(d1iUw)OyyCBlo|JSnI(GD){=JV_g z1sxSyIaQ*S-PxJE(_i-!Itn`ddpt$(^T_kEu~T=K>XQgZmC(0>(9BxAq*R5tMHx+D z?Z*v76*;a?Q1-z`N|-GNA_-g`!Hop42f~=opc+Q0kAN$SUrz+?X)7&Odj*@$1CvON zstP^Voff;Y&g8qYLYr-`4{?oGF(+R&2e0gdq-7#*4nePYKGjj>=XVSIx76aKgo{Y1 z`0vB;L71;}(u1H{ORQ*yb|9C}>CQ!8-jjESSswqx3KzL+?K5kd`+6jiKzl8xhOVx& zLOI+A%v?8Xu*P68WU9Qzw6@5J-L=SdffjN7vI4ypm$gb4@f2P8W=u7*=Hht$zoPRN zf=A2vBwGVRdX?LHsHP#u_iLv5;2R#{C;VWnW*@*K7D*uSz<*y1!jFxk-P)x~W`?li zn2HQje%9xeQgw}zjXTFJBoOPJ&Ec&QixLr-+V%H=F<%U)L-&QC;G8{cVasWnVL|-# zOp9LDZ(1bQ8jB{MjTO&Y=r%n@@qDlyE2Z}Lj-!yl?X@)n^>HTB3S*8zWGW44O$%Au^Y&DH&Fl!7GocRa<@O#$Dv{1gH> ztD+sp2Kw7~(BD*@($_OpF5CgP+oq|)C;F*S)beUgoB%6zv2FCtZXty#nBgML+uXwA zh@)doP}-cU5$4@yPOX3%jqbi>A0+Ry33T+pXaT;JTnbiybwG)tJFSNM5HnEk%)(lx zOD0?N+}`#jx}YekKqgFU0TXEpqng!=r$(ElF%BBU7=t4}#i(uv-7stAqrcW_QY-GF zPa!B3guQ-|dsA6uoqskS#&tO0lhC)(hc1xqoX9eylpS#Z8@X8iouc?*N5Pz@S@tmJ zL^Wl*N_UDJ)-X=aRR%T7fbu5mJ{kqnftfNT~9eLfG`CztCd8$3tWW)I+E!GW7r)WgzaaWt zr$_zPpEUkNG7_9`nft;p5tgSM@fz;f`<1yq8jz1+RH>K#_O(dnl^#Tb#j7pIhBW?ARx$ate1x}mT0RJZo)u+G#y3xf2cJD8-obp4)+Q=OWVW3LL~FDwSW;p z{}vkei~!dCpC9F03tQjUl0^JyXW`v=+ ziIE41TTlKUrIcj8O{cl-@Ojcn!BMOE?QTfbuh$^vh<7`Is6ldc#dL#V+u zPnTTYV{QT%ZD9CfeVvzX`Y3N&FpYVru!bvvdb!d4qeWK13`U5_NWrX+C2O`Bi=pvk zHEyMG0%#Nw{jAR3Gi-a+eLN+~24v8{V^t5T5o|JoB}j6%`7@ZByT|APtB3xX{m~LGb_>Hx4bgj6HMaLe+b3Dh+t{OG_3uX8WBj0z2|!r#Q9ZHf z_+41uXp9`|rg(NB*UXN>j52pP3$OftG>+`GbEO0tUq3%pvPD)q@rY#l`baYMFSD${ zr2~m115FuP+Ffq+2-96-zRnnzleE-g9z8{o=BB56THcJ_bb=<1dse~`t>7-dL`y#+ z#_4}pzy2-f8iNL{Cu`e53HFxa@OStRZ;9)<90J}JHUpY=l`KtNX+SoU-B+y{mYX;+ z-IuA+ zLshM;I17G@79KDvztT8a0f180Iha^_V(o}%$96OmT}|^+wEZsH%Jsn4=H94TmC*f_ zw1dovHOFzdu+&R&nIq=cHAe4QlJB4y*S<8`z7JId_upaoJE@(|4;nuru7`*CFfI8$ z(#jA+;jxH3Kg~dSWuNHoIijws- zgY-BS*0+aRKcoB`^Sjp1Sq3itOIn%&uiY`6<@!+n<%Zp84h;XfPPxr=KdRK2cUW7U zx0;#l9laB@PsfKjlnEHApn0OVBhG{NAvIlSZWO2_q#B}_?i@XYJg8B@N?%bF5Cepv z-k6?(yf4O?zb0ywU=#s)^rDDUrfLqbAd52YH0=z^Xf1*nT??h_9YS+rRfQ)*qNQR~ zsJ2p*Cj~9UNiM!DarO*({Q?RKCLV2X72<${DA!W>$8T)i;UCIPG>Qs>-xO~UMMYMN zlwh?h;bo2Z{6$kwh3rFgWwdlAItH|Kl+jWRKWJp^16nfnp$G!Z&$ADU?-k)M;6B79 zk{Cf8O@+BALE57TU&$Iy=07dQL9~Pk=KDj>U)A(_5AYJfdyLL@b&j*=vI<4Z54HkhkcU^g*D4VIaq1 z*T!_4Z2|M-S2Sf>SaaX(Zd@k2e9}-;AonhMAh~FI+mp(=d;UHeuu8a zzBnukE zlyf=<7xqfV*+nQQ97pk!&T>||9RGxv74HwhLJ8j+oib5Iz*fily33?$mXG}6cp)O# z<&gS)!jt!_mChPvoKle)I*!hNN?O}A=|1SAx$_ak7nk+S`kTgfIrb59E$uGhe5R{o zC@p_O$Zt$lWCB_Uc!}R_gIOOp&0rA=%XW;;KY>3oicD*F zS?mq)F=wCdnYE4vH#pm|neWrW!=F`U#a+(Q7@QYEb%tGh95O&fh|a$Sl`%7tU)a+U z_fkvbyQHlAmY!M9>k`?Z-*;&l_KQgHDUV3;NCEOQg$>A@qR1^$h8y zbyDikP^ALlnP9QZ9e051C?nNcQ?x#4(6jzz>RD;MO5acjgT2mN2@ANAiRfvm*S+&U zm1(4wvSM-K476=*dksY!dT63?13}P}lIhDvOh}J8$po_nvB4)%1o!AgkU0ow_OYJ^ zfa91bs>pfi1liRL-b{g%3DNntOI)Y~$R;bvMfl@@d|TiBv!}mW|4tNdqK$=p&0S_M z;i6oxj$*~MP^!m#Txgi=)^dzm%~8WJ^^iA+2`*%ZnORPpf&u>>G?^;eP?5?rbV3qV zDwgeAPPS-Y4E=cC2+238bn4DsZQt@)JoQ%K>+p&ebv_QpYiNUtgZHBao$cu3{Ul7l zHVCNcN(D2uEL{?drH1r%fQSccMx1T%Gn(!Wa(}r0SRHdHWC`0g2d9tZxb@abSyjws zGCcYL?RDvMHXgH|PHH7f?ExUjv1){MA_bs+XEfa-tKL*s;|D(J$bB!{Es`w+o<79K zZ2nj|!>LlWkNIO50bl^nu>l8R%3=PJf0N~Gpdd~@a^%Ebjzn#0nI zI&_d*`J%x*r~`%1~;uIf&IR9qb~NSDGO^jv2or4=19L8Qv& z$-P7jVt_WLR)UGfwl{|~9X6w?#cdrge3EY0izeB%Lx8Pu^h&qlk$~X@uq%T`K)d_x zg?1r5*YQ?GNTn+rbPMd&V}Z8rMZ6r0^&H!Z&VLE`wQH5aL8Dz*AwqWlWJpTM3 zJMwqD%zP6zAIMqvQyvV6@t-BR+q@H$GKPp<$TuEih~#jBkblTZcMa{{2jQPGsNnFu z!97kd+TLsC5QjM^`$hfk=K#A^@3rNK=fl0c-Q~Xjjvw2|H{7w1Yi0^gj0M)-_`%nL zb~q2%(ZaBjlynf)+ZW+d`E`<8Y~dmXZ8n|6)1AID7E!91Pjx4KoCZ30kP{g}zP8ol zf&LpOab(R(Bv5+z#%7AYKwhDd&^11?(_;s>TNfimx5Gzjc7EOcd2&`ANULyW19TVskbgr`{vYA*K@W9 zpcbTdmz~(>!pG_BSRlDcm zVU43#$uyulJMkDyjo+n0e|pZ+Qsc33RTc$|VR;x1v_jJZCreO7Vy4hx=sMKn!XxHk z^vo<`itzoo!=xu^h+c@H^S9j&GMPN{dKZiL3f75jV3@()CEM0*|8!B&Bpv{tY$ALf z>Z?IeDWPD7dlJ1x%V!^LoCG$m;KKX9)4!K?dLFE&I;b|9+X+(K*MTE^8?0WXMnf@v z+r0BiEArssk0CiNEey3i7eT+{mj`py?W7@%ut7lOj*y#W0)<@Uq3IY1w)Y6S+t zdN=R$U`1?8Tq}`S1>7JqnTW0YnJTGr3+e+p^9a^Zz36O%Nl38i(W@4oq@YAl?I~+< z(5QdZ9@Y=UKq{Mem(@iBvHV~FZ|#C)zyz&gR&IM;5%&e4 z23gcQ-7n~jJvK%8>2LDwMf{j%VDD^}ZObP?W+p!|v(&?E+`|>_UBb>t!}}N^XWUW+ zw3P=%Zq1YZ({F>&{olN#+vdzijO`;o-J^f(zrE4>&v-c~y}x(X`_TI<7kn@>dWd!* zq4XuAqXQtdWH~Yl=>6S46wr|EgFf^=@%;cT{(u|vWwRFs+L%`XOE`@jpgDR^7Q#9> zy)QiT{pfv1!nYWd-X9Md^-u4QKG+xHfZiAK$~Grt37LC(H(hXRNbm0vDQx_5<0S(S z`DOGF5PAFYs3Wn<+p8pqZ99mpE2UCZtDL6s&see7E}`?T*yRXsHLSDO=`mdvK|DVH3+-4DdUeyGd?mTlno10x|0!u_zFd;Gq9G5nwFJmLRE z`?Q1l<^Rva|14^_7=eO|KTkkMh{goFM&6z7$Tl25E*Sq>}Z+yFpmxI#jIN%&q zPpN`wd=NVQ7tx-9m;W;Xkp1%QlLh4a=_z-Oejh;3|9~6nltDMt4_Ef(g86hhi}!i3 z4$ik-?fcQ`nfS$pwL$szkwK&W>Gbs#eIX9$bTzLG*n#=>I6!Qi+;}l6F^1=71}4)v z^p)Y}$IxCjel5<8YXD0W4@HaoKpWk6K4bcNCJCu3zv#*XUyfh7`dS^!xb+^f{B#-T z)t=EYC!8V)?vz=&d02w8%n>Sv)8_xOVe~XTmYZidf*T=#n|=8)d3>rcn2(lp6KJiD;SdXj4?ygcA3@lSogG@a8EhKffBUS*?(LwaS%ENz_o+fzS%|%4VGhT?s-4G27Q$ zym_`QUugkm^Y7%$h5x|5xBL^uPEwD%1;?>g55c5_e~hh4EWcmVUC^r@RTrs?=sb?E zs^;fxjU<#d{#EL0Fp~bX5q9m$t~=*tnMi!^KQ)oeCy8=+e|FUnV4kb8W(YnIdrV@DL&>94+&CgS3f>czDpe zeddB%_;u9!Sbm>Hp?RJUk6t#~!v9sDWvhe#+d@e}orbwST!T zwY{p9KeZalv#gQdBVkk);liIKyuO83nw$}kc`s-ZQxi>(e~gmsw-0UVPmcRva(=qx zr{;Pj-3qVxqxf4thtnP>$BdOl_(}f_|AzUYv8!=%6pL5YN|4Fkn(SVPF(%70mCqZw zTnSgd&cl!fLcxiq;g#M=;nPnlg3rBogU@HUJA=<>CgrK#A@BRtxcNCYCDNCZcAPj^ zIzHWUR<+XdadWi-HQu6^d2!5$q}-?8^+jsO3%FA$1+`Nb4e(S*g-=j+DDh#iaz~Yx z2FIpWWj4)^C*M&=-B7?Z8$R}dGf3`UecHAkf68@G0M{OF;X!m>8B4|w^PJ3!9%VmX z0q4|hIs&PE_;zt&eA$2{Xz3I;3~rIYo4S3Q7sMb6je(7LC%rbyzSVgA^N@yxhhpS` zPxrvb5qCI6Y4804h<_4Wy!T*w0&d2ABwyeYW-X(t7FI!qyTfmbtX)0{Fu7h#AbM(U z&{%TG;BFF9$9%33sYdcypHx0l4^_(nkb2;){s0Zlzt`Lbd!L21(Ii=@XLvV)IHUVj zbq-wfF!ly_(zrr!tx><=o~D)qfIFdIaINC%YwnZ0RO*$YAol@OrW;N~eWb?*r}*=E zFVz!de;|r~^wjsK_;0}2KN!WIqm~2A_7B8X^sZluzr$W;S7s23KNNtC9}Y!mwzlrLPpHJN$6Z{xI8v8FvVA>xBStM7UU7p756w3k_)H3)zG?a9GDViEe+D0Stiie_GtoEhp9Ki!A@>dp?nfYnGr)m%o{4ubW# z6ZLX1R&)JHM%`k#fxaw6=CPV7#EkM+VPIDCNwxH=5NOI05MEjS&mU*WB?Ph()*=wU zYp(`nH7}kB%jUYw0r|^W^bzovj$iEeQ?`tQod>}NdqtuL3qhy9$&+YkmJ?uR40XJf z7s~8a17*-iJ$Ls_<;RUHUgYn*0Fk%X-TeybFwK5h`@DYQJq4`&aHbMceZQ=In>O7C zV(rTY*`C7!AoEqVfVFoA5fp)CK?$@{*eD4qJ8{AqYoC4s_*PJ&Z9mSfo8(&1gf;8l zoc(Tk%iKtdtpERbJP8Bh=fF|?xLBRF{14}LDO zSDqn&7BBjYm1gl11IRC5jOcq6D=FGO^xZ)aR7Q6hU1Sr+7x(WNTt2rw5)upvX@ytI*5Ea6o5rfwFAnh$@r{4fP5NFvw>j! zA%2DaU^V$P+g@g2?O#4!eq4?c``7=80OccfVEI&`mIEMlTfc6EoP2t+(33Ere0u2E z9Ju|;r^|b7oPp(2{U96XoE*5D#NM;|zhr48FFAmc6;S)$;S|{ZzxkEumtSts%faN6 zYHtn7FCQZilfMcB%ctAba)4F%VgO`6{NQYR1+fgwFY5qO!2meIR+wqDUHRezvdp*0 zSIdltXZSeO%lsV71NNw;w|#Jb!2QR(KR@_VFVY=f%rj*z0B^hLHNPG zqu-Ao#7_S}{NQAo4Ya_sp6ef0;|G)NWfs={`N2hi8B$`u{NR(dg_JljKPXkp0Vwgw zwfzB_;|IU9_gPp6=;UJ#@6oRwu(bYJG`C$|DKBa-ulW` zP)0r3BxP9BBX5!?JX!yI^j6)=M(+HDq_01hpnOUCMIMBXeLmQ&el7CS_~;@0$*Vc? z9>!{RSwyPwky3s=qE{AVAz-kOzxA+jv7Qo-;;KKcAovCy`$$z>k*dk$&cDpdH3X}k z&kt73PSg@+o#aPEzd9_oMfT4t@~BYKs;%zD_k zSWh$M3=v*@W~U6+D(+hU%$%=7iwzX|xqUTV8~aXFM+>2P;KSJJY?`q`Imm@wt(^7gS1WG@7t%{2 zLQN>eTWwEX=0fmts-5;8yg7u)*Eb;ILVE-7c1T_4ZKr*-vc8LcgL{fPeRg-;FL zxL7X&eCk0aMz8TJpB+g!eGf-$9yMYEVoe*$v4BGK?q!XH!ij^w&Hq0)&Vu33HKyls zantg$c-u0{rz|VuT=qgf8kZhl_E+`N#KxYTahRXE-SPF{{JW2LCemM{w%)&rsXz4I zMI6_uip1MiP$?)Iv4njcFRfSww#Ob1%cERX$xl&`CO;xN=Evv6KFAl~ya1cV^hR*X+i{5wHRetdQD_K?kni-vUGB`yg(w)A<0a*xs=-Pzn{Jk&|K~!ossUm7ROB8cwpmXP*b3cS~ zpO4c+bi~n*gBqm_6K)E`o~+gbZZUyGNoK>5_hK+r@WA;3ELQi;(|oV+L{4bzkhaK( zZW$VLufb~F1A16ESVJ}!QiCNJOsbuthkm* z&K`n2n^!jA#u#BP)aJwU=Vj_d!Mv89+V8yHLL2QhFV4s5VRl{|ljhV-0TNpZ1~X-# zV6du>_dD42eFtlB(+dW(6>H9)pc~F$gCg2cF4Dv73fgQ7 zx4|D7Y_Lgwt=jk6Ya8rmEqV=B>$d1&;b4W^U>t)Dx`KC{?7Pid!P|n7{G(tS%&~`q zZG)GP3AuUo-3E^Y8?M*9PU$q9E`J5Sr7 zOOKeE?X_?l_&ulBr!tU2-^hWJqwTv;6%0A~yP!SW0|&#*O)J(;QWpxAxn~>n2|ioN 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 z

fihpO_tJ`lHYZ=>eRF9yDg0qLBY}E!;k;llmaZj%uf4-c zf}i`&ro*0M?t_AN#o2tJoR1zu>y=BRies}m9j-N?q9szNuaC;c;(GKGD9x0Q)O~qxql?mwxeB- z?8cn*P?qP4>+Rwd^Rqk|n}y(NWC$zgr<4~wlp+LQLrk8PUGQMG5L|{ZmYY^#5nU!N ztQ_qu$AvV3n=p}-(}x^_f2Ao!7O5RHoZ_1yKV&O-B*%A;u<{|)_sGS*Nq9a*ShN>4 z2`k4ADW_MYU#4p1C+Kjx+@@>)UY8|a0cV0ML|l{njqe;d z7@*D>DZWg(D7)YqSWRR`Uo8x;O{POTTK|g$8+>1=+h|S5-17#Gc!SWP0uh zis89zD>&TMdputrz-6jN=Qb{%d=u_zO8&9$fyAWJN<=%dVqH{8Z z;A~zFT;5LQre_tr@f-p|@HSR%87tRE2+l(Q^?|FevU1r4Z!mB2;1r6!O)qj3%<0G9 z-$pr`5b#sR8?RBubO%3Ili&V3E9Vq~gAqWvG$C*cEB7WVmm>uGQ1orGvK7o3Bm~nC zK)G&0fbM;gr{@*Cu?7Jl_!YP%za3`fh6uq=iFy9x>3sH-rw=Q5qn4GcrE+r$3*O$q zqHpnXb|LU@%9vhM@Wy*A<2hEYxZv$AEE?kFGK58MvvOj=8~;LvZ;o8#De&(^&?P)s zuMWeagO5{aF$aV~TFf_=T#1-UAobM;WfH2d6SUSh)YsRD>FNtNVzj7p@h3VzpgQ$k zq|mVR&vSqSYY?k=y8`5KT3+M1ZvV+)!s5R`eCqF!;#vnTZ@pQ*j1}R^FTm$FJvDS_M&# z^lx57`h8xce;!R&F1-j#^qHtZ$$t)OpHRb3e5wZ=%gdp|IfY@$C@HV{FdpChBG8p|a;l+9d@Pd^Y%rj}v z<6#{n1Q-B?nx4;_UeLQF|7(w=@H={#{J_=Qk*Rz#13r&?qvMrMWu6((L_V8(xdJNp z`Gb%f9bxJIXQ2@TDE&Q39}V$E(=#YNfO=IpT9L>U$Y*sm^(8d4cr6pzX#6PQFCa2p z3u6`;$%{aHEjf8gC)wVG2JM?m(=ER1u$CbCc*iiVoGnTvtea0G6N7HSk0#U*mUlWp z|CgM8tTHRmGNI@}l$xMMKrr}7{YPBML^QHoc?mlk)?bDfX1{VvCpG;ddgQyZaMors zE@grP3|m(;viWR`J-;Dx0dEiM7wFC}D4k5o{+fQCf;}{c_Nfw9o<*x0-zQp57IJ+1 zap#eP+p*BEOWpGQ*-(}6k*U+qbu|0&ck5KF80My1-314Is>gZ)59X1p3J!paZ5d)J znZiPaHOeKp14j&vhXDkBE2973a6CG(N(_w_i-g~-hg+!dM0HUBc8cyqW5G^gv6TWi z9dNj%Pnh-VFafyWR=CLoha(RSWqs!orcD?|hrSMMPms@d=WFcA7~CYxACta-g6?aiUNuIdw>*uqvx7rGZ12la$J(Scrlcm=-)tPGUcpF+Lak z4}Pq+6a}!9nu>rp+=GLQ#S;*O_g61QzR(*_&PR=NvM?b@)8P$k`v_l)vU>1+j2py| zE7dIz*@|t<_gIt^3BRq!GCjrj0?x$XDA9CS@LTm3n#cgdTlgA5v~Z5rLYApc-)kfS z#)8#0gAaM=UY=62iTLKrL-%lTQ=|7hTuhadzm5E-GjRb?<`$w0_wV}-HCFfV367alIQy`5ApxLh4gj@NS&CK&I{*;L8i&caJgS(~ zJksgef(eeL4eKA`5RpoFH7j;DcAbN6~unGwD<_(KuDpxesKkYJT=`Vmkfgu zXXBrK*ivwxr9s=t;^^>oXNOM0BPqZwOVOIS9IM6p1@u2li8Fhiiu zQu$6&KX)1XrzYs1WgraqQ{-=Bh9%rTYeQW(r1w$gWwSX$2t1DxG^l%F)R1erD2Z7v zxS2~ZC`p0cw6k^92bS9L3nh-VTMgj)>8zYmdB`U&VP!Yk-}!z+HDGA$q!!R0v;a@( zb%YOhi1EQCO+(dn;=(!$x+gpe>n(UviggL@SuJA9McYES>x(yw#3OAl!JO5xWuRM; z(C-{M&n2y-U4uN`hEOF!SU6*+d>GGQ-HJ3qnLIrcA=)P(7u$nvEH?{jv_Fui_d#eG z&&8(TO_rODG};x&)8Rh6lJ*367F&VevRnt!XgeTJcOvw6o}1>KD^Jfs{7sfK2q9Yg z5zp~bwb#asUM>DTLdFISC5j!#i*&;E8Te~n#K7OwEj`Uv zGXC0}m<_ynUGWN?I%@0C#b5!J7bBlJeI1H30eCw2zl50(8(|>`Qx5!q_z5u1ldh=a zi)Xgtf-40at+@4}2c6VH=>$-odjE(W9(KRRW`h#tYYg)Nn?jh{=ri1b#k9-W!`$y1xTPdg$B4NedrxLMw(JDl2Oi6P&KQY z8>e8iR(qr>bsE!XBSa9Pd^Z&f7@SSDjIJ-PXTYQqrM$$&RN}?EQQ`6jf`NC-03h2gfsi&c#mr{|?h$Hw>Uj78C z6PuFr+@XHE-SRpbjc}f_E2qvSE6537#H0j&|65XmFA<023!XxRo-CqC!Y&TKVkQj5 zqrmw=P;&DuMUC}V?+wK0DJV$F>{l;gO^0@GKwR03KH~!{DKG@WsBE2c#$ zEgwbWHYJhQ_#VT19b1?U5~XxB3#nka2JVy3uf^(-W@bnHXiLEdjFl(u0{5;1ACz2l zDzXLXTPS@r@jV4ZDZRg9^UFQp$m(K(a%gC`HyM+9;zxP3fz2<(x79!9*;Qh0=3Qt>s$WYQj&P8rTw6=RKuFCZcu-U7ULaiCkBD;G*H5yIhR?3APhD8= zvc)c2a~kh7^<9I4Lhu7f*CP*Hi3nSFvi;jT(e25rG^pLf2RUb+?WT5NI#cK>OeXI^ zV!fa8=|2+v-Kd4lW0gpV`rq;MSbeYf0?VVl;x8#ArBl7xV(7lX*zlHM(z?%?9r<&) zdH?$0#Trg_Z)P~jKs#|bQE6YQ?<@8`0dYTuosc?!rBL5E9dA&f0@^2v2dQ?XAN+tI7CD~SN53n5> z=a?drDG+OR_?o!P$b~pS=OT5Ka zgbh93fWk@RJTUxgC6C%gd-2q>^H*#m^tZ=E3F>y9eM$)|R?4d|E6}E>=Io{xyy7*) zskUHn8TwZi3kw7xNDQS@rP(-xyMv^$;%RL?GQ6x<2$ms0<~?_$sJ zJMG@9g9nvDd{aG%|KvkTLAR&e9|o<={; z-lBu7k?>OsyCQ+?dL3kMKnNbmXIBe}Jj4G_dG(jra=4(Ti&X_VuoBbbL6la{qGv-r zd;dL(ue<)n;P)VYl-?gQ_kx+-(jZM;PT_fZqG3VU~|EXAe*U7?9=GQ z432L)KbeRZm8d*#YwQ%U;3}U-#4x2+CRZ%Tw!qH?M@yn~ZI%za$r9}AnO_4GSPIh~ z#qveU12o#9JQe}uaB{ea6egc1aM5+o@ayR67ks3RL>PK|5q=b9JLANQl)ay4_vhKO zD0?Ha4gJH;TiAGn_9BAEjm3K%{hU+Wz%`y_tC<3Kecj)Y2aV>#l)~Q6ls?6~&kk&i z`;mUMD>dL4k=oFU;nGJB`aU)^yuRKf`{9VIK?aVO$XwX(i@D_4$Jse-y|U)7C{7k-TF)vkyhbzWt+-g2F8&tI0S@S$?JVrI z;KJgs&DQ&e*MC6upH{&?no1(P9i~FIDvfL~?XWffY~;^DS$1tT?&f_NW$C#Mu5t9U z&2+hF!`gM=&(=9FRRc;q}yzO><#J|wSMF*FWty50$5 z=pJj~K;IX_ifgQebA-T5s5RknI>#@(kK1DkX9_`F;zD;WR-Th^MGhwAN7VIEDQ)n|B+8C6A*x*}`wiz_Ok3QNrh-?+cUC4a}fS+2%Al zV~q&Ci*V+~`$#=Ht#7`Z$OBq`3L@BaqlzUZmQv{`UJ0RBAxf;JAs=;4M8~kNUhy*| zJYYpX0*|oXJrC9t4%Dt$rz(DdD%gW?za2;qQ%&f@I{loJ3JoPvL-VX`?M;5VV(tmt zE+GW_A%mSjS1Y6b0yfBa2Tej1`u**icM|qhg%5i(Y16Mh45bMER6LvlmcIg`kZM<_ zuv98HM+mM0kp|1j?!j0trs8ci;=6p6Cp6EVztMOdPx7hswd?6tty2f=-~H%b*eN{|jjZr57w%TwYpZv!})O#e>ek8e2}xlh_rYARlkL zJX#H!&;-40*!&7*)~WqaeI?gtVi19k*7F|{Cfqr{~@}O`vQ=HEj*kmR^iSRED4?rZ*Ou9*y7(~b!A{B zjI(U$;qScX%ELXMeQKA2f6p)Hbrwgj)Zi0`+oFCIzE2CX^nQVbKk#r7DW3l%xc8a2u9bJD!PcV4> zI3$MbhADq~nRP1g2!Np8!_ZIx+AI~#upu+oVSm#%LV%oZam4mEK+5HbT^>|1cDUEz z84PXZ+4tD(Ac3DCjyd`h0DJX4s0eH64_;<-bir~=!o}~=as=|iOJygF4b;M~$ktgR z-;USch;sQg=N5Vv3yw0pyQw*}dPsjC!<7Oa%td*nay~97=;q(U-g>orCd#R9Yqcnko+_rgFqkkc%6Gtp1J?WZ!=~4l@}XJrqMopbPy?GB-rO6X<0)wH?k~Xt zE2Gih56z@{cXC=%e4887{_!a8ycYtO6Yu4*Fh`8W>%tZTTk&M)+xx;Sx_jkpTc|G) z95xPr92g|%0-?!)!S4xWZo#y#)Y3tTzc!DSL$8Wbq!{`UgrZS5a0d2G*TJYWjA)xv zNp9Fp=mB)e&8QA~rYH?68`ps-R{uV_6hv5b1vpzlJ|H_FNGf52Z%QE!hbQ9+dJ$zY z{X**9QIHK;j|7&Cx6_fXh2P?*k2h&6zCA$9{suVXJ;$9{LSQo~T+VjlF<1p7&1vin z4SLigeW-JpSUeS<3o+O#lvmx49c%@lquP_d2S<#)&xy0x4~m!iNxF=; zxQ!aqP^iz(#Snk510U-6&;o}39|&M9W4F#}!XTK4L8#nBo`sy*LhxidH8jo=36MU( zvUp)FDFIy#vKPyXEE?K$C8n=nn8!(xeI2?Qd9F==Mu^`<-er)s+ zWUdnZ!*HtgESq^4r`5;V990D9j>_}kdaOM9JjoWk>-xyKI7Px*tbtaDOf6x_HK>B7 zQ+(~N^mV6s$R;1JKo2Q)kn{pD=z$U-twh$};7`zux&*0Oe<0t{p+2+R z(oV1&x^qTf9GMbJICDa_3esa!VR}kKC(-?{au(LRrPexp{Hhd|Lgq@zIOID(uE3;iiY2(i zh=9l(m}EgH$lKlrqxp7Z-ptoMHO%NM+Cxp2nxP2;M{`lTv>(k) z$AAsO=fbkyPdQe#1Q|5mOLLE@#Xtw>Va`2l9f_CFS6szb6@Q=xu-~Gim34SftoqU> zTI;FPc~GP&l>YMR>8X_d`0433N}p|{HxY|a&zLkZbW<9>Ts8pQvoX`SwMxX@D^*JN zK+-m1{sv)1_rONq?tw%%#v{hJdA`H43wNuisc?UGO9yE3a1aP_u%S@IZqFqmLM5lDjVu}~Iixe8 zeGk)DjO>JQ_yS-N=n3_M6X#Z{g^dF+9`;_8cjH|=Qq%aJTJLm=8*0&Qt#h@En+kO+ z-Op5U4vw_8Ja|2}!*@c@P9dXR$y8`p@fe1Nu6CgrNzba6LOT#%i{;DNXwKi}k#EWt z&bc-V!>ANvmmX3?=_AySxf$LSP{`D*C>0$JDCUF<2X<2WN8PnDn?@Ap3HeeM=a_TXKLxcb`h2k#Di z@xssCRbRu-%k+~c7ri~{&aGpNIso|L>`1ISel<8#M|m!4z$?4NyrTLD*_CzXDb!6udKj=~L)sm{N@2-O)HanZBvnHgIt-Kgmn zUeovQpJ-8kj8Ur1L&o_WeE#T5Y&b)ryF6)@!DJIA&R}K6FzUdTg+`mAI!w98nlGn0K(W10w-Zh-w*VZ(u(PC1S2|e zqI`M>ocK&`SYm@U{!&;oVoQYb-m9?U%fgs-;GI%BMU+b|H{$lc7QU*-BV8xH0tajtZ=2#l#}Y6Olz?5`3>O3Vq+o_ z0xseRJql#HG=wQGuMc)R%5~#b&2@Y7!DWbV1a@T9OA49ka-+K$-=-%7&5d zJyJmEtAiLwT$=>GFpj*694cg^x2h)*#n3hN!jr|$!cx4x@^cLb_du;c9ejqqmg(K+ zFY%RuM>#*IJ%`2UKCY)iwWabH@Uot_Lt-YLG4jcvFw2g+hXJgtk-gNRM8ji&_uFr!zrb=%IW4(`+iVUM5hX7u4 zW6eIs0Kxpln4ehY79X@Nx=KqPhuVnwOKaCvznJ(9&caz5H7>`(obLaClZ`#t01vx7 zPpIb!ysr#Rd|oQTvXYG`d6>3@@SOV!*mJ?XZp8mb+?#+`Rh|3)86jxG4hn*Eu(6UNmMB(I zKy&m&_tBGzQ^DDaQf;lGB%oCxcyfU4b^}_ywY{~qy?Sd0wG)UIFhL-IQ^XOmf;jC> zRB#Fbk^Dd3wf8wWLEGzn?(g2ekL2uOt+m&B*Sp?nz3;nr{0zIoRXBT3JWq{a3DEm= zi^@qU7CyPsf`3mxFt&Y2QIiBMcvs?SxH^H+pSercz(@#%;4;?qcqHfC&0QR7Lom^X zhW#?`A$; zG=eiLrh}+epen}IO7cAYwo`VwT|>;P)hs>OR0EM&LSf~Rxs+UF%NxivHoEbnU@Y=dmVkuVvlwcL%}v?= zM%B9yH-XM|EcmqIRrunq{rV!`0xy5Ow;gy3a&QrY7T&n`cq`0+x!hrho?9g6^2YLx zDXH%ilb5sWCeW`qt+cQgN*{EA>KB}iU6 zCv08bYeQLx#^qw!EWXDEe$nCO1_ak1w0JES7Ey@gcO=ppq$6ye??JMri+7g!X?IEHo|FBBS)pMG-NoLFh@_S^Tvr zM(l5-e*jn-x5#d6)h&j3^NnBi_97Um+wc)6P*_Lx469~j4Q`Vp!ka{f2taGN#> zlr=5Z?AZc~)))q4+nu8iLPpvlO6D4z&v(i@i(}XH&8y|)#!L$ejZ3<@J=4%Nz5kYZkI@Mfx?i94#(jLJAx`(LM6S>YurS{t3ULCH`{cKP z2}1xmhE0}*v5Dbxy%O%0=O4CpyCG*4X32p0uxql|@T$&P#Y$~FE5_c~>CV}o;;Sg_ zpP2)FA;gAgIe*gNlgu(|B{eT!7sQ)+nNC+}FuuCj(IqHNcHy+Et<@iw6{m$2KpTQA8I+@kH`_cp6H zg9`N_=Y#5Q|Hdth%qu=O+qfDYm}&SwvkmKG#ht$JOZe0HYr1>du)@5KyJ5HoQoCd0 z7XaE%;Ls52-SZ4og|EU@c0OMPCfn&n1Ze+jPh=om3w&s^?dL^#!7*me%Qhdu{C|_y z5>C4+yqcMuPievT(d@#>DW+=A-h=cf$;WK$h7M-7JE-Am(evU){b>2#2ee=z7H;y} zY_Aj-zT$KBuI9O^Y!xoIx4&xFygF@v9v`j8PT3g!q@pwMYSq@PLcM6Uy|agO+uPUM zL)SL;V>8}LFHqawkwl%Yd5rl*-j5j}`O(Alf(WK>o`Q(aN0hc`vRzaBGRWC5&d%Qw z_GC~S_cBw)Deji-ukUaU?zQ?kJ3soC?F_n?V!?4hN_v}H{4;LVhBIi6t{9ZbNS)EU zSAg5*0KX=B5$5wn3qyq1PMWMXYe5UKuy$)uK`>)Ov1Yn7IIcr6B&NKOkzCYl<}|B% zSl=xhq%YO%Xvq5aNlpUXWjt5B^|N->T7QA3jl$v`S5X!S(nd5tc!!`{%as5P^! z0~;X8p=*iUXgmyY1Jl3@^+R7Hd1}Hs7;Kf zifIO~D(zkWo+q~R2IlfUL$%mAoPx?#q&eEW&8~T>VGuK%hahC9ZmaB4_C+2xcFfw` z&9z)iDq3*Ut9ck5qS1tm zl>V;1?>;DiO97Yvb=u|z8xtE+oAg)~xxvg!5=Vpd8I*_WRCm`oU5|2|XXp=|_m`Xq z$>IAnpw_JBD-putfGKsnh^S{i;hM%t@2Zyb>N&qAUhmydoA7Ee%M@SBI$#<9m>;Wo zKUz;961i+f9&?wb+&;!kvfZz}vD`JY9IJ_;+uWeeDPz^M{!i&du#j#|UNCE?5;j`1 z71YvJyqjq=M}vfT#&v##XLerRz~Cq9aYTngUwKl2COxt>$6fGvVJ!?i?reQ*0iE(s zd~!GQL#kwKmdktqmy~|%YKlCq*U95}@prkn$gmw<09RQ)G{AuH`*F0p_Whyza zi%c_oSx~x=7m&68yj6Fdkr)K%o!WhY|i|={XXT7sCqlL4i}8-~n{V8#NsTsR%!W{gU~RB~;}t11HCw z@g*Dx9jEm_eSd!Gs5SdV z;ILQ~&EAyQt!s+1!rAcf-~OY}XX9jy4ix{wG}qGOLF+$5cu_9M`we`&6LDE<&5(mt zP)NwZCtpSmK7ky(5t4(aPy^V6PbEvc3||Ac?iy`+e7{zX|KMzhjcXo(E|MN(p-m3` zz<>UjaN#u`61=7nMf@|uzspji*|3ln1_K|dj=Brgpc+BnO%C1SA1&0Aq(C1y4Mnj~ zwrhqG3_$FO)x&qydKGGgP_M4GHYIs<26WhFU1ozvC&rgNFK!8+FjaqZvHNhg9B6~yQV&O;IUCB z@9p(wEpGykM@&A}{n6SA>F8%L!QTEcc6ko$V1%&8Pne~kzeMxaw@QE|mpj%BB0cbnz;m1zoUbc*9^rub654&cYHTy%p;Fb;N=>>S;YJ0Hr8Ey zo!TnCiod2u4W%{3CvjuVxfbkW==o+)!gV9^ILmXZ$E?_UjWgB9GDazruV&WtnRBREP9yfy0W(-el}w4Er625AEduq8rya+~Zf zZc!n3q>-n4y*au3e0V{VswUk&3C+w@5Ke6;ynzLpAtsISG;Ru{B*Hf` z$69X9R)}oUoj;yRSYK-OGb?D}RWg4qddhV-$%0+gu8p8=wzD=_wKicr+`=|UUGutz zgFuXtG?=JqzwWF=)$02E)rtHTxcGtkidVEBOk$WWojK|w9@E3ZE%lV2dK1RtZpvpY2%D^1zfG?Zc;%I`B9dU-=LucrTQ@q?fC3G<4(k4#bL3y-t6zk;Z3 z7yk8n-4AWUb4mx!^cCjBc~TXgZ{&Bdze?UsKO%yW55eWP>Wi1*_;!BpPwIPElP9es zn|Tr2yqv=B4Ls4tpBZYV(9#z3`?+pQv$wl-Tavx)HsKEu{Mdx*r9Z6}7B~whLKhrwG=DqIZVC+V z1n>(Qa)E^PoiXQy)TRoN;p2E*M;ocP^To7&NnY-Rd&@S{j0vR>2TZTkA0*rpClWnc66?Gr^p`746yn`K9<>rFejvml?xxiPc0fz8QCaC9A3)zyu`q}U(PuB()HS_sdtaIs_GW-?_U1> ziGMBXTywIF;(R#MlT*E-qp9A`IGWTF794RAEbzA|Bt+NmphE5^_Y5^C$qS;xw!Bk! zFQeQR$5Okcl^P|=3I{V)XVzb_&^@4g3&q>z;CmyzQsgx&i=l-$$)H^RAj_O^~{ie+h zl7cMUnM0EKf$exxcrJ75<(fg3*oH*S(^g8JtM$&tdguA1dzXrId@DmA>+uJz&)EZ>Mjr zcV4Z>(8FfQNy(b$ryn18A5@Rc#$$j@v)*}$?S_zF5{7$tYdHZ(nLiHj@NvBClRI7#U98+n7#6( zbN}`9!A||Sq_1^nE9A>7eOgRP9(B$t|Huy{xZkBR3FnsDXyDEE{!DVyt=e?NKV)eI zuk*-RJIE{qLxF_6j}RxkhpY?jH6pOptc?>D`som%+Z?SPw&9peHD+*Bf~)n&eAzQ# zETKK4=xNG9&5-9gB?3X?mRtAbzRlFqtDt~dx%{B3(n>GgM;#+;Ju*iHV+1W@Y;c8Z zkWk8jm3IDfwD_%hX4iyz=dS`2fxuFY9Dk^WLvcS!6yo#qNM7W^Tv{t!@aY|hyc&Vn z0McokOV~h>(^lKE6+`ZkFbQkXcZySQ6sCgw)DC>|)(c8w{#IEIp(c9|{s zN0kym0a6&MfIeLsV>MQ{q&t&Vyd}ZT!xfEXv}&pw>X2@{tq{C>z*?=>6#i^h%FJ;CmgdbKVnU;LceRSte^uE&o#6uFjHHH z;pb#HRPo_oR~P#jU>p9z{%vCTot1gi0FLAJ?j0tW{nWF8I=(kqcqhCIRx;vKAq)fe zx2^bdiCMceaR|TyLc>Y*I$CH6HvB}*Kc*fV$vp&>BgfU1B=g}BU0+wQR9A_WzS59h zx+QlVom^BvQrhY3>Opi(W4%nMx2q{v9{*{xqTkAf zZ|fTc+!f;lpWhPeht3P3i=WTJj<9#>EG$Sf#l~(kIL8#7 zS?`1uK<8D$yRtfWB6!E{ZismC$}3{-30gdSFuQz;*rcue0T$h7GsxzhGZ*a3ZvzW~ z-FRT+fBKIM)|q>QbqVJQ{jQawl0~}Bv0a`lJgvOmA!&S*CQIZoGo^D*M;2z5GL8vH0c#(JbQcaD)Dgh*L*@D2h1 z7tUqsPRh>ZA>mw}RV-KNE%_#2#$G(DAM=Z7s;c^PN`wh%sK+Z^6d*$t%;>zLL}qsO zu7iEEQCx4uN#%34=7uoiQ&B;C&CNhFH>;CON;E%)GRWwkL;=+l-D9Tc%-1qgWbVxr zq1x*ARi@~P>=eZ&#zLCVMep2&V;OXYNnwpI;Jh@~K*ELwJSa6KXQEJpe|{s-cJ@lh zgx_4xdlBX<#E^3P4abYQgAuEd!z-Q*cXhntZ^3Xd`9n3fp-I=0sxH`@77WEuj)H`n zLiB_(6$Br{2J~gaNwhDTaDOt9ceZyb0al{J3t)5ltVH}mm@Ji+nMy!PbVGg*8kk*p zB2j(?!LM^$>+dgmNXDNjlFYotI5UmQ&jO@&@IgJcZMX>dL1Nv{HHcK-pi;2yF!)LC*m9 zAAXD><7dDoq+c3PvZ`Gcuu1JP2M^tLtGO*KTC1X0Qxy3TN40wAP3w_U$t<&jy<%B- z>)pNayGa(FY7SfY9+kq`XSX(e7I!8$>Zx4R*Sy9lAs{TsZ#-o2f=M@VZ}8N1&+I+b z1DR?Iw1!)ije5F|DFu-_p?#2QV|112lj*#QcP) ze8lgKt=PPA!#A#Z1FnbV45(w>&%p)FgADB1jDXPY9nDTHq0!vg`$4j0|vgj28Nl% z9~5Zn-GeHF8%?@pQeP1LBYIqTQrD?Y(E*8?SFKy>$m}NJwgCb5i6K0i`e9IQvb{A4 zKK0HU9EaM2cX#eBtf@f|6U&ud7nnq(R-q!z=DicHY%IPez+^8T+T!?Cs}qG;ndN&2 zYaR9pzC-T-b~qm~&fk#CCH82|o`x_N$9p2Zu}h2Y&dOoDs&{{3Bq7^5XKrvYHaXed zHHX1DX04chS7XquUKf01uq4iha3VzMm4tUJE|<9iN%|W3V73{Q(U3FjYW6qiSVRsY zd2aH8qQ# zg|b3My2wZtUtM;<0U;D0#BBXVFKX^3v>K5sSA19pZ(5$^O%u<}NDrw{v_g8Q0WH~2 z-H8-|^ze|KzYXajGye&fkXwjhC>sVJWbzJT1xmc7g>mZ?P=Hyvo_-_>_cA8)XH{e9 z%l1&SquRVbxen~AF5|l-ooVhcEe}%z1;^P5PDIugd2S$rZNENaZFwI*vd})`jmzh0 z+%1|@N9L%S)g<}A!`Gz3Nfhp5d-f2G+JsK*V90F@`4;J+!CF!!FubX#QIQqEnNl9? z($jqGZFP4CN<5IugproA_}@!jns4}yp^cGxV8o_7@XJJOGGdg(rdxFH7_pgvpaUA^ zzVW=GG{F0;{B$9OpbU}xWc=fef|PWZPSHvh;uelcdIQ-6Jx5Z~iCHPhXIMNqGZ!mg z;932cJ0mHnALKB?v2WLN64w{xq^~Taf@ek&lBBBD<)8Mv`fX56_qk%w&Is z#MG<7k1w!wq#$(l-~$LmF67}||BgJL6@TPU_g{)XLswlPnIVgM(zQzy`w4ncl^3Hh8oO6$se~-MQhXI?)lrj7-gM6AQ zqyru|i?{6|?<@!DB=0QcH%H!C_XT;!W4TB2j`rmy%OUWmnkM8Oqj5;)tQCVp-nrUZ z^r++=vTGGJe(#^Jr+rfI79#ZEFQ+l`S}&Y%s}E%xGX!O9S% z`!^V@X%{oX5zlJYzCD!bP+p7c8ph=xL-yy0i3Nv}*^7;&$g}8eLSadeoH7mYs z*Ly`H4p#4tWUrfO4A}M0UlW;}T5cSK%wCAsupbsNa)+DU5ci}a9AGOgc0v+_XUVPY zjcvxE=vvgfr){T(INt{f8VXZu3u4YWOaWML`$1_~w9N-)&$-&`ZiP?oV z#y;j&lY`Qv4*1*N58v*zbJ`jD!pZTT$9(_~R zEAuvDWWjPowlCH>?O)azOP#t%g~1)2NF|WyOUb}^l#UomiAWORz79(|Q?5RjT=dsi zL}0F$*y;`XA>})Z=beD(O5^^W#XsPpoW~8uv|o0ic(!((+;K<8w8uHVJQ6~+%QBtZ zW~2$pkdy^ZmZU(jn$I1<%SH=#}04BOEmM6B2sIp8Erl z({b1F9mCQmX#=3W|rGC&q!>?6$tYRQ_7U$1f2( zIulJ#zRP5g_r{$?v(zum*58Zz9n1J`bw9kCf6B!$UA)k<*OBp84RefXCmd(7O5D2 z;$@*?AU>FQJMuatoTAEvOKtyy<=eq3^Rn^nm@@975acvhoA>zLJoINjE=SqoBj}CV z!F~A(^XazGJ*uaQuh0|x!o#-wd9)v#4?1M!GqXSa-At}d9V~E`($l|4U>AgjZ{c51 zqR)6E^7$dER31*TC9}ZlXgw#qCgY7&^F+gCF?YcQ zkY_w*&P{lWbs2ZIZHrrf{$|5I9VdtKOe|$y6f}NI(JX3oSrdQa9Cul4kCSWXwAWHC zd#Aegp57;6{l|*yo?)&ZdAtCB`oDD&e^&1z()f+ghT<4wpxfW($Mp8s>f1l*Z5AFm z{kaR8DOaQMwTPd5X%t#wn3GbqQHz}d%#BZB~rZW%7 zgcFj5Y}`pa^p6_A{QUr)bUsh2d16jLh+P!C%?l$Jg#H=tRd6^N{_Sz4eR$JOy+sy` z_nO4{oJm7$kTt1S3IT%M6CtV?QmQD%jI0nNZSSO!sytdzT(wG%HeOjMF0raEsGMR| z-B+n8$(%4~RsF5t13&( zZ$o82^Lta}UMqLZ z3y)H?hD8G%77ld9r8iWCJzddy!^_)dF)eK2?@gD&(7%rU8qzg@f=4vJ;?ip=uL12@ z{x)-nW>g-KQJ$Wxxb#ZOYutO5ztfyP8kGmMl&8}xF8vvK#$M*fWI#6#q)n*Qhbw6*rEReFrDWFEbP~f&oeS5=Im9_k1 z&1OfN@n8EV^kCEf9X(k2d9)t52oar&5QDi0QIm@h=eP(liHi_FxCmz*0ROMig+6#i z{NK?9Yvt$Hgd~D7eHFr>3K8hO8f8$02*h8FG^j!}6<>`u>_dfU%DysjP@QOYzcO`D zod^-WGI>y)EYAG@K_9@`*m(YYRl=|x-^H&=82T_c{E@ztCiLUozoH27D4r|z1^Hmx z{~bN}GQK=}&Huyo_rJvpMBTs03%-QT4G|hpwylm6~No9y` zN;rUMhJ1FDlJJ-q-6R=?9)fBZTa9~TiGRZ?13c@YBw6raf5gL5(4-s@BZU8`8D1ds zsO1cg7y?Jk{eFu*{P2HNO9}n2zQ6bbK!F<=I|pHh?=(k6>)zyh;CG@K$eop!M88)= zzf+>$>-n`Fx-4fHe_3gU5w&eS1W)_#jt0Am_+11~ji>CtJD&em|J!o=|Iv#7SN)d} zz8C-I-kf6u)bnzDu`~MWStRENPd+0c1R1m&ALyi8b|52XPQ{OCN2`J*32_vb{dFptKNo+FtEv{_Mc{u6%R5!t+J z;ryvT?r~;FJ>R5z>^9*k<;}a7PyV35-?%u_aMr*7U(`nfsGyCW2J-x0<}?uMbE+Q< z{&iM=)jdF&hymhufZGc&Ha_w!wTZ0IVMOd=8r3p2XPDWfv?2B?F0G0{c7e;l&R_D7 z%%Ef_CzyIjUL(Lp&C&|B0n0#hAX{SCwUeR6%4_ULj?`D9eIn}lU%$_!O>Og^ z9^T8rJ<69(f3@${ra#ZH>899adPjgGz|T4MO#|rZXr_-0RsKHG{VM#@u)lWH-`cRh z#&$twy$?CLP80`PK-?7WQv--)g>GT=>op>BQ!ygpYtMLI%Nfsi|HF)D&Ey3fleWa) z{*7MvAo%~!#-k9@a6DrlH1Pjl9?$IG^cv3*Ul`97;nZl7tVKunnv{v857v}H{A-z# zq!yIvyDVEMG|#cKo3F%8^18MbEw>h(QDC>eLmInnJWc;yPq8m&XB_;qd(X0T3RZK3 zl1#V!m;A%<1_Lv{6V3F=*_j@y9E$kRgjv!4*=$eD;xC8bs{Pc8E1)moeD9yd-&$+Y zs^DU%RL0(mmNvxy?yn8J9>E@_=%oC1234pr9!trdM@4#cSmu#;E!hoKvRIFG*n-Bb z`l(f9LvJ^+PFse|+H4qiH6`~Wlhx}c<6iI@i&^-H&&hGr^qcWH$k0>pZ8T@m1DFrk ziR(2v!?a?~t{kkjR3Q*n7+A81hWKybH3a|<7XT~r8V6|&49h}AOMb=ZCrqpq{RA$9 z^BQ2qlx2oW{j=_ca&ytK+V3L&S7!fD^e4>xr6lXb=E#1ivoUJ<)WG!nrad;cthi64 z+`K>RA_A_V(ym^INen|_{X@IDJJ#o9!2UveWByfpNAa>(d!IjO+RKIu8U8`gWl(vp z&@PPkPr9cdgD7%f!stZn>H(J}k10BQq?&47qnlE5W4EpyaG8C~Ky$Oeb`RC5lu7rR zAxX6GBw9HBz$7Jgo?g(sxyMGU{+~rG%>nlI4FuCA@p1HSdU+dhG%pd>Zawy9-gTUR z4flw@&ep~^6zWdme#^Oy&nG>2SJCT9Z?6v4{}cI^GrQMQ3g=YqsMC0OR!?kFShIe> zlO(3tNT!^D8)?O6x6QnNHB&7yz)w27bI;zWuP0K^$)Tg*`bWcNO#KNQU`a|_cW^zf z*eXBRPOam9LJ5hVlg@+^BKrokUl_$5#m>$ow=gH%@0FTaG}&sF{FQW1L&%eP;YLg! z>>mA25UzP{#@N^r0sB$n7~sUa{ofH6DJwBaKUDfOwjZv;oG}%aU&Qf|;Su(kb1)E| znY)uZ*f5yjl24PG|$l;@nqm>^NMH}1IM92miQ7oTc*y+96;S?}RM zBnx+uVZ*l5T*;P!HW6MPN@_{11smHT4oVXaL%?@lfBZ-uk!jNAHstln3i5M4Utjg9 zva^hgww-ZgCNDRc&O|YW$;aRS1KpH!W-D<;bm6xe=-hZE2e-eMpGa-ZudmtKa1L9D zeZBGRO*{KdU(abOtJ(fZ`F(9`Sqo#{hyTeiy1Z7Y4<_*OL=^{ZjyH(2l=-A`(SEVH zMFTalQ$LIvZTv&1X3%`GU;TSFCD^nV(6Ta~l{R6ovsMVU#P()P+9nNi+#Id2`SYfo zM_Oqex;yqLwO4}c0OFIRsUiN8iLfu)@v5c>VGAlV#7g~k>3 zU1h7eh+C({dgScByLDJ((QcEWj$I|&TVi15d_bxOV+hX@a(~=YJJ~T4U`-AOEvZ$_ zMS?J$H#G(RxU+kYdd0c*8YWRkUGX@spUxYrB=ODT2iz8x~)MKuNDjWCWE8;P~alq zJSGgCjP9lG2K5ZzwVak1UvkgxyGtP06>Oy(=OOpzFS+r2YiBEmcD=&e3yhD+Gf<1v%FqJm@dZQUNq6UrgSx$lKGTM&8wnR&*8SHQFmgI)8672r?%yD ztb}nXdkA2pI*QU{viw!sj1saEr#}YN?7zBc0bk2wC$Lq()x83z9?Tu8evYrO$BZ9l zrGBhC?>ge>r&P2RjG$2PH(E^)D(FtDV8X^XjR7CboHdfB^CS|FP0UW>FSRWh&Le&m zh(7lSVPGUBF?V9m1UrW^iL`eK7^O+J7JaLB?m}%pr#{H9ZQ6aaHRp3Mlps#^S^=ER zDZ0%u$wZK-MJxRurRw$c5*l$93O(GV`U|si`{iIs8kg%j^Nr|J;7s}{sR5zC6-Sj> z%`+M0hN=y|b?bYKetpaOH#Us;VMk%!`ZXJaf4pMNJ^>cG{_TyM{_#r8Ss9!4b{+u9 z%xpMuOz!Rrn5do^&7I1@(we=pZ7LB?WyRa!R0bpIv*e49tn&QH)=@3ituyGtWNX;! z$=2CrU#B8Z%XSBa1c!|15fkVWRqEkH>hhCa?JTh>~UsN^fcWHw4%{ki^i9BF0XC;L25Hg z?_LV@;MLEJ2YC)&t**?)tH*Sg#j6Ucc3ccU>0CbEN}tZBQXPf4Xgij^@}-7<>-oU` z%t9~3{p(@5AGlw4*$)io12GP|=&4@7=rYwg+Cwy|6@>k;Iob8qG zCQAjZ`HCG1{uJSvy!wVE#$b!EQu~2vq1OTm%Bs8(0hx3%>%#y0Sy|*T2d75sC3guP zYrsdOy*teY_e7YjMaS26ZrmR#zZ;jhWlVzHTFm-$%=*mW=<&uavK9&E=6h|=6Y*OH zPST&yIiDOnRqc$J~sg@I3yZWSBifqE3 zi&o<33V~{q+BfT6lLSf`psIHNi>xobl0Yf#p+sDiIV?Hkky)OYwJB`pUA*boGE|6l z=zaaq6UpQ>X%fkhT_~~*y<;*`Ip-`;52Gwqq@|&c|FktMDTjxNY0PPQN=#Fv_Tu!g zt!}OXvl81mbxo-q1=hUZmFMN1=#8pQcY5DF!AiW;y0cGh=c*GBN&$`{80NJd2#_X` zUvIZ#2mnE(@0(`4u^avFW#N19dI3JYZpI-H;3>Lp-CS7R8P@fGbwZ|m zY$;?Je$y$F82(<~xZ#j4f}=%y>YPvN$gAc3YBiVwCGEH(mwuTzj?UUL=rh?bS*j>P zZeJTe9a_KxlerzWN}u&Fp?kD`w_RggEUo#X-&XSu1>EpaFopANHWC@l;}B(H?kQb} zszc)WoA9%#Sv?b-@n&S?bq#Y8u0`w@0`#$K@R!H4@fq;Bu_@`*cKh!h|2b|r6F84c zuFnvRL*zYd^pxz^XUvZ5SB>bdH#f;u)O7Oi<4h;#vS6ERYiYc_%XzN#jXrVj_L+bp z?tG|j+No_P#HyAX<^B0hb&(PByJ7bomC<@lx+j;!Ii}AfD26UKD~$Vwm*w>K zExd#{E{cG2up`o=+@&_1a8D_+Crv1Ek8{$RJfxPzJhh$Y#paxa|Ye21UjqfjGQ!@6xwvO2si6cN`hPHBJ_6fZ9R|&_sUK&RA2|3~SC` z=xv>jf_RLJn6t)OHo9i#bbNPL#~n|WCdxyj^27cu-bI`IcYh=m1*j}BtDF34q?!3083jo8J=m6?Y*!+r zfXOP1*U*QW7rx8`_=U!fFQG1N>A%qdICDs6+R`oDatDk>Y0~Z7;)1K0;~YpLXy0$> zm->w9zMa9lX3oH~d6z5khPzayfor{vRxou?{O6SRtbg+T(d#0AAdZ+Z=agNng2s-p z6*TRHS2WvM_!Mo>l<=|hl+u#M{_Z`ROf=njZvY(fp_#s1Uu2xS941|_t2aP?7E_h; zBHGe`kV*8Gr6T9XT|vnS;;i9Op0PbsIS5V(pr|ymK$=#qdrD z_QF*d+)5pf1V!O{i2L_ka?>sPZhr3j`@ZL?I5g~6jvRmzwR}%m;70(b7igvgTdCNCKe>H6UMT0u8`H=&!-J2B zM(YuQ{d;>v8>8Lp7`m)vm?Q0pO!mW_RY1RrI;OCssZ8OFxTk_8QNfd9`IBIFW_Jv^1!l{Z@>dnZLmYY2a6Hgh2_F}Tm9f$ z;%KC-Y10A{tGzpANOo;-U6%;G@Eq<)X3%r)4ld@A?0=z8xNQ!`QmT@;)1i}MT(cx& z?u1=q?$WYtEaDpT$5zKE>EOI5n_t`^B4e&y^MbYJtg5x{BDdzT)?F>N6>W_t@Qv#! ztUw2=ISv)HQ#a4eYdkFSz=uON_U}1=)z5DzOQddEjxF*dqvNb!dLFf{N7DM4e0W~z zQm zwY7-HGy29-Gk1+_cpp+RG+G~GNsR-;gfp?4Q+73C3?j>k?98s=Oy-cHGr=17E>XRZ z5IWD3|GvI0El#43V8`plunwcV&B0%t9S1J37TJb9u?14KvuVeS>BO5^%_AX`AyeAu zEL1b@QvH>W`P-V(Nojp8If?T=cardWwvLqXO4It7UG-7I8{3~FS(x8&a!QUADw}IG zb!p!T@238{cqDEax0dzmS)b19^ekTWOa?yQS@zNqHo#*Ua5BbOox z?Kttu!&Zd|-nT366wp*6Kc-O(tK&4KeNF1^nh&QQ;C$TipCR7qYq6RSuX{h@&)&(j zzm@h^#awvDDMiVe?bElM?u~uey-UJEiXg=1TN#(@UBYcBdps_!QG(DosM=&jiCR~0 zOnB4Du5{@WlVjFPeN$cita)J4I@y&zZL{oX`dkEjtxClmQbQ8QNkrOGBV#%*%Bj;>HqW?QLLp>Oe2OV!@aQmeipZXJ+GtZ zD48I?)&e>8$hB*PFK}@G0yYrcyCnJ`@<^Oeu*xx#(^4(SSkex^q7IjvX}Cutlm-{d zQ{wUUHQTM(#}n;@#-%kx=k*u?CXXMaEiJNoXBT1=V-zG3&g-r*n|2&*=x?m%Mb4W* zlb*|VQk#)g>T7mQJB%bCHLo_}3B6DNQkEe}TVFpK0C6}+&93RMNALz9Y8L{nPYUW* z`ZZ7_=`J)~soIV^hIU0$-2<(8lcX!VzX%W4Y-<_z(+f#j=(o)0ha_~fwwNnYW6b`A zK<1t_nr;h<7}3L=y-CN2){3t+7ku8l=dgtI-&uvHct_@=A7}!MX7Wvu_mD+~0!9ad zSV)7wlzIQ)4%8+l%%ISu_3o5%dP3NS)qIEMyb^P|UGs{SzKF)-g=R$rzok~RenXit zWn^$ArJMIUvO~&9s zW9UjjtGN#OA<1$>gf?a(|G{q>#0yMZ#TskwYrp_{6wm(k6=_?p2Fv$xhO4f0ue;d<;-*P0|he#((pL5wZhVu?eMKr%5LZ2$5DppYHgz0{Z;JLb=iPz?1*VRTRdKpu z2U5sL08KKsd+A;Rb`W!??UESsD0ZU?y6qpFkaf*mhcbM};^;e*Ryl@2(fPR_LU*Av zIMNs*7viQ-ZbEgMmS%?9F|$X4bu}GS01Y%h*GzfMlwFPZLBMGFhaGY10f8iz$qPb! z($fSHv~v#Qp*vE@^p32Jx9r2c!H?i;NRP3$Q%Zz>u)@+HDco4lBZUN~@^CwH zJMEpzYpv!#pfQ1vA=6-6_@h0U#$S!B)~~dk61+kzmX$;zRZ|quXDXH2!5P;1b@NnKvy3_tSC)UP#yYI1 zm;8gxl86#Vuw_F=3n0?GiW&*j@+9dklI}SRumY~+5rMfY6JC5D5+W}xNmP9r_7u}m zeysKFKHiK%JM|%UtEXemQ?b3p^%j+jEqsUMhbCdux=Z{J!gVoo@*^h zI&1y<;h%R0!+Dq)FQX{XD1u{osG%g?y1S9j47PA)aJ=e+=Qs5;@=)B_RJASL=@_8J zEqfEEDF_`R;qX}}|CfxTFkCKO{$!-iOD7q-=p z8DXNT3v1d8&e1Z)xYNASEo_h)xqe_P(Sfb%mg-S3QPVOLw-2Mc1W$uHDwodM&Tk{SQplaAAHoM;G*))TW_NPQm ze4lMrYC5;(_*0WfCS&*CBI4Ae0FDSQME^89I+LV`h61ADSC{U&X3v9%W=NrxGRaS~ zYqo+u2K$&6?vg#<9KQ9IBJcaLkiU|YaG-kDlY>$ML$DSCguGKnXnDH3u_`!{KH=Zc zW3xb*ImwHU%frYOuiC}|8qglPf`AiRGO%e(=r&s(*R8P@eI#xEnLl+(n{QkZcbCe_ zg)!Qk9Ndl|5Rqm72aenrjN!_^i0fe1J30J5ia-sGE0?w99j3uwOo`A&nd&IWAyedkfG_pIcT_iJ{Zg}Inr~|y4J2k$vF8kt`Q zxC0U0l_lEREpZ>ga|ZM7xUfMEX?4xePC z`G(3i?$zTB;2PD^^+Y4{U%{X`Zw>U5{G*e$RdLYtI|T_&>|Mko=3kaiHt4bImh(N4 z@*ocsLIn{$Brl6KuZgEw>)ibO_cU)N-ri1qJI_jQqqm%^W{7t12{&2eV0p?|)!EN8 zW=Q%i&gR&qZKi`<=LJttArro@=9&XAe6g{o$|BK1C*+;`MZ z>O9pO_043}NB#weONKG>3@_}e3)x68B2cEl7*imUiXzK@dlLLl-PGEZ*VxB~T2{RR zBNI9V$1>lD^a7uVurdim?TP$`{#PN@^>2YSNt&weevIBhlT8buf=sL&H1=cLT5>!> z{dZR5k2LQ-$X@JG4KnI4vVE*-P25@IPyZTCvAHnV?A9n@pi_T0%9Ww+ayo+;ri}f7 zH_>NC(#0r=R1+B;lve2d;D=C=XzA|zpjolAB$_a%TU8@ zAvFxvKx^EE5^E!aN@Q(dZpkd{Y*{9HVwvL({Y8uo@N3x_>&kg7L*_v^9_+{9*~bZY zc>E{ba#v88eU>WvRXbAK}yM>il zZQH8XWb~JT&)CjDa?7$m$;ovpQ?qs^$j5z1S)yvg5?(2paI^AHD7R#&1e zNFoi^lUbvO%89%gO??R3pEiOwh|7N~)@xA+sX5Es%hk)i(`_=q+5r*pyxh?heNljTPl5Mz*4S zzvCcboDmTsbw+wtD2zuG7+=oiUBOABaiN8KnVF)`7}&B3V9N@RUicT*^rFk@+c(hh zJ0QXteFPvzR`To2hYcqWF(|W?Fm!xZ?q-^$E81rO`?TuX;&Y4)=3P+8mfh~C zM!2<x<{D=o(pLqE1WS`lFwH5$Y+u{YN086PW!*z*NYCMf4&|d|2vs-*c3A;OtWMq zd^$+5&JkCoTS#0@Pp3?V4h^^&W#T*@WM;-d@_Q7`JgA_RU;riDd$jN|y$VjjX8wfh zf*xyWD7SX6ItNk0Z~b&h9opV>)8zXT}i2#duxL`7+w`@jDI-x`T5m8f<1CFpT$TYtiCNpteXbT+RfI z4F3AO7J-Ssv=;RN#%Kd$Z=QB=$6=A2cCvg?@?$WPs%OW}n7(&&OT#|avi>#CPJc7* z=)lP)MxW=MA|2$zSbmEhhVg7lN@GvjILn-fV$Jz8#cb!rg!4(1wnhnSUfbCR@qdP1 zxr5rck(19iNDXx3?mj@G@>ON#agKaN`BnbJYp`eL7%T$vN9Wsl%gU*0j#lt*(3!|i z@rhKF5POmBEy$Av$r*GF6+8Z7#zO$XmE8GPJ=NLW@kq~p7thbo^X4ZzyMt>*+`@5X z^u{GT;$-JM^6uvaH*pK_rj zEur`L53A)pu29M6!h(%#247S5*5i6j;R^qT{lf<4mt(<5x|b;!o7g+@#}kM!o^ho< zi=pg4CJf{-0>f=o@Aiv7CpXzS?8z^wte_andiOUa1>aOzONL3?D?Z)aeilpZjNu1B zxYQ zKQ@0c@@HP^m2SQ{N@s)(kAjnG@p-A*$yoBcs+P06JZ~^oQk|AQ(wK`-#2ZPpwcQNL z42IE-@^=o@3AS|K3`A{KEsv$%s?bX-&FSA*hHfrrCx3q~X>1e#oL8o6h+J~gCexe| zP(lE4ND=I6tCilL$?mc4taAl>R@b6XZ1~3d zmJJL`dNCexu~}~@)?p)&5gh|eexY*3Mx4$uv+JYSh$p15gaR7QN@dIgPQM=!Qzvn) zGd|J8vh1hFid^xEzy3Glp@drpK&=p}d#o;d)(Ww~NJxoY7`up|Ik?-V9Pak$-IRdAjTeIp4lo;M zO~8Q@#8%)o@&S_wy#d07Ksen2gk?m1GlFz-5~5dWr9q~ovzhJ*oWBPD{ZA^T;gwbz z4B`ZP{DYaXUq%&U&TA@pA!26)cmwrsf-60{1VeSlrl|rTqKKk8Dui+laW4h3x2*oi z8o;?ykc%h`=0?Du34=NG8(|pC_C`Ml z%N5$N{$N5#kIL1h_W(P?64k81Q)0O_dlgT_j&a$k+5rp1+WCx5?Xmea)k1!ft1l zNHCM|hjTYt!UZpo(o}&zAZ944O*zd7^+9>Eraec#Se0OVMqALOe~#p{llG7=*y_s2XB)Hf#VYV& zBuFD31b`0uiIC%ZBVriDXg&?Ou`LBX2}OE%@QIRI`cl7E(j75*se^ zBW%3{x}>rCn~vBm9z0s+i*%Q0r_rW@C7@UapA1?!#Otkho`43{at0zOm*Eu4WQlgu z_vY~<0#+beFUoI1AU|R6sfS=mJ6F9JR#VERe-3eFOOZVdcv1~KY4!q!qWwsAH$oTc z39yIE%YXmEOAe~caI^pH^%5RbXt)KAI($SFI^cH?u5s8QSbbL-3Llpd<1Isxmx#hQ zzz4B=GGKZGrY!qjbzhU%10&D%>O2}G97UD=)m))1DUB= z$(^-KdPcPE?Ch1=5&6KUKV?0~$jX7kSY@SLzUEy`V{z8PNMnRif}%(c8=b`apX`f% z!`_50aUnb%4K85(?qfB-3yhKk>W?O7o1Eq`VuS~Rs=63cb$$Zqv7x+C0{YChA@pltcZ_6)x2`*ea&#+()Iz)IW< z=P9Dno>W>X349{DMV;IYpR`$zHLbRF`f7X+@Xdr3E6FSF3A|LNOE^-MoaY@!7TJ`z&w}*S=tAl&6Q6rh688ZweCo$62 zUVC8K(FnagSXQaKEYq(5O@c>gCJR5aJ{QyXyx>8$p%(D*y3z+&rjsOEB>4nmYwHo{ z%rY(S^@)OBpBS#Djt0D;T+y?}W($g0iE*S3KlG-AtJg@BbP){%c@*yCF;?;?6U2Yc<){a_HJi za<<8SVYTk~LfpHQkzQXBcd(2ogB)jD0^i0l!FlkN4E(|+H}%_J=I`c0X+<@Rv)e6| z;zr?DT?pX@M7yW&QgaUeS9?kT8PuXroPD+THkyqpVe`lo|jC4K% zAA8XH2!j+M^8%6KAr-0JJ($L2XX>5ZsZ}G`Kt%_uM+bWWCDit=%?I@0QRA?=kPjp= zgG&i#Vhj-9BIh)3kPfjY@#GZd zt^QCiBt*{!1JQUgcGN5nz18$a4sy~6hX>;+guNvD{?T6VM+E%=;p7Ff^ObM~*&V5* zHH~|antcS8EYB=5K+32v6(TilrY~4QfU7nCa+dbuZZ3x-$Fya{TzP^Z`tHS!A}0nM z#4;IafYfLqZ{c}~Z(QnnLPKy(=yJzaa-N{%xQPb8e<)%xNoN#V-c~*+o@O{7q-F-E zl`c!})9qdRI2T3xkTIdynzJ{OP%1c%NQm{G{dm(39=#1QP5H-J%T}967vtNo{-(;S zC5&C&6YBCQgXcIZzGy;S7I2Z;(Rap;@qVwT-pOy6>W-=;Sk;<4m@n9qo=JM=?RGj7 zxVz}AK@4~G`OkNJJE9wHZHuwKkxk|$r1uk2V}E+NHSam- zO$VD83%HVz>HaQE%JQ3vpha%tIr#XyUhjtoGZ+HzBN1N+Upp{b?UhuGc?0_de-_Rf zy#~=(=%r7_X8FRn;BI)$0@-|f`k7xFYF$x3ABHqU>&E}upb&nc=`7f6hEOZTlpDxBka^ z9M(TLQ-3&YA#|iy_K#r3K|yx@Lx1|sAd(Sx|G|4u)SCZ2E){G@8=aH|kb`1@p0 zX472lct$9bz5rkZYYp{`3-@};E$&tB43+!Mmz7)4tK7*d_v1{tr1O4K+{%b@Cgu2W z*?A?)C&VUmruk?4BFHn5M6jP|mU;<1%p2ZTfZaht&jI)o`o7Jm1D&|rv8FL^r9uvmwY zi6AO8xpyInCrz{%$yDl-2>-o3ixNiA@C!pn(I0~K21-prUTc|=qPF_`(xh3P$I*~m zRB5CtTA9BE#V?YkHtN#IZC3Di8mC`9tStB)Pdxiq5WMNJls^Gt7xYJF@~-_=+&i~D zq>UX25vgE;Xk)OE>&3EE5ARK@gE|~HJiGk?PN;ucLPt?0N-^=;WXqUXYyE<-!(X)3 zT8laZop&5|U^Bclco38wR`Wfg+HK1t5{M2A%I`xET59Yqms|5M7GYhL&pNA} z%kTqq4<;x>IFx25mvCGTK$sq9V5R>7Ox_(>8BNVQkOc(3=-s-Wcg-I|w-lHbBYI!owRQxgz|gaB(|DB3wL^?QI5<$`8jfGKk@> zB+z8h=_~@H2@Guw?0rbz!1lEVZZvG9dTVhUd04Nv@ zP!rK28%%q-K$X)>SVFTF?4|{2yI9pXG)$`VF4-kn;ToA@s_Q4c75swl zO3x|*0nHa&J#bzKZUa6f=LpU>h!q)vgKzh4{l@IA>8`Ti@`<93d&3@>hZ86hTLMeZ zGas$1T9IK^`u;&0w^#P)K+gWTk22WFF6Wx9@)`X2PQ|C)e$k6NyMr{FWj&XR$M{k*W!@A4?=j<}5*<2mB0<5eBDcVoHVcOu91I7-P9 z9?k`9Md68ptt_>@#v-@uLaNDq0vE59Y%~^Cda-<`_!OR+t)b`HWFZrr|IjwF4J|qc zDWdpmyu(kSy$&^|L|zJq@BlmO%(M3Fd=ov%TZVL-_qayvulb?bzu&x`Gmr>SkZ5z3 z0Dxmb$D%!(5A5duin~ASuKoAy;g?W#&wQch(7zNV69@3Hfgd?1_MRN; zcU5J79k@3%!qcEpxR@Pm zmLA|A@`}c#-3)y9$P>?%4F(-2M+}ZCO6sVhvvpL_FDjcTsUwSoq&l+bUi14mb5xO4 zwWP9zdzf{`(?pILEwfsaqi1wYmMqvD-*v2ut-NDAf-M!u-mxlg7G3OK8dt@6;oW;(|)vH)>YgLt2`enCpD3*0iX(fLsW(_#4 z#2RqY5dIBgR)%SBQPbK3Wb^$A3Fld*Nqs41C~utL=~?ehr2QN~HFNB<;vej`=E}S2 zsQx2EwblF^T{xd7y~$`1x0z#WlH@`y2bk4s9%Dwkm*q9dLI7vS563_6HZa7&TYj@m zmQ=6!=RX!9#0=70>C@DzI#8|iH=W(idXf{E;Nh+Qv}@$gLG5G>GvC1OEmquB9NXyL zX}Z-j6(g7m^?c8~qnWP7mLL%Fy{7~5F#qOfn6DmagzJl*n*^SsXM&HNnmH`5p}1Q9 zX=fSTn)!KLK=8*+)|vpgEViQRmh;)KHQea@%iKIepL+8%1J81Gz`gfw^uuJ~y$keH z^$u?iI=lTQ^cWjmoxcN7 zRhyGln=m9?xArpIDK)KWDMr*Xq-Ufy%E_)Aj+dmkUBnOC-k_t(it?7Nrhm+TJ3qbV zU(dBba0uV(Uxtxazon;uaM>jr(WfxWZs^;^h9`_1{4Ft@>W^wXwX<;gcVbHnAf(T} zX*I3TbNA+QWauQ>WheSyn;^)xs#5cBd6{%B4+HkteJRfwRzy!iX@r*hPXD86#~bw` zwb(Ke-~_$^7WCYocs`V`}-zA*D4>%rcWb4Pv6f6^tt+%|xWz%YQs7q99pbi7lXRn`K| zJhbz7TZ`6NceJEFBFwNwiGG$h48~h)IvNGhgHuYb>z8mwf=dpkAOd1&*dOXbH zmvN*cd8cxQPdHrzEEG~6iR}~7C6T}KI#T(rAgFQ^E(uu%%J?*D{~Q|Z*r-h=a*Dm& zGocaxG)Vb!m^c~i^uPX*k3hQFEL+yFoo_}TTs#kYltqRt{RR<)T>J0+RgtSNdY6#v z;dm}`W!vj4-uJ0K=2T539)yHo5!T-8^8b&$cMp%Mx*or0k_-e5oS+1vMGZCBM8T3u zl;I*7Nc4o7>AVU&iFiod6GNoW(N zt0y{tFK-{s9Fmn4>_-jq+xt;HO@2>*R8QwO^s(Mv@BBA!jX+eiDRUi`35`kqpzIVM z15D#ER(x7b9hdO$b1Sr=w{IUBK86bOV|ja=x4|p02}Zcip9A;19b1OoEl0F_dtpp* zZ;uLXhzmo;p|^jKHvO{YGP~qv-O$1fM8dmNkIc!AXVz>A4ZzI@lg6R9pO?0rGA;}x zAU;SCa@iqqO(Gc@uvN=DsLZB2G5)2wNcX?ZPU9qLhqRjIwj1$j_tMf3SA$eqPjdhx zo_{r0Fv9zm^fC|K7%FyOtM^PEs z@MlCC+0)VxBc#cCUS(_Z#SkJMQuD`o%LpZ_+1$p!{{T-5qe*O43J+`ZyGUK`Hr?Hv zDk~`Y9uvfHL$=gjxL%w8v1%Ucan;UT+UYbsN`#J+4GFv_q=vfUn7E%^iB=vc2$*)7om45N=qjY51V-dGob#?wTC7t>U&SsHggQ) zx{dOopDM;t;<5o8(gJ{06jAr?Hkq_Gyw3aV)c29nA$ckH39_6y1Cl(I9#hD6<~Tt` zc4~==y43fV$oss1|NcxHl_{f3ej0?nqJ3;fE^}k- z8ssYhOU-9Rn(NM^8UJUh9nR~Bfy+c*vvbtZdfj_?=Ic!FiT|cW)^{Ljk0yYz@59l4 z&V$6g@09zWB<_pWiKW}S=S5!D=Fu^N#{kM0w*o~t$!pl^Do!Vzkpt6~_QpwDp{$%a`cx>&*@gr;B zj_;?Ux7mhIWJ*;@WtHzZUoclhegc<3@Uw7ZiMB{2+;C&woLnhFecKuY8{Wp5cQ7#% z7)YT8;eQUG6ZwU8g&5y$c(s3)r*~^szDKmX%E66lPihSBt)kML6f}1XbW#0UA%Y}{ zefM}A{4{}YKwTt=7C7jObQ3UsBmG%8h}ARM6`rn^8&CxGMH_h6zGkQO)w+Jop$kFG z%)avWC+clOEU#a4@O0I7IGPySB>X9T>HyT4&k6bud^i1<&`1aUpCR=BSD;rdx!dAn z6@8sT-|?Y}ci8;le@Wk(duuRb?TO0Of>nF}mZ0zW=gE6}bmN&K|$ zTl_teu|V!`J1U^`WX`qR2B0R#E%yaXU+ zl+bbq|6znW-y?>|0~->L!ideuwHi5o5qKAl<)Wf46<8V@Y2VvOeO0`l*6f_7c>1N` zy_qx5vtQddZir>V)w67ha7H*m9@5t;dSP>7Ito1`=WNOq^V61Z{(t)axAgxEXzZZ( z|1JHiv^(Kw-YLZY)LPd;7?ev5=$MR*+dlgy@8ATF`nk1>dU|VD*KL2E`qZ!wZ~IqS z-g%o{Yd$-+_`?wSx17naCP56$hRHG;0CJF;3fqAA-%W+{5>vrme}!QFyZKP8z-UZN z?@MV>rpM*{qNRe%MyeO=py5<5Bl<%7O_jV!tiP0e@|62}xwkvidA{77m@gOo-<~fH ze`S7{ebC~e2X66ZtvT40ci#2EF7yuhQ#Y^4)V*UevAj30!OLSz zHYZ@_HMv~nhVTr!24|8nd1#uGf^8{!5-k=Yo=*EujE)@OkSc~RFr3e`owsve7awY-`l)> zPx7jh4p@}lq66M-tzK}Pfb_vz6UtCCGkmN-TcGs2%e&+aa*3)--)xbxD1=}3uhgMI zQcthdJWWmL>ZJwp(k6M29!2$lw&HDvKVfT<+S$o=XM0jiI;)Tze+s%0d%Hn&5EBmm z2J)wg{*z~N{DD$=v=i*D=hb7lV3?dr1m$2otmC&m#NJLg--2tANQMBOR<&9(bm*r~rOrN1_wYy`ZJ zg1`SB4?*eO!>^?FE}_5Y;5VU9p0{r?1KEiPYIz_;u*Z7w$VtgHRU>*>IrQ;i)GoHM zT|N>G`Um1{LJ(G6yP`RKEOYwJa%_Wp)@&l`?cu~>yvtbcH-kA`%Adk-P{F%ndf|bF zSo#tD8NRH%PsdkI+DrP%g=T^*0V(Mx2kn-)S{pJ#=M$rEy|$D#YRB^+E%=5UL@&F( z`^gG}Kk*mAn?PW!qiLUcefJYQJ`sOHzPHUr;$jci$(kUap2aE!Q`fx=rtJ05eB?PE z>lb;hzzC2N0<(LuTr^lcIV;eXZQ?uu!~K^w;(wYgiAjff`tyDU;res(xu^(djB+RC zFYd`E-#0d#Z%Kku!mF9+W1H z;ydL>vY!Tw{u8(^H3sVHjhv5G=L;e-Tqxr?BrTwhcI#26?wtZTPel*yvc8ZzW48j1 zsj$3cl;--4?`Rv!&<}tO>njd+b5SkHsbyhCzI7%YkeMO~NMRelmU`x`spltg#HYre zJ|0@$#TC045M(^%?BiyIlLx8Z#!3B5!O5(E9`*c&hw@Lz%V{CQKFb~A)b3#GX0W=L ziq!#!@5iyfUwT5-58wDPP1T7781{(#v5NkA+>V!FdMf_eMObR7$XDkc54X>)?9;F( zR{{&RyNtGOEm|{gs|0{~^2k-0-LNNHTh`RAO}*heDJAdPU6q>}_GDs`WWSX9n44e0 zgXCb1L+F&FZ0u$Fx7UlyHgyN@s2bTG#7wRX(_pM5Q_T4`*eSFjm$oA{$|-C8bhb<4JoRh zQihH46dwok^aJCjnk7!E$Q$Lj0e0KznK1-cl#^=C(Ju0T(t7uvg%F2J8Ct*cXe=( zwo=7@joiN>e6rijx5CFR#!nwzrb6Uv5>c%VZQyD8oPi8shLL8Y z?)y%)x#Cq=tI20`vwZfu-`jNb-5C4g1?gUi;vc^2<$V4qL1M!D27$Q2PG_OsqE^Ck z1c!#(P76*=NMcdfPw0ulpVSSi9Xl2KOa=4}5)!rNu@Ib;u(=wqR*FABZq3$p9#_<6A^AtYV)V@)Ng!E*daW( zzrZe+bXHM!8Roa8gpaH`)(y{B%Jbk)+#I7BTf-i%efTx_!zVKEQ|FFs z-=*E^M+nc<7S!>;FWyPslc8s94-8r>$1XPD{d{_;qM<&MOt8fK-ESYDs!Y4Q3f|-x zpA_!Z3peY=r`Y*fn>UKc@*%M};AKlUaU+wH1qr8GHC{wDiTxc+*z*oMH`?7A)T-vX zhX%c=@}wAeChq}%LTor}$eCB%4~h-wxF`8)>|H+ah1-UPZl)8VY~T$o2WJ6eORS$T zFxba)#4E;{Z1eO#Nw0VbGNo@g`LYr{Lj~m=$9p$x)pF*_qcrvCy;wWH))Rk2{tUNW ztkq27EeIk+_~+UqqG7<@FaQFSWzG_@>5yI{8Z2t!L+V)}I(heM{ta<<7*T08?=g5Xw{8BJ*q?M_Qd-SRP9fNu2T=wa zqJwt%*x|2%v<^O`sMBqU6u~}BCs1|uZYZT{whQ8Xiz_{H6U1q0^RJ>ZzY&w5Seu9| zpsfr6z*=`?&IaR9NmVv*`R_KLtImA7}Yky=K;}@TPYefSmXg-4!-cV%|Z+IGH-6dw|0V0Rm1Q~!J zN4@J1qzKggH(1aVc3p}TeOk|~{MhS^P@NtrrzLioRkNYPBF?K~PxCxUf8hfYl%-Q* z{)P_>ie1ULC+>ADp(NQv_@pAgO(6j+^eR{(Hh63ZCFw`-d4EI){5PjRDc~!VZIVv- zjpm|FF-iaCH>`k!{}!t%V94W9fC_qZYvn$Focf`@Te$-f8FX2Du`JTP*O^%4RjIkq~jA=uz(OVh*(ybYu#`!9*F zrB&kurB93Z9e%#{c;oN^c=ljqa~5W*rTMJyYus29o{lK6p|$i{cV6%V{q}*srIi4l zxP>Rf-=u4cmQib@45Qvhcy3M2#^u5&jpsqvs(x){uY6iSYH_MK8xWA={Mt$!l@*tA z-h}oI9}vunjBTnq?$#E(F0>&|5^g_o2Nty$WVW=H-VYGD!vDYPd+Fpa`HsG*)HXyb z;89Ia`U%`SUlhCG6RZq?z0l9Y6&?yB$F}T2_`n|Xo^+Sh>&q|cz#byii(o?b9Oa`+ z?(_H^Uoj95Oo73u{d00{2+d$}W@A5O&o|$XSwKo$;O%|jP(gj;?<87UX}9$0-L&-A zBb{5KjRmTWSvZXJ$}d7xE534nIueyNW}k?n$phq z&$bbB9xilZyz#ck!YXjAu<~!o#MJwPw=DV;x}@8{{V&LFW;Cw(siG}51%e?Z-b!}W z6nz8{a1`!-I176l<5TOSH&s=+N4HQ-dcT3cr^5I@Isi;y;LF_#*B{>n2A(^tFhCND zQX{75eJ4OY@-u~KESh8Y&{Jo95R}lpOZR~gCW19Q?x1A#fTJ=oMhjA+&xmkP1!T5- zFu`7sN92I^l+C0LdrO%k)%insz%(iJ{N?YUA?n%AkNo4w(_HfNg8j3UAM4QdG#x3v zxUckFTs^T^d0M(f6eoEg8#e2$Llk1-R!7p<%w)Q%1Y0=bBbR4M)ly3Q`~>0IE0su zYVJ&s>^HcDCSQj3LX`_ipELaY(E0HiH4m$H=Y{%rn(lpMx~ux2-^Uwlp3o55O4c%Z zT}?;XER>5r~|Njv^l0Dw|qLIu)6&iUcbFM%$%`sqT(+m!dE0h88FaiMF6zB*P}wY+Fi( zU@rQpkd;0e!ri&9~r*@SY5u znMle5Vh`Bl;m|Xn2}da}nQ~*U;?4`MIpaY^AcSTM-~IHdLb6>AVNu8TrDk zPQuRhXp?YC2(m}~drAJBIwV^4RwZa&S15@5EP;Y?2a_n+0SaPm zsxQzPQLU`jy+XPJdw;=4te!u(j$4)*RHBDnI!$3n~fXz*TDg&?iosD5`@P=g|L`Ht@qf@3mGi0;O1ty;R;0FM$PS=nZ?)tW_l0(G8EqnA;pxs~#Y51oLqq z(H0tXSzKxAd?znxVl>pJXB(kdjh3gZ7ep^x!U?4`R!!Lags zR1xjUaJa~XM_@h)WQ;stDiB!n=#Rvy$Z%x*Srg<-8t;qDOK=eAYD77p8Kqige1U}Y zCe(7P_1i)P^d$l`6X;fD#D1rKC zddL_4#vQESWj!zD%~wBr_S#Jb71|`f(-aJl0LSgi5-`UHy1E}DEo~vssUeu z!9OVsj(CiZM0<9Tyz#D{+1GD;M5HW#;hJ(HJ1|`iua>TA)n71hg4sI)=7H|iS!{ov9=wQt-pJ>I(GPej$myd<=Ok^OquP8*eH8qu z62q@D2jr<<1(+^uC)j8lwEjeiQgcMhpA~USW}Afrc@0_a;*pHwY`bo4eg?>(W8&nH z(yhx?6I#t~nUsP=UlUacA_a@_np4NPhg1F@%KMs7!p7#wmqaQu4wOfx2;6(DScB?p zO$D#wA9RSuO0JOks+$Y488uscA16%ZGTofU;4Ki7Zaw{n3W5eJoy1VQ#5m)YEd-FO z0(manV2IQZj&q2*Hgwp}0fCaQSX6TSW=8(aditnLbXM&IVN>O0KBXR@iqZlL`f++8 zVU#wrTcBC|F}+)-he(D3;o#9E2Lci`Y3VxaZP11rBOW-jdGsmk*7hsqBnAH*J#sb7 z>OKTd(r1+&CSgJR9Oh$WxLd`)K-@qjKn{bPT$USUZ|-fHzC*Ny;*zsEF~7qEWopEQ#S5)^79cfwZs(eY*4XEo9ra1}*BfN4Bi((U zz($A5r;*~XwktMzj32Apt}i?Ir*4esC+(%wl(OBbs2h*f=_(FsUgoHPe61ebe?(j$ ze!FOaBy@8vEtJ%TFi#Dp7079q5vtY69)rU>hdL-|rq)G0^PaTD97S4X&9D~gU5kaR zoSLyX?jYn(gH9CE79pqg|5XBWt)>q<2WiGnGp4LgTJ^7Z6ficT%(2JcsQZ!~9470T zsAQ_1JcpZOy5Vbs#B%u{^eH;Cnt^Op{I3FxOP0=}R-CWCAM1ZQJcD>1PrNS`pvS3s zpO*}m_lP$C5h2vuoBZbR#?}Q=X+~(59g&!8mwx_&Tz&)iKvbWv_|t+7+*d7HIELR(rZA8?WxIy<~BtybOXW|~DRp2OTji!ap2)~==JzP?&oxFjF?DN)}AZ5Tv8k zsOR2BF`JHmabu6bf;n6kZ7P>kEZbfM$Ku9fd=fCmFR>Q?2<(g|*8TRTvNbMaQZ;#D zmiUxHyxjQ6P}u^T%2vCgWir!UF}#*wFV%AGsya?HbGvczngh^uZl22wj&Ail_M0v) z-ev))9)3+&7}N105q?=QBE|iXv5Qb?jbBn~uzvoz&)4{Rhx<}m+AlTB)`WLtSDEMX zAZ@rC(A?ok%iGJm1VgxTt!Rh>-l-7GQtG|h?7NfbZUOHMa_`J${yP;Jjp3c?tzj9B zG_6|nx4;`(4K(#axuk~|Xw0xg!1Jm6^hN7*Gn?tSM7fjnSHxJhBoKLR10^{RfrG*9 znY2ga14O;pKL^m<$Nay$OU3 zNpA{XKr+6l-@A?d#|i~ah}g|d=pfHj)&=GbZIlXqs7EuR)J^5DN$26$OLXt-=d^0U z0%P(VW3t5RF_Eq<4XtJ{mT<%*A22r05w;T!wi;IQq;7=k)c52!qZ+!}E4*CjxgGsr zR6UfhP93$Ht02d!*=tJ3g@=*S-yzJPIOsbwAaDP1+OtVNwq6}Bn8F7c>(HQ1RGLDg zHH7?bk3CGiN?xF=t7ErIE8zz+A@G6dGVS9So4>P868J1Ud?P5@5IPjOAx-kw8wx_F z32}ppm;$_RJf?n9X9URby(Zm>eGY^wY@`Ce+4{$0$J?VNx$=&LKSImaLLSwTU<&$a zmY#u}nsLzd6b>_UDJKjoB0Y?Z2oDemZ2WTQuGwlL47DNW?bph!mDwH{@f0#9WaOa93C0kjYegG zFdfA!6g%4vg#PfV5}ABj%}_d2HM^0kC)Lzwx26q~C{nFj%|syan-lUBuQ(=OnOEk9 z2d)Ba#GFyGUw;VYWSFbQO4o^M7W7!X>?g8zTA5t8ddB~% zi>t(L)Njtsv<^eG<>tLZMB&7~8b4h0NC(T!yEDxzv*9NDtqoFwJqnxuRYEt`Djskx z6WkwJaG$j1jnde&Ja-U4&_O{Kr3T4s8<++5cl8}lLOcl!8}Z{`h(skicv0PfQtK9Z z0bXmK6Pk;RIB_9Ew&#sjCifCo5UTb3b%cmZMA5B&PU zDR~|l@u1Z33^nk0u^t{mgYDoP?q0ZFp*cV+chH1!eEzRB=6Sd&sEGW zv|P#Bae&s5W2$$`g&9ILZ1i9BgwQI!OIr0E3RT_5OPk(9TJ&F)Y>NF7SkP4ZFIuL0XM~muZWLam-*}*EWkh}`YmQA4z@V0Zsb~Al`!kJ}II6R= zkoY)~_nTR7w$4*hM6k%%06Bc&Gklq`S+qj$h7F^4h9|&}a>Y<_trf?N?PdWoXD^TR z8p6T#n?>u2Hu=rLZ??`?b%nZ%k*cxHZw&rgPA}2Dd7CRgF*d}XVwv!4LW1ilD326B z|E`iC-{Hr4<9$>zB84f*08tDntf2ZxaRQ0;awE(<4*gC-#IL)_xLet*5X6 zNI{+?qORGmMxZ!{XR*(u`;qRy*hrf>cALd^n-#DD%TJpm=NUDWqL)agBi$>cXqJ#h zr1&(uXq|v}E=BEqKcsB%F*@+QkTQhE47EuH8@Hogse1U2sfQkS2SDB=(Hk9@9iIUJF#Z&B0 z{&sbm%bKM=sdmuR{WnrmGH@`R;hc@r{)4hMC z1F(xt&pki@V9d&g20=E9h)*RuQ5v~dGE%R+4f0+-9cf(TOt_L_+g-SttgggDdJfiiii z>ych^^iKpRWQSfD5p0;=BYwV&Yq)+0AvR|AnKxwYuHcl=L5#ok^s$K8H{`OXXYIa1 z@$`=U{l0>L=?V2G2v2L3%rtb{!fXR(_W~Z0LN@qNz=$f-q)l*Xb1utld+-jww=GEO z#<>Ndea?a&-jO~Wg{8Ao3QZcG79z8%=PK4PWpBXZOfsQOis45FXIpX}9Dm8#PX^4K zSM#O0O+kXfj@ZSusM1Z$9s)-9%e#xPvH{!|B<(JW`|(itycQt;fNcHUP1YMM0e)CR z?0PC!_%wFg&|9L|GeRx833-xEK;_Vp`6q1^t`BYVdk@RVchQm5#ZW`ojc(px>5(gT=#gtIjEiPe z$sw7iM-i z*3ItK++c;`hd%x8df7$xm!unF!F<>eeROjuD4BV`O2`oz1v(CewgbLcLuS)$t@?z* z#aN5gh=JLxh2?M)aw6lR-65^#Y;mC&i|M4+b9`=Wsx%%|3!6N-LhQu)_Y=5!R&?}P zCeIVZK8f8S{S1$|tRG*X5#nRyi`%$Uas|;lJN8@tVZYB81~olju7p9&INR4+ov%0t zf}f~3_E?u*B72RHR!;D^TrnDJj=hcG;|~)p+!Y#yfv=RxX4wI-UNSlox7q28y?yFA zo&lPa8~d%2#!x}g??*BLGlEi1ADp?ZPhT@%E3i}gqGM>wun(34wrD+nEQ3}egQhcR z>np>;*{(86a|9><>LS=8k?7|#J(BbWf4%Whro1_em?NNZz8IfDZ{?AR@YP!}gCuO& z)+EVon>oj(HwaJl&w<}>UZ2fWKL!4%4S&FmjG^G~mkNJ_1OEjA|IdK`o)n_y@?OGyaN_2a6ARpeyp>w#WXcHYrv1_%+2g@tIE8TYCKlWn#JZ0N!ob^b`A? zDsIb%Lcg8P>kA+$qEgDLB+^+Mc3bf?JMiV`xr21Jq#$%iTUsXsFHgfeORzxmhu;Iu z^`RYCMTYMZfUL7U>|pG;lGU$dC=Few`s^TNKhV85Q(tRXsw-iOZrrk#YI!MBn7Q$( zjd#W2bvX1K%SgXk*5SyA3;8M9gwKgukOxG4{Bm5S zrb-qKI{e6-!xG#cEQFtn-JWuU_zYX~hkFcSGxQ<+TUb+@cdr8&IorvT%79nfGub}T{;=bSue$@M~jmC&rxD_I4u zG6Nn)qlf&W_1)k%0$m^(GIb&H&|?uy&0zOIek0fg^-Q4q5GgT4x#U1U<>sX+*cMdB zz7mF#Xpb6W5{oKvFIcOoQs_gz`LzIo%!Fu7c4C|3Iz2Ew4K;8mp$fyZluJ2oJ(sx? zJCEuJ8HxxPt6=8(%{g#rGJe^`TktvmIC6cXu4xMTJ)_t_S!cP!L zC4h?LsRr;1K^w=?9L(G|S6S2f!@H}*lp|MnxA>!1sO3Np@2K)=gM%j<>q>u2TlKIu@T_;vgBd;D1U@*4gX z`-d>ZNcShDSQ=B5VvpO!jz}@xu4SIQ_Smmy+OPM@>q4iNCxF-9FPom6YQ`#(bFTcD zi-fd=3z!*V6Barv_7`Ar_<&c>BOHL5vB8-M!90dIQB4`BK~l2S=lLN$zq>)~FSh9$ z30`^9Uig{mT2jg_}oYJsbE`#4o@C_)={GN{0 zlx3*-w>`9vV*RC9)N=+u@((Hqp5^enWceGD<)fZMkJtroPRLWT_TX#xOmE~T+i4MP zK)}3rkh!dx@g5VI@`9w|^OU>4lyvvm=GaVOi*HC{#y3UVIhPO>yg--Lpe>yzn(F7W zLzjk|vuo9j&x==*HeU|RRRyJy2N@_n&f3uGIb#kQi_p#HE7Dde0r6II8aw@OS4T=; zP^Z%YH>lLJ&HMTq8%%#@VKYbWcdNJVL&7NvH&VjTu}&(G=?sVP%2Y4M+k4pT1EVRdA;6#eTMz| za(Vp=UOV(ShBaYAwrE(*kul>wMSM1Wsr4Pi1|t1^y}G!tcUQaAf~G46!eRFKja}9Q zi&1Z=6UUJZj7*n^vkKZrtH9RHa(YUNxL{L%Q1vnA5Tm zp~~oaz}?E~z^1!p#@U3BG+KNxa&MDXBa2|US%w)}d*~AIgX?5+wM&uDILqw#Cd@ZT z1bh;FyVPKa7!BnAbgSlTi3l%uG&b39hFn)gdVNJ{CPq{hvwrjk%!n|eaL`d|JnYH! z8|5iyQ>uaxC#!2XX^D1#gB@^dyR~zeY)fe({t2pV((g&8dPT2d=OKnN;Sr%Tpt#`G z>|USd3erT32o9HV@_X%lYh}J%$-Z@F%D%PG*|*NgSNqnpJNB*OW)N0kNmXFtI%f+j zBrCB>hx9g5yy|r|;~syFDRp@xd(jSLvfkVBv8_BN#gkq}@Yt*=bzTvsS)omY9h9kN42s%fM?IfV=SAJKKv0M^2_ zJnI-$ICiOBrhqas?{=^1El@$of8uH&`!s60>Zx5#&KiwixD4b_X; zHdJ&eEswfj1P{|RCgXq@(pq29NfouUfI;K5S-`NqPdl`J zI&*);Q_u^@`vPwZ*h(`aY~5b3^yv0@`i*uqn#Na-r!ezhnCFB+#7+e|(=*^pq(oc< zBA)q|;IANuDWxq+mHiHtT8|UwnFFcC(vC=&77+NwnzsAY-DGQz3|u2khlg)qkT94f zk>wWY9$ffHNt%m9xZEgwmKq0Ct%lS(GNo2?a4xYnn4M#>obA9Ly9M&`A!#(pIxf)m z1ll=AY-np*{aWdlRA?OZu?4dJ*tx<|@661~Hw4F`mFIZUho!FdKuV$TaIr4?sW5LT zB~v>Qi&)G#V}E%2IL5W$)Or;I^R4w{LWqh59cF1w)a>I zmIwijhMke)3^*!1F4xhuyf4A=h#@trWKr@N`((XB4)%vv$`XKyl-p-4ly}&Qb%nLE zIjJFR4n=8*@0iT1#QNdGPRHkc zYeuEt{I#?}6bca|1Lmv(j@T_}HMCu7mRYcf4Bb%O5*`9~ut>x)j?||iRx+TRSj)C5 zFUTosSKYl$Y%|?a>!!uFt>{jW?EvF6I^7g|w1>$5Izw3|P%ZMPa>U8Dj!fqa*=PP* zfF}nmE8$4LxsszK4lz9kW-xCf8PRw;iyeY!>m#!IWrof)A1&a*c&D^q6Q`>+*T?`z z#7)|(sxDI+-s}oy+8D^+4FI#JAWWekg23_JwBP&I2s9m z;d@Aw>G2+Fow1wo8{4ijhhGi{C`eR%F81CbHwap`7&yeg3tD;uFgaiE!!|53p{?9| zBDAv1#!*=jSz$JX`o@IDPnOAx_C( z&X=Y{sV-D`CKdT3it-Ffn-7`kNhhCK6wys$5`q|)GjMYCb(uBw;3&mR(%c+#eEl(7s<|&YYlwdg3rCK z;F1h7Oc}!UQ;FYu97Bm7m&mwKiGu`rD{aO+wCAiBN3F&C?Nj_#YA>s1$~+5Af!(0H zuIixyaKmT$q-pd(pzq}LA>*Ui0Zc%v-VAeC`9pw(g}@-Jv|rm?q-GB{)_anZ%T}cjeZ{+m5#<2H3l8 zdSl(ZT_V70HDAyL6ag#{-DBO9Ug-EzS!^<@6jw3_ptRZ_98g#FMjoBR5VzIy^!>_U z8FmD+MYR8BwBz zhaaX_wrGfT2R2)}cYzGCHeV>mAI)eK^dclnOXZRIQhUJ2$Zqw#a-RTRE#AQ$^TB$k zjnRT^L}fxd;awS8O@^~S2ZJll;d_?u!hfly`{(>v&n=gwyIR_zq3Nuq-KW07!q3{1 zlQV<^?;jjU>dA#oT4yIYU96`=7lzfJuN8-hJ*A!{>SO02VzNp}N2Sj>NO7R;5oOgdpm1#M6*51jJe1C_b424unne9(gTD=qvYkCLQd zGnZvHbE)W`Swa%L68HK3BxEvNp!1 z0i0TlMJ=h8w9>l}ZS`C^9hBVefIRADsH@DTt~Zw`>e};9sOzewspn6u6R`_9t6`{P z+4Myg-lJ9%rZ%x_<=i8ZF_H}wMr#DZ5I>JR#V3{YV+}fBr`bY&ehNpdaGe(r@HV`9eaH*dg< zilfcQh`axx%Jx_Tz5bS0t)46H2IZmd2{gu9dFrcLsf><8v6N32(|4NLyc#vc#zYCN zMl2*#N=>&*y+Em$Y}^3;GqANnOi=;-(U%kgizsDvdqt@!9+B7M?ALeNuUq-C_P+cj z6<@*5rhB_U?HGregRJ}5tSEhx-#9L&!?@s+*W>BJXgGRkGQK)=xNz z=8STRW9xb2k74^ILNX$pBX6Bo5q_}Cq2N>jZL%MgRr;t*ZRvFxWNoNAep+z6nbYS^ z%w0Bx5W>hRu_l|icf@O$vcLv}KrW$waFV6w%gT8`q&zW2t*b|7^<6F+CCw9GX!A4d zrvD`CXZwcuv+|4Yq_obiry)L{p{r)-loFT0AH+2@=;g=C`d6nNvn~G`E`aw!a`bgm^Shh<=BR1OF`vZ@ z$e79h4T2J-&x8gH&gW&wGZ^wlh8(>(s0^QE#Gj>Vd&KYNDrLkkWc%PxFJZ)8-#y|! zHd(j?{J%5c_Z{vu;5XgKfLGe$Q_+4A=r61Y&+39vqPWPZ6Omubg;@|tpT@|SWDp>0 z_-R_T>}O2R**{aZPCdzA79A})f?aV>MP0zWNY3S1UtuC@von-1j!ypRNM8G-aWGVM;( z3{!QveC=B}9E=TA?eCA{_t3o%uCd}c{ejfhzNkp;9e%8*mZ0xcp*uRl#n?K&`5Pdw zs)e$mA$H*&DLZ$T>~mgYGv=x|s#cyVckoBVI^sZaHCnIMkR^5w%ZZ+X+=Z{%N9ONn9nH;`6CE{*jtLqK{0lNfm8t+vl?DMr)JhmK4IC=oFC< z2!v((V=~>^96u`Ci7LEr7Cx&_QL485C2?D=nGO#V54C5e(Tov#PFYw8ufo2|_>4)j zjp^g&y6j0kGD_=kqH5CT?Y5n$4(Z;vur(kH4lG0u|2)4RWhyE-y>OaMnXYZgtI z<$zkYSkUv+Sd@Z^eW3Y>LytsB;Bg?LXPQK_b35-PrD(MT#qnX!Z@I?|>$@=&_nYAa z?)t_~?=&8Qhk$pzRxM{}HgZDo*dA`|b)$UP%>`P`Q&M60HRac$)!f8gY@s|d4soh# ze9q}sI*GtZ0j|}a!w@Q~XKISHG$$ELlL zy7$ZPqP;Ie@p(HXJBD8Po-CO{e7)LGVtig*ABfz&O6+M}pzrjivQ?5b8uRH-Fzc@O z8*c?7v-w$%ZG)1#{lFr7$J!6&3v=*>#QZ#+a}5#RQQczUKdC;nrE2yn_N*HzSMEkE z$#_!?!E9H+lQ_uX^ zv3rnX{ShB%*x4}!|F?dO9aC_(bQ_&n59W0}X3@d(V6SKY74~`%fMBm1o>%PkeSWM_ zfBTXpgJWhS-l#RW#%hoK3{v0=i`Of9$hbv{|7d@)RKCdO3tOL>5+vq1sTrLVvayK9 zD0A6)KF%1U(&D`R8)sqHYHs71->jKTy?*nJ`xIFaZC4!0(O&b>wKAO%1^nq8dY}Wv znp5O#$jy(+EkHRY^HFnJhDu&XzR2S!LDTONZEJ?J3-8+%p(B(VyO^r%adwj4k=s{l z7iu_Y&HAefJ^V!}vX?GIP_q@aku1yweq(z%=UO-uyVsWE7^y8Q%P5uYVtNqKu4)LY z^X&x{Ky|4($yOX6`ItCj2x}2fIa}HCntI5tUQQmTambUIFultQW|XH7$TvN8KOsuQ zj%;ekMwO^gQk}1mAt*R0+ZB|1(6&~s(`$b^)_38dn0ws@!sMW)MCSm2#eIJ{%51Ub zo5CT2vAN7RQEq%%I&4N}Fy9=F|BF_ABT^}XaYcBTJGeW5r61)!jGawAtYhYA(vlvO z5z8|Nr|a$m*7vK0k#Ucdg3g#m$_W!^>;VN`l(6LUMoYC(ZDv`P)NZn~R9^1xwc`3C zG3d(Ks|$YA7733o8+nt&>LQSiXiU^dg}PEqQIyhs*+&W7^(078XWZ$XahHXEL<*up z3Q_DE#0&vjJP_3vL=6K`DApCChLjuc2zH3KL41LaOTBky+V(CEdNv6`IOy3a=*b2> zgnpdi(v}Ss$Hrj(3>EIw8iMZ`afTr@qakr#aALcyfsc4@_+Ik7K#%-Aze>%toWG;v zLac|{9^FEyuSm|uzcBSs{qYI+E2&3Y<1QQajJ%sM%x^xP&{@l2Ro}JJ17xg5t3MlFgn^Ara4A7DN_1RU!u&>o zQp%G^_iI7PinrtoJRY7=jOY*iSg-ztEky#}QqHgfl5V@YT6m*iT~N+)?=e2KQ7-lX zS3`XXYzO4fGAAAU+6X@jr^48y(4)w`*nj1-dko|cg8ImZ1`f*2t2kU>YdK;8&5OU` zEs_@&%9r_-Ydue(<^bujIl+);Oy%5|xcaDdL%9kMMO!v1!#uAid`vA0Gy9neGj*? zX{?bwshCO1%sap}c$QtP&-g=&LO15Dtu^X2K&zQ5?~NK==$qCjs*kE=@P#9%&u03U zxXdeIac%J-+Ol=?cDkxW%mSfVe*S;QxHb!bOK}PcxR2{bPjfSDQ z5?05ib3;s`J&1e_i>geaUkQnWeua=zPEC?HhMHvAKq1o>+lQ8h@5+rW@%Q=l8*v#i z#?ziOt*~m8l9ja2Z#Y@Q z$2rM{5;gGgznqW9u_7r`kl59>RMW_d6%%AyMT&DdFlPP_js|K{A(3R%=}}P}me3SFH4k z@?Kl&*)>s|4?R2iF`DYFwD9h9+<#;j_^U<bwH`YLIgay9zGh>73nygpRmnYXJR?8}S=^|uRMt_|P$KOe;ZmQcuCD=P?*gG+d1u3Q! z9sAvITY9iZSv6a9Nh1jaq4$h$;smaD&O7A2M;^aXw4MGN2UevGqFk$6{O*hv{L;&C zkS%Rlt}F^Xthoa*d=~5yDf}wk?Dc`1m~f~Y>3);lo6pZpa~=KEI)WJ*{E=$*AKluo zxcLSs!*Z%Cv!)mWRBvJuA5zwbtIS>-<1bg#$%?23%SUXeNsjp-Z165WOHNJ_J%8KGpz*m1%6z~$F zJjYFD#`}r_mSK|Se5dA@%MLGHS_ROlwNP$XT&g9hSC{?&j!bx~)dd zS$v(G>UV#2i$^)Ft=k6+H)?Carf!U#X6Ed;7N?Njp5IW+7+Zp0-59R$xX2Y3x6|9D z^w`Nf9wd)@dtxW$NnM_NA8j0a+XTwmZhS`FEFOvtDB@OZj?ItL0Cq*OKou$8_y@(0 zKjz2!>+e&~XQaPA^2-xsYiq(F>n#<@e42;=oa5m+9X-V6BCtj z?e((p5-#C=Q=9)2c2?!?6Xk{bWXG@7z9c*@QihF5De?Qfd$dKORVb=2uYrazaPn*Z zD4q+KqmIC@jBTdMdyL4U7ox}`@eGz~>{4`NE&4)k{n02mYDW!Lz+RVqiPLb+d>T?c zFpf#Y44})k{`%+%!hcB#n#$FxhpIBY*o_|&qbbVZJ97|DxIfc6cLrr?Aydj`2aMsC z9^Q}V1R2r2;v{@HJiususAOC=mZW#$apqm*ddChQInflQ~euKbI1gQw^krrlM z5THBA5A~=Kk14qDBA}Q~CMR^p;e&W(HH6~20a|I7RcczwDkXehQHRh@cK;aI&qbk8eIpzIc5@Cc#%T*E&#dbZ~=??x9 zcmQAt9o1snI_cPkvwg#;j)M)#u)IPC;N&&9eXrh_ao@#EKp0F0tvxfp3kXzcmhgI91?@J;s=_#g%{$P^XU<$lgvs zwk84D7k(nq8BMA_zxPdnPfkOCZ=b;D4{rwzz(=iil^g;Twgk@lK>9xe>mulka~=5? zF!DEx-$=duStrgTc-OgN?=V>QI0>&sYsePB!KNPG)E<-ge;x13jW^YM)f<0!b9=0U zekn?46qqCHV|}P_dN+tsTX3N)zcTvr4%V!nbu8AKXVcF`K`bZZGGlYCGw+pI&lLi6 z?OZutPh||&m(?~?P>F<8Rj}>Y1j=>DUP9lpo+!4sjULWnnch26F6s^O5mont*>$0L zo42=}rNii>uaGfe&bst|6u016y`OJkTNdiY)-`mVo&PMcRukNM#ooc{j&hvW=-M0W zm#4`NEqrKXICeVy+e}Qm-bPpZ6M={09AU@8W-{T5Eh29*WrO)vz15Yig5lPdmFB}S zk14gm!1j>w7-HZB6CAK>=vE*rmbih ziI@;P7YLaFheqm~S%X~5)9TyX3!9z%BdhE5<*FKv+vKGTQ8Z18B>0hoPciwoM1v2X zZSgDDbID{N)`AVzNb=G!i3EMIK}K^*C&(|SzPo{qXP2W5vfB-v15|`}0=F|9+)B3+ z?MaQ=3K@kfG9^+#LjIQWqXXI-_5N_n$TFkB7jEmJEu2FEUqnAd--Mu>C&u|=Up?ZQ*9rdo z0i%5M{j=(2D@x`?;&<4m`q4(LaU}kBhLb<0R4f;`zfhd`swEkQ9{vViS0Gm+w?JO^ zRL%CFdo1P=aWYXJ&C#Q)mr##rvmztD>7MSIVw|}Gfy!moKgLen91kpe5KFfqGm1-h z#8Wp`OstC!KbG!7iO0?k(+n$o+E+y8k&m0oJZ>@$+@qQlbssUXdnpjL8fXxpRN5)K z|EeXs?Rm6q1v<5Pd$P^GcAH<^o!X{Gn|5oneyJ@j%OIS_4~M4(ag)l(Zz{`RO5%L^ zK&LS!(o(i{<=d_8@egf&FZWNZJW0$Ebw5S7XD!{#pnoy@m|V{5V}q!uF7aMlIz9t; z+u#p~$Q3+8v?GV#!bHA4b{eH*o#PB=2T$T(B*r;v4U%Twvpy(G*}uwo`Uqlr%+H~t zq{9gBBTB*QZ;fn$8rh4KQKLPon?R-AX{}lexCr82eL&C~EmPVkr(Ikb`iSm4Pa<3A zS|`N1iA66DI=Kjs1r^;|jf%+2;kIwI`39A&%H@ysX*13U##-TjeH2X%qn#ol3>AQWn>`5!DoCLKNuB})IKjnNQ_ii}SbS>&|FC%s z+3bz4)5D-naFj>Y*qLvNkry3MS^VmBV|czi7xtWK-J@PI4|FptKY<7*l)S@#WxSt# z{iIWe7(%Lc#pH)ca}D=8k+_*60)UZ`&(JdF3MNaVdPpl)puVaSI6Jq04HZk%qKd@9 z)E3uD&uq8crNw{uf+NwhY#alKsQ1U<76jkjtoDPd78H1Ng6Rn zbEcN_d>xyz+cO?Pw|IFn9VO~9!&WRVm&9S-DEDBZ8qFs+IgAg)xa)$Jj7O-!^Qde$WA@Dwqw$g4E zkDiuAXeBWPl=Bpf;*$K#`rY5KbK8=AKei{S6TaQvFVUs` z7wrv`_L3-7_Auk{%{kiCa-e-xs0^g$+T>}Y5Y(=mPHGLa`yHi9#d#+`oe+B4-H8200{!RqHNumLfmRNhHc9j{D z%7hZA9b01CKmJeSC;04C|CRq;{VgLM`$~nd2|%G7M6G6@%%;(~VlOED^Ib1;%RBNX zDo&A$Iam`;DhH9@MOs2bDyQbiAH$y`BNi+A+HEZn16ku>YR~Z(SYx%_W&4x~8@6Qy z+h2kNaBA0wOew^@m(NI{U1PjyG3>7 zL8mL%u_m9=l{~@jZ}0ri*xfrKbwYh>ydBVsX(P#v7ND(R$RxuLRSyslHR<)ia)<(ub%~yDAwzY@D z6&T_$>k}^G96go@@6EP;_{vH9d6PU}lW0%mAA}!KzKP`PZKy2t8(#(@1H96D56l(V zVh4;S>%7}g5QW8&6s_1!@xCSA25u(%PkDF>|1xv_sX}*pZv91D`_V=?e|Bh~{ARm? za_qS{)P@1~ui;bfU{2NUG#+g!YGY>QoO?Y#T3MrX&Xyl!{LGx&?D|IbJNaGpO?00W zgYeY)La%%y^}Vy5pKsN-`~pDIJo*SRwyI3*FB(NEKl=U@wtieB@_7hK4V{& zy<8-dN8N^l|aIHH3iA4R{rT{Os@ z;fXI#<Rv$=a;h8 z2(Ot4U{!oA8f?3LJMK4FiN9?v8k#z_lJG1qDFAeM9b6 z*|F_xoHhUgB+Iy!^%EhvHf`pm9Xq}=sa{t2)HOw``K3S^c5-nh>BVoL<~g8(c8agZ z{#z~lV@l8$tYs@XN_@R{7S*r31ex0s3qKxqM;!chFT5w1=keb<8FUdseVp)Evw0Ez zy0_$#v&V}a#|)?=*`CU!EA+&Rn|NW}>HU`cVD}cWh}o9#r?D=nhgF1Evq(LJ6;FHU zfSC?`p+sGSFec#}&!B*_Ua9>`#pOUOfU(NZ$L+MUS$SMuESLQuv{fv%Q$TX{uuVOn?iy3 z*ku3BG#RWCHnZM$D!rxNQCS4ctjzUJ&kUWVEt{TEA%~3p_?um#{i;b0@qF$>;d)ME zPw1!w+<5UF(<)y@{1znq#us@&0(NCs@4Y5=ACfgqtG)?^x$OvW{3VsT0erz>@dgm(jyP$abAT1$T6d*PG>4Fj2E%)m1@fx{oa8y5#jga3_(50!H$_4f<*Ly(UzjP_DAkJL45fP(G+G{-TnmA6FoS2 z8X&Fu;3a0d0^ofJewC1eHFHG*yP>c%&mgZUQP(Y$?P zN0u@PMJc04s`Fj&K;66MyR3KDaPlBNKVilOg$^hDfyguW0hS)Ekv)rTXuhLGH)=}c zsiA_Jvl)dkoF(B0l$Pkh_%Vj}arw>|muYNR;bs;Wty?JrYm_aoC^hbW8C&2bR4Qe7 zN}`4(1RKZraQxC}nFL-zc~H-7d4o#hpzO2dX@&8Md_sD;B*X3)2mBTfLKNmO+=5>f zkFIjU97(nKU0AOS6=vMl9(-5$i4ad9@`}Vb4Mbj;%ukYE1nefFs!gdSVBB5B&b?OX zjo&(cF zL_tMh>L&?gmZ#Nxk9P#s5rpGn55L0&Uz=N=h<`a7 z=YeG{72<=@E#hlEp#*qE(LiKYUcf+OUo%8XE}Y2fXh!5(4?mO*n^rZ*M2AcQ#sk@g zFEJ8N<=ief_nq|!$jAVxR0?1;TCTSN3+u!!E@f6bg+mHhmmJDEYyDp`Z+FC&yaYV9==n5ezCF>vsu=ojmf>NX| zxu{Tb*s)6$dn%)=DC@wI6wH(YR*%cns|!UIFh-LBPJ|ATl5Blyr~tl$T}z5UV-9m* zS3+a_UHhlmno=a}vc$z!=wN*Z{~#{W)F&nDkI=Vn%&t0>gV-v6SU+>%Ny;z>gwYUk zh4dSrDv3p_y%=DVi}+1S&!E+w0U`6x`FIg9r!El`9pj-2S-1FfS={e_ znv!C&BMIFxXDR8lzF!c#n7VAf%F5mAKdju^{B)UHA_Qpj+h_#SB#z*;1^c)z_1=*c zdfU7;*LzcDXl?7LE*yux3$sed1$O>skqttN{b6zeM{dfK%qEqW#D^y2E!NrAa_=XV zg%#n4(z(f$AM_Ac;IRaf7CLJ~+2JwZ{?S{pQ0;-!L0OB6~5 z5WP;eIect!;&j;q5v(G;Jvew#buf6u#Ywgr0nrly!tTFw?5bja~ z_sYmE0zjZ~4=oX0!~IW`*PX*{|A0eds=7M!E5@J>NNr;RIMJXqb?ZE2+QJdzB)bQS z(llze7mOMUKM62S@-LvM-n;nThT=6&qMMDC25;3ffT$>Z?JEnpV06LpMV$lE@Xm~F zXXq=~lZO9~C_U9c5K#^&4M~z23Nd_=BT9$&o{wnzUmj61Gme1)UhbG=*y1%aM5g>= zxJt>D_cwZPH+TdyzH)ZJha=u2Vo>T|ICVK&!{3qIWrGS3oE4N$Ha*;s&CeIeJ42kr zm%);SuVsee8p&n$lN0zPkjt<$E5c)5t?x7s;kN!vgt8Yyshfw^-VDJw3nn3y?Sa4U z5;?~AR5m@Fx_L+>eQs4G{a>B+>HokR|GfbHuIqSDq!!Ix!D%D*c)nofZ+wk7iLL>> zH%|H6O2f4sPNG&sdyuz5rg3k$*RB<2Tn;hSdxXmwGMH5`%=F&D>U?U_&~SRuuM9F4 zPb4AaUC7Sz-V$e46;JivVr^nIdM`D4t0UfHm+=rueRp=mdvG$h*{=laDQJ`6PgsOh zJF}L+C3Ex*e2%lE+!ih-u8+#yNbB$fK42=waL%k}d2$wXM{0LD%{pJko9X=;(^r+c z=}SKr$zzPIEX@zoMxKkCeynPyKeA*n31N02>Nx^5n{eY%nFYU@317%@stH5bX__5^ zA&zktOgK0+`=aUzWWl00j9@Z4%-vA6!M~hdoS&}m|FIcYAH!2n{}WlkP)6pve};bT zhE`|^hsMqD@_(cKUYm;Ct`X1?<0tEoKWK?sNOAMb^e}^* z%$6bxIQg~f4VFtTzCS)@W>3?>=^4Dd@_zT)9+U13Ia5vu@I%)07Nb6ee}t^fxn+^o>JP=ME`uPyd(1mb;Rs9wYbVh@6RKuIkMmlb5e* zU*xC{^kw=IUkbUySQK0-H84bs5z)JMs(Womj^a5xG??QCxL5QNhTh#NY+`equdXsT zE{fN9p~_^>ZG!;I{jPUsrG|x@o~bbrZycFg6y!kcfB~3IP(+H#`p! z7h1>A?6~lCLd?ByA*CFre>UoB? zpRSJSiUMXhukJKY+}v9&F|xg`ieDM*aRkPY^ZeT?p>ce()x{*NodlQSjuXZ&spV#D zZqxh(ojMCjdWUAfyy)TxjkE}e08tAcaW^n}z*H}EMXJRA zk#yhb3$9)g(?_H^^UocOSEjRH^i~oKGkOxSW7=DR6ryXn6MvZR9|d+FbA@3X(AKZ# zQAn`}%n&8PTN&>h5UqSl27WcI3$=_|*Ezc%)to>zPg&ObbhX-Nc$Zw4!nzBaNvZko4tE=nwTiBq!g?$1m zvW0P6L#1sKOONjXUT8U(K1zeBqr`tX|K_>eoAIUk=)@%L&!cY2w$xEsz&X4G+@059i z;vJ>&{eih!dq2@F3z<`?iktYB?r_bX`r?jwXSb;NjxgVIk2K%ly~I>qex5hz_)zWA z8@8Kx1XlL-Pgaoy-M^l)Y|)fV$FXlLqM)ffF>w8VkQ9o)*yHb}*36Hpjl;pOv;DZp z7&)g$y@@!^hFA}m%#Q1^Teka`tlM(@0sTs*8-F_S?hm6o+0T|f#{bIiw3!j3-&UVQ zIMlAd(ZR*u%acr8*{Xt-5zKpJi)+W+| zM4F%^a^0QNw`V4tK!;FLJKpC&L&#d>LUc>49BoR@>?LXtm2RTaDO8%>nECjaLTy*! zc^#BK}MUV1$K<=nHP>1Gj(Rq<$<{-@W%KF;@Z_&g1D~gf7ZjbrVgXutB+&v6m5}EaMhD$dEqt4^%}y z({wUir3@j^-P>P{5ADL8f3ZE}K(u8dd0kLaG-=WA@3^l&W?46~V#Ir<3N!{l|c zIp+{PMt&hmtY2nS?VntJWzXhdoaN|@h0z<7_zs0EI!*vgk9tZ4rpHdk)GKrHe-<7- z2=u*yeN5_Hb^vbVG>mciRj(7&sq;seFo}yy`{W5L zWU|CJKNNqqYPLynQ}=afw$&lNAQQz)hq3bu2j%|k-!2!Qa6xN7 zUG626+h*GP@0ZK*%FitKQp#=rUzO{o&-u)9@fQvvTlZJ)6M3w?`%wJFs=C=Wp%-n- zB5AopvS^#1127)k8RuagIR@h*n|>ZYC$WyL!m zim$AiZId{CfJr(BwK4UTOEVt+Vh{FBX1|{!Yu3SKmuRay`#^p@2Q@R0phGPZBJA%} znM2yz>A|jv*(~!@i8sT36GZ*?FI~-(Xu~%~a=m zo2G`G?`1;i5MjT*^$v1N9ePVHD-MTG$d9;GP}mL-Y}`gJ-&hKpO%IYvz{@-Bz>|l! z_%f5WYpS#Uk>R?n`Bx*7{{+n@es1)AgxSRj$2VgRZjRZps2VDZk!8e;)OAP5T8_?6 zUPEqxjb%q007u3gUq0J>V$RW@bRexyhl-6~GA}uT%-pauIln$uFqVV`q zG(M$ERY#kC0z>KXG{iVo3h-*~8#qq#7q;-ijj8L(^%Xj`iRy6>?7~eaJM`!!huTYv zdD-$fOrH&!l{^&z#j8_AUb4LR6`FMY5p;)e#-mA(c#9Q{s@=F-%Q+cfe@LH5jA^I< zZtdn-ABN+%x|mdMF}I5|%-}q|!Y{jg;rL=Hm`E@aXzEE@NLTdQdarvz`j&Aeq4ZV7 z#Dix2MxpYae)fM$kdeD1Cvh{|0uc{lGv9HJ>gPmO=Dl&~Z_;P?b08#$Oo-_r@KZ;Iny?&0Szh&lQon}gv z4Sb+XB2n@&ic*df>f~Z}@kC8YP@N9RFCe3Ae%MLUotLhomP|1jwKJs}Q-@xDRR5wS z+Rh-XtLuzkPgoKz9rzR~b)7%1L%BQnaA}U&=RVHtL9)Bf;Q4GPR{L`#B#F*3N6j$W z+Ppopgx=uvg?7sw#^zelW-{Gr*h=!@1Zu0?C|S~P{>nPaNeX(#am_J+F3-oyJU$4M1b%X$g9 zV5%G-WbT=UYfQ|h8J^6q#Ax!fe5ONiqL5^d>Iph{{53$!QZ9}-ETwZIyH3Ey;Qe!a zhq=u0T;^DI84PDF*6bLE3sA!17NPLW#Y4H^eYxmCDVq)NWYq!iTbhQX4BJEm9>~6> zxa!p&kx8GtOdqCRU20L-7HnbKa+(cqlbi29N}I*`M|-jKG~ zFGREtHDaR2_H^`gd>s%my1YI;8TIp;rq?-s;|*FLd$=%{llT_x^xCp(t^DX2_S;of zH?)6Ixs#j%O)}urs7NX%u821w&L=Rp7@w+F^07I$PW0pT+6oCm#{_d(5IN?h>779# zSd?&#vL`mrv>}u-jy9y?bkk?S=N=QUb*y*xNr1UXgSF?wOZgkDIl3R>qM9d z)n1ABLbHKxa`0DMK6=YEniRf+x?vj^pn zsKxA3pT4m;b4xA$<6!X(wL6_z@}nL~PueTKf`x1A!#&YUR{l zLC+HE7abd7g82nF4%IH7{&$>y@lAbgrxV|yu37S|_ugg;E3Zo7(r2SO>F3NkoLa(oK299O&6;f^TQCa1X&m~L>xcA5+xu-O_Pmv^O_w`tE&1D(M~ISBQYk=j*F zM6g&I-@LcDqrP^jBDD@_Gp%6#1C9@T@Ub!uvk+|)zk}mPAc9#(X0;a;S2=T+5>s*h z+DyeCU^DIY22MF5kIgpnM8tbk@`Oea9+DP{?jxSLWTw2VqapdBk6_TAIiEE2dH@H} zB6%cxM%v6R*vXwb2kA&9!q5nUOeFiqG^EhS^MHmnsi+D@AN^AjoCVw6wBb>U45>~e zRyEEk5_o7)J6rgY5g}ao*et_F+87y+^4L{2n>akk5GRupLz!vHnVVfldD}IFc4Z#E zr*}$a^27%_sQ(wI&?=Q^MKmyip+ltFacUOVDLKAryHitZ53XRSVW(+(;sz^uvotxl zcgkEJWC%v9lOzy^NLV%GCTZ_HX5u+w6~Xe}+`FlXRa$h(vVkFu_!%irmglzTry98UEZRDIrLTA zMPVuP_T+y$hdz$b#T@#yxzKM;K{2o*C@Rb*=F+D3jSHj@y6wFu8h#+Z(adPs3ezvM z=1!F!#@+*gNIB44ySgdsPX%(UI5a}S-Wx1G+N~JIfbeU2JMPw&{q46p*66Wck@wjh zN?%b;o0t*AA{!aft#6~0VPb&8nV)K)3~TKWCbzI?bGF6yOuGbR{rI zz1J2X#OR+whC%DygQCpaDSwUbrm zq#q%Z*lCGfSxq^#KJ1x(IEgn6!e><08#e`8S##i!VsxhcR0tO5$gqbOF{oc82_YvR z;Fzo{CLf_y(G%l;kXV5$)4HOd4}r|kw9%V8nY#Rsz`w<3Z5#SbTT88F->HqT4ykkL0}Dv_V_IED|15; z8?Zn;cT<-z*Su;zcIw%?=TXDmGlP}#*yD$m{0d3f7HIyVYy((-rT%wliXFe9*j?h} z<^CMNfoJ=Bxa1|$-qNeR|=||U<>@csmHcpglWM(LUGm*V6It>ri9*ReZrYTnzf$fML6|Ry(PBZ z{#-I&rC#e{|G>EYQr2UccD{-)7SZ(N1agv*9F*kR`D*0a%tRHQhscrpRDB0;(dS>H zjhz>)2W#)cNrCp59U`49imxo6ZM4aFH**p(>gX!_?tv!$hj#qjRD7N;@Polx++#xQ zmJq4sU2j`Yhnq^33z8Tw)RA$h?&Uf(g?k_Do?Ew;F!y{B4-anoGJ<}dzAigJd=jOx zak8Q^pm2OtyxFuhr!ZbN=h2erj;=DF==A-fF&wrH@kC@uCS~7SDIzm*vB2v6!b?l$ z)+tcf#b)?g`OnxJqbtLIOy7>9$EIx$)zQpI>KWIxcI?rFJU3=z5{k7}Ekl%P`p;0x zL`F$p)^n(X^aTomvWIdHYHGP;uAZdn-1@t)F%a>^YYv`#s59TgIaON( z9GUu1I;8IY2Vd3$0IwsXzPR3N}98D@O>yy-iN})hU6amaE z!+#r6U%@DF1u+o zbLzX4y?mL75PmXo2cR}TkbVjthyyL%0p685%B8TlNIo)>AT3* zIEgiWFH!jp!Lj&6<7$G*tB!QzLNi_3ai&||6q2tE2xxTXB>V9Q8MbmhF*gt(49lOV zhG>p_^#2#|9@F1R$VW2ch`oT)Q2br_uOk6SWfvPbIP(wF_9A``I4fT)X;_C#jDKr9 zf6i~{r=;8SNgbT)FTn-fL}``f8x*es%5h~bN1DTJWkD{eIwW694M6(qP(@KAy|eviA#7Vya4J4HR*(&G2jI+@wb_} zIB5P`%Ch}7_%Q(P4teX(B@72hTKOp?rTHM_{IdOqt0;J1#B`i!5K|u@Wjq*}7GPvh z0Y+8|Tfz!{6auW=XTEe2atfMjPf}z!J~iZVbtT1%1iB}&9+ryLOj){}Iwy}WxttNc zzQHxyN+Fg%IrEnqyE?))zd{*iKVIVlQ@7B?k@U%TK2%mz5N-f3pXQL{aC@}mtH&bk zu(SHbG}UT6B!wrIvA|HO@)qZ?=F4a%J_(A9-te!Qa}?xaZGAGad8WP}5@>sfIM0p|S+6 zHxr!%{~AuB*)(K8Sp3-p93Xk9)*Ru1skWb~^CyeE)O-$M65Ka+(LhW{ z)xOg^ILUOwG5$1BP<#(@>||#Vz%kx}Kd9|ad=f96`EIHAY|GYCV2(46>6@MT6U*Y8 zOL&a$DZXi4e3KK~-9P%Aoa0VKrhLLo$S?!WcR6nH8a#{L@P{bd#&wku&PLQecjG*I z8toshom76~T!z6>XO>5tvo~hFJiP*BHTN7o(C1EE{%`fsz(#z1JF^lznhyu^;j4ZV zkEXvt$cp)?>M4`N!JeClNK~Y&TWhH-L|mutLwh#sDmTrou@M6_1#?Tmqkt$6LB{ z=C_*gD_FoR)cC?qKlAu(kbv#H7|(Jw|ID&0f5tL2u}ly6TbF!7eDTyhohlLn2qJ{0!wsO?KLw8uh?WAu2Q97qVv0MtKM-9}_fcxygDcQ)i95BAR zd5DP&g{rV=7zSy^{mGJu5B%xqwXaR5%(iM6feV{83{{{*^g1o%!IlJw2JD z_Us1At#ngUY3(+r{IGkWP5`famxxgoPXnWNvR3++C9e;Ki$ z|0TM$Buis6N6}JCwX*q@K6}*HC`a^jaE^W|0{Xe(m(b45=jCZ<`>ia6JN&ctVV>T- z4VlYm*FN-9Mw$N#{gn9Mq%^IoL@j_`K^qKTspD!0=`xYeh<(Y2WxHZNr$;@fz6vep$>)h%AfGorf_(CaQ)s8LuZsU2Q4No#eQ1Z%=jy~XI#Fq8 z6w)86lo1*PRh(Oho)F*r#prPvcY{t~VsTM``G?fo`0{IVc2)&r?xck-FP*^Oz)dUi zN9%L02C`4|HW7Jekjy$@-2Wl<4t5tA-_uKv;6bZ zmAsVc*t6TjFIhM;XiqU(j(_32{=(D#z5KYA;FxOx1ddsFN&y6>Umls#39QhDb>{g! z=pYcp>D9)hOEV~*h3edRM^HTRy0lK8&n{r5X_iEQN(U)&}>7qsAN{2r2= z{cA6+3f?(=ht7msZ))=F;?!V;XS^TWP&u*U984ylQjZKE5HQmmv$Z59hQmU zF*7|#N)S#%ynx=>ZQVA)ZOx7dx4t*d+e6GLExegrGh-v(N!4<5Jd7=;ZR6aEmEJ2; z6(_(rf^-(F)fWw3_c`g4Ua-Zzq7V;TW}4|#jcre>#641aD|Uo?>9`g+HLIb zGUu|mxa%?_J+S7$FtRA@Eb>poPjlka zO6lDq3!nkU)23EA+mwm}O}VG6Plx|e?;(I~$Mxb@L5 zcJ9<>A$e48QQxr7H}*>j8x23ohCj&>xzqd2~qNOn|lIjmP>h+=Fhxk8RbFv*p%h5jk?7f5rT z0u=mlqJCH_OO2BF3ucLyu=c-S_TcpcObBQ3{)0tpt&=bgkw z2Z_Q~M~F7=%t!UJ(6+Yc3+hc|*hW_!t7y-8EG;dH3|r~q%k91RieCL8^b@J*b`pQ1 zupGgu8QYhrHn|o(#U0k+f51#?)=?S{b8_S1Y{Z*=$HPZzxyHj8v{U2Zt_K(x>2q4} zf*W3!jqj<89{5y@4%I;Po9GA`C?BQSZJ_7p1GoCN+Ni^9+3pdgfZZH&~`&0`yfZLrYT;Oejjf2D{>9UNp{5ns{I z-(`9iQ@Wczzj#-xA&_LJC6I`>3c83?Y%-eJAJZE-5lHmYcCo1L2;Im=V@G4n=ExDx z0<_Hx;Uh5v3fKH2d_*e+7z{g;paH3|eB2A2o5AA0sBCl0n1`3x!3zCCBDrDuxH#ks!|e!e zs%TW4thYo$*3bAef_iSu^?V`wfZ;RFVjM~vc6WLxz8i8HfC@D3BOJi^I{hPfQaV>&2qCh#kYHxdmBo zvB;&Nb6eet)k?}ppJNc|7VmWj!)D*|zXdje{knkXp>tVzT+w7PxKF4+TKogX7Eu?6 zrI|3s7FBV3@6!6JJx=nQxrFFwns0hGsPS*RY>!zw4dx zk}sJBo~6T2G$VN{+}8I_b>klv$KNUTZ{~HcOaQ*&iQ_OItp*N7IcC&zd$^)Sf|F&A z-Zn`InbjO$FwAmaCaLwr^~JkZ*l{^q#80IaADR(a3%_89nF0D9-hsfc8J9DmgGlka zk-@>FdPjwfV!c*7swzJ4N9%N*xWosMnoaqEd&jk=_zpw~&TER6ycY@fs<`bMF991) zu-Ui|VGV`=4PngyD4~TQn@mFf7 zPX*cX{604UMuDN30B;7)0Urz|z%K&;GXegRj`#9=Q#_ag0`U8{J~jJ=ldU;^KLErB zFVP%LR!M@Qm_dG>Qkt<7jYWOBHT=g*oc{`H;)y}U?|~=4dN-6SQ4q%%(goO z1H`Ym59A)nWPLlQtdxNcy8n&oBAKKNE9F%D!pfi_mtGVbq2thn#y` zM!u&xZWTKyhe9SM|5r5SyfECKM1tvOZ+Xhw1seWh5LO5B#TePYLXJPxx#N2b9Wxnc zN-VG!<-`*!q@mktqmO=54&Mdi#h;t24!-j*Fj4_QnGY;Pl`<%ZUw2Alys7K-O-iBqY~Hz%f-gGx)I*)TapF zlGSP~NCG-Dja1N0#l0vHilHbY+%L>G9jXe1V<-#x*x!vENuK{ezj-JO)C3|&$Zvt* zHw}g~b_~hy<}pX@CVGRB2``1P4J~hFI<$+J97x0F6=IploYe*pM0ia8N1vhKy$tz> zD|-BI(dZES+3xpTfpzb#s3HoZUqE(U|YD~0AU*Ph*RMH`8{kbHDMJiLH|doK$^m&(*E0AzBMV~X+bnt?e!_xpkfEz)MQcs?>r4i zqBqeON}xo*?bd#917y3=lI_ZHZ97M$YBl$9Sir2Uycac!^W=)VJ*XG$LwML~wN{OM z0%8=9DmtCS2HFTA7Lsj&g!DC;P!Ry40+&F?(1{3grB3#&*W4ier-9o*#%G?Ga}syY z7sMlT3p~RhjifIoIWlNKupR_-&*X`|&z$HFkmVK9z65`x5i)31?X%GUnpXQ~K@ZS| zAs4@v2h*_wZO1Gz6iR(bP-JGBp&)esv&(}Y*q$ZdCyODU62@ymBfVAw)DklVY|;=3 zSFHBG&S&D%rj31BHG|QgR!AF91VooiapV7rAG+Y*3^yS*r+*_?J~1m>l0Q#h4K1=a zcA8NZaLQp@PfuOfiYh0$g1fHz>XR|1U(BulBtP)sPwBUe@8!IH3pX=zw3uQ!9&mb5 z;p#B#5kA@a{x~VJBB%+grb-9pBnFAodh4c2m~#@}Gf&KgZJyogB-QQzr zHnM9WoCCuW%-!!^XYMkpwAg8u|2~e6a9HE>_72l&EhO0!18A@H>Sm;p3AM7`2}UlT zS!t&T3LLgNR6$gtqpICuKw#4dx1!r9ZC3VG+Wby9i7$5xw$L>n*Y5N(^dw+Fbj0~_ zef25vl{9f>NjUi|!Peh(vwb&Ef!bMC>pA+MIop(_(S+QM+_Ru&*T@R(GLM2j+N^MPc-J_03dXFreNdl18=rB@EZvyWiJ>Ts1q;hgw*orB<#M|U&2bDd za>_y5v&(-G7Tznr+WMN@k*|eJ@H(SDvaCiQ`18mu{Yv}=S=EFrzkG%_X2oErtFL`M z(~h^yl%mQ-p0+u02zZY5v8jAcAd*3sfIFj=* z#0Wo7Mt@qL_S*(A4r(?CT*+I=10D@&Okk@;q%m`I(PReGo}wy-L}CEM!F`?XU#B|E z0**v|jjfOT*+dVLDjP>xQi?EsK>q1&e0y=cv)HJLL?GVInmy7Hy=}DR3LpeJ!xgVd zU5=(mB3rm(U8rl>fN0%*n{X-B=9+M-ZNlLZ@6}ur4hYAW;Z1a{>KDzTOdJIu=?S!! zJd#`3RbHh+4xcH7X~(Ee0#!Amyeux1-q5mbC&cfqsa2WGy@u2a7v2>2AilIuXE9C-P*%EpRynANpO%!~dy`#W1dQNT|r zeo8ElDcWfojh)%_NxfnN#Xu(8*b7 zz5(Xp7M2V;3{BW<%el|KlgsvHo`h7x+H9GknH`kKQ>6bH)NODU+h%5{jfkR=h#j`y>Wi zq@rD_59E`c;vRRb`6ww9GgICyZUWVG3<^lLItiUmMLMvhxA9=Wlf5p$BWeIsNc0(m zbej!l8i%O9=;gWZlGEv2xMDkkJvY4-xJi^?KgpHp%W@}2&%vkB^Ko#6-mXU9sVBMj z;;L=xNwEp+QDjOl*|+qj)8ea(Ek3sx=EZt|eZH3HZ^>`cqYnq$NA%ZCu5Y?0`-08C zfcztSvd;wlH0vF^lRsj=I6S>zr4xZWf5J>OXI z5>6AyGqNS|TGMb}M)sCZ*}9tU4?vYXOQ@F!dJEsv*5=-}2J?#A#@Tc7`N!}R;1##G zw;jTVO=nxWCKybN5{hnlq7jSNW`$fr7aFNue^WX3_sI;;yttu)lpCuOEzzS;!Q^(G zoQBqHB6#p;PzQ_a|1wosdl0Mvilay;xb1Yl(ZW-|sPjs+dgD|aJiOlTm8+{a{*1)Z zXys0)vP^y$$yT=D!D0mb_VR+P<+-et1&Ng=F}|hBeqJAZzWn$S#mF@4^|rFPZD-Y6re`(TdoTw*=`X#Jm~urJ;y?S_T}t{q?e5p6dThI{lmh;@DG8P zR-HaHUN9fxi%{(8V(k`jvSdhWICVNmnnOO4i%fFU;y~LgdYju?mslNLf~%0|Q>;Y? z^^5N=zp=Wj6~Bpppa?7)f8oskYTfKJx?1~1f8s2N9<+C=7ah1an{rcMHT8OD;7;hE zZkGQ82@Z~5C_E0jHG43^u33+Ow$pvYG%fk<0PiDPLR~EI)!~7m*i*L01H$p|k1pZ_ zQ+)Z*WwEjS=`X=MVspsmB-b9QUTVSK6|*0fhuUK1Lt{)xXy?)XOVDBJtKJ!@=s_RT zz>j^y-sT_rH2WIiRNd(Ow^X{&RyruQ2N*_Gda5XV;!M>RE{Sz;v7uWEXRM-0b+Nr{ z?w>>UkViOaJnYw|FxSs*c2{4 z#o={j>}Ns))&r3#dMuT3YE116JI~nnPg;7!<%4)<^HG+2_Yn&ZqLD*6a}uZ7}o z-_DvS-Z~&s@oM6=8SiMfzWGMzA^vt9+uq!S+n4d%LoTxTS8|I!!jwZLL4QBHJl|M9 zr=EG7=J{P>Q0fO~RRUYHnSUP&=heX!j-u{z;v?Az#tB8(+hCY$Bt7axutI#d(^-~s zv}GpI$Y?*&Ij0wUYhrs2cbX*!5Kz>a^`Qje@t=$t;xyMEVleujqamc ziqQyKasBjTV|&hbnqMu|({QIbM4MuJhT8LF{$msbe~az8&uJDvNQdT(`J&T&pOQs* z^+}G+WC&Dg+c~mjq>NDdvu2=0?eQ(QW9R^`PXvP{FwQPMQH?~{aV%y&Rq)z zXL`~%?*)wM3*L37v;#~Ez%Q3>)TKshW2$vsU?b$qaPHfL9 zPD0KNZmOtHkMHm!RM_-e|0+H(W|-Zg zr9)s1LICTE7XLa@dRg56T%KR64|?gjpL5q)v^RZj51v%g6FzYT zegu3k!lPIJQYCZ5a(;IC11Lz{9iY!A^tgD5C!_z06kWaLgV1*!W!Rg`u#gP7_xiq_ z*8)66{>8k4J}A$bk1=0*dOw;{yVOZPOfI*k!`9K1%NKE;F$1*3|CXwqgNM%G`9kv? zah90pe*XC2{ruor{%`T;HN`xZ`N#4I9_sCQFEid0cs2z2MYVsD=|TV*03gT!3jJVx z6`|w1SXyaoS$N$KKHZ9TgHN2u-~G}-8g954nO{Fv!wm;!!Eob5+SB9AaAPq>fnykP zza}>$&cB`KfIkaZ&8iP3ZR=wm7yaM`CZHcoJ?auYGv2}MPI(g0x`yYc@`Wpq9>^ya zad3Q#;SlH+#UUWDR>K~uO?$;2a3Aqm?BM{lbvD$iq_>PcOlt$-|t=>oe=X8se@kjn( z-4*L@0C(8DksXUPjOud_8M7h|-gNt&ylEV%57z6hmOB|7(3lo~d2h;tHsy)ll!t7} zyxx@mwkda!LQ6S3|3G*bLS~D9i}KW{4sFsl4%3~ixPsb#Zoj*vH)XC(sVAiY5*oub zysN`M-CQ^NCvl|)>_#I_m_0KdMZ)><``L6HF7Ece=-cn7Nz^rmp z3x%xUz2qw6W3P9Z1g@xR(m~o zQQnyTqqtrqeeuDK-a~WD?Wnb%Ly}`ha(JWnmX$LI+Fj-}>%bxbu$X~o*%>%buS7*v zWAo4dq@6~IT)a2p?atiC&T;Hk9IG|gRY0R{4MoMQ*Dj=Ocvq>;9@{&=;%*{R+->s? z$>mihH@hh@=U3j>eQ@c{&l9b_>&_g%ESEn$a?2xYY1%`kCN{NIz6`PglrsbQr* zvk0hTAB3ZUIKpo+QMXtPgf3wz@c0oWMRLet~Zd;KAFg0c4; z?eR8{LKZac@h#(wOwU@p1)2WE_`6K(?;62yM?+%OjK4*w_%bRch{xdRcUhkcueOgb z7knb#!A4a>Y37`F#7l{+ByG0G#YPy~>OV93NaF%dJ7ko<*{m5lSWi+ubNK1t92-VA z-H34~cMS`j`G20q_n9X!ufSXO%1EkVVbEziZO@-roC66h@7D_xyO>|l=XFWJYf(t5 z&s%&!a?m*MP@h3y*yn8_M>*gQp+NUNy()OHXUBlYa(k;xKdpzxkiw`8Os< zs=tzzZ5oi3V+B`uA-N>83H-->^Lvy?rKpy+3O@Lt5?X<+uMN zzm-=v_mNkbgDiQgYN+tfY8!BHy+3Pu^S@0?0naf2o#Y+U&BWZ|T>Q**JIdu0fS-{k-<%mE? z6D0)LW3UFgq!>l*k8Z;iMof4ICy5e&6k4=p4x79CA@LyVX3MhQH7vUqk%1d#*}SLHZ8&9nWF(+H?p;b3s01dmN$MP^tl-`-Blf zE()ikWu=+PtRkHG$!U}@hCPN5xdF(hL`zCDYgq#z6tfjmu$Gtu z)(2kWBpo9hRYDIO62}*^H+KeQ_}#EPJ1-iMrd|!(5Bx2^YfGx>#Q^J)V#Tsdp9jF4 zgrdb^59`OdN*^~L_e-IE{&_qy9w0D5*1}ql(&s&Vm;449{JTu9px!jHpw%L8(Kng8 zcNv&k<$%vQ2chc6b7^4-N2vrUe5t1`spXX#7huv!%C5ve*}SeRLT{9u^3j%_MMHtU zeev>VW?@Sm+r9Xm(i~F2DMXd>a>ZI-7>=oYdXx^(R$n7;M$8g3QyPAPnssT zC)HV#XbeN_oxZns;+XbsW&Uns{w|Zh>kjVVtje!-XL>tn?a6W;RRUmFt(DvcWa#Jh z)h1xIU&734>5V0F^f*IgT21sJvKR?Pi^}=&*D)o<7@zH+NEJcf$aU!_#L1RrMH5|Yusuz+s>dG|wkB)l;;_7EOX0w2T|5%22i z@~))aL>kbR?A_^A-QG5)JB?oc(Sin|t|qGMcre7u{b;@5FY|1cio6F+6Y&~FvV{`c z?~Ie!*asHVtfoX;*&J>#0{Ef5B<$rjdzoP`H`vR6+RIdXnQSj#x0j3TfZiTa_8cWhf4>ks3FQfSy2ph3Pw;9*x+SNf08L(>l-V={eX z5|7r@bL<*_>0vZOo*#d)-!poK7Iy}t9_ zl+V2}{%1mXjDhgy=>^5n01!hz0v$_p!%3OPMjSt98~btQRl`(W{#a?58AjO{Lt4j9=L+ug6JM9z&B zIKunO23*U**OwMYYFnBJ0-dO~_7x3mEF`L{C}pabR7drAnSHcQ(Cnf`ZYcHY8rA1D zl%u&;A6+kV`IW#T7>_n_WQ$3&^il{?!IN3)9m_WtPiA7om9m>|s>D4h3di(gb%;cv ziz4YqCL+HPBJlIST~JnZ;Y1*M4O1q3vOJ^n-k5SH^)=V@G<%&Jv)2db*y|(n?Det7 zxjHpT6-f3cTWs=T#p8Br(vxj+vePD~x0~d-(@1t|9*o(yb4}b-=lTaLP4XjiZ1N*j z=JBz4_VKY1=JCnL?cI!{j&YOAMMhR}$x~e-ry^c(iwNc=|w> z!uv%ah4BemGe`3 zC2^I$-AQcsOeEE`J(9Y$dliHcqdE3?RQB~bz~3MppZe-@xc#h3y=J-*LWL+ijtfF8 zTM1~P7U`2|dVw<{?$ZJK<_dj0KPbF`-FaliUVx7#2Oq_3hDU@@e1enru_F8G$x5za z@2sKZo)+YuV{<1*@C;QvZZ3;s!P|MJlDRE5bxx34WgZ{wFqcO<&E>J}=JKRP>|%@9 zq!6pd*O`}TAvn{*Ok zZ=UJ_blC$)|AX(ItOtyk`JMirk}~EPSoBbiFE*@X9daNy7k9X+Ph-hVeV1YU{MULm z&FMQnpHu_Pwu%{{nxesrBuq0PyUircfV_#hi{1r@+oFyN3S8$33|t=+92#|=jUnD) z(;f+c@|d6jMTObDB&_-MPpWTR7f<90W|bX&C)FLP$;l=)-DxwWrC)Iv&L?%q2b9T;@(Qmn&mV&9~<` zHQ$}*)HFSw`KrZW^sxOwb=5L6N_J&dzHD%6+|Lr7hk`6lJK@K9oZ?9>sUBJk-Za$U z_WvPfgK=1hU*VMKG#&I>zM&s8$hJ7%HmNUy=Q1q`_R2!A0&e$<-~dZ-9&+?SZ-7RU z_rY!sj|QzOcbY+h!6)pu2xyUN(8_gx_>@C+?5%44Ut!fr{)#b_IR<@-8J!nowYXsc zzb&(O-M*M4Ou`Y&MndDWGSbA8s3BAtlT*q~)dr8f`caF~nOn_ZwRxszl}KDr7U|Kl ze`mC2me5B3QUju3{w>6>>?j$r1*nYQURl)ixy*Ewp!=s-O|JnZh&ui{hCa~ofJ!oV z!S7w~73iA4NTQpakK|D<4TtMJmpLH^x1+b_;nucxU$`*>GM$Vb0q!|PM)?1c{#jR` z0oyB1T4^Ux8C6>OrBGJM$-6muC5ZVz#Ac)wBcT8RB$NjyYutKo1wx--n7Mj8n3)aq zf^jF1d2fY!)@wqSIfD`H6Db2SucY; z>~QHkDfG-e=C>XfHZ1s3A84430aRl0kSXAh;-fufSr)NxE^agTwgMy38?})x~y^FE9WCOgO zSA3oMBc&u?yM5ihjqSw<`gaW4R&vf8J^I9GSmuC^?ACwxF33+G`pE8nti=lK)?MIB zh(EEaA>M8b;jt-?IQ1_^il3E|xhm{cnstqv9^co9UCH&5zp**5l#@|AUYrFguV3~L zLBCA#rP+sa@7*bSUz)uu*Kg+;^MMHmFFX)b1Cz#ldFYR^L1`&&^j^hXKL+SBP>58l zZNLKkZNI^?I<>=oCw=p0=QlfkgGJrOWPJd4VY~HXjz6yT_WZtlH%BIwn|=s^4UxILG%zAp`b6WS48r_@2c7!o6%D=gE`W`i{nwb zq@AqGtUj$5f%%tRZu-iBtcP=%yNHP~P>#6EV|y-aIyQTjEibkw5-p4E8Q&Cl=1-CV zl2NUbC3;+J&%~xq?f*)T?)jY5=Pice8Hp9n{6kdEYtqkKa-!8*f2YUy^Kn*@(|^ZC zmxmT=a&nT=<46hVBoF6~hV}EyxakWotG@|+!wye<$;GQC$F~x#5)Hkb4f4Lk24UWX zL-rio4`<^;)eBxE`2g&x?M&ys#n_0;1AbmRS_qGPHTs`9U< z5({t6)&3lSpnrpNDiHJMZ2bl?+%i)DY$#)Rq4Fqq06V+MpG;N$<^1%;zvK;reU#2P zg~l4YN&te)I>+=xrz$q&wAh}i==7Vu9osXaX`-9D-ojUb(!r=)!EedvJgdNGAI+Xg z<`|`6OP8B!j;hvFLkla_!rZ!2L_ZAJ{W0J#k4|=yi#7q3Y%u;(*OzDS@qa^-8IQKT zuyq_Slrq>qH0p9%?oK(Y)U9dHd}Nw(F*~E(A{J>~y;j2~p_ewE*w^D%$A^;5+=ON6 zS1_KvO&Ox&qFS2(RorZfR7gnm&J-Cvr?)tL4_tPSXc}RP5kJ&^QAYO3|FrMaKe6f3 zkzLuTj`7_`gZI>lP`U=NR9fn<8N*IO zqEe{q>?+K=ALcfap2Yt3(ngFb&3NTta>T=9`jr4i?xn|QXoox;Yb>MiU^K(4sCF}- zkD=C6d1|EAM(^bYc_zJ%=cxo{fi2!lNSGtTj0A~*L>?omSo$1zrV9aH(ZOC=j?E;m z)X3;NC@j1vGWutEN$WfE2UTaTL%0sH3XL!t8$5iw$|YF6yg>}mQKW=N`)(S#kb<$7 zENS|pdn|0vNq(2-Y;ulvM#u6&V49NMl*2EsEVBOAHyMA1j+xQG=&L-df9#~o58f9j z!we%eN~~xkLOD&^fS^rN)S}*on8VC8177rfz67u7A$d+ZLr+E%Ymj{qe+)uWBK~q2b3Pm2LG3U@2(-LPsN&aS2rlEVoK}U8yqv^+B z`wJ%PN!24;RQo#dFX*V;U!V!i>Xo!Bu|yvjUoIR}eT-cG(l?;u#r&|pkhed#LMXd3 zsDBITch#rp_cw-q*MJ5?zmIdXFa0KeraE8bjqQIS!T#8^-xBQaO&1CYb|8fZ1gm{~ zXI6+`5$q9M3kmiCp5fO-Y)wt76y17KQL~pskkytbz})1ruUosux#M9f>?PX7Xg-)=#~zE$FEX~ z#iLp&<#lfPlbdG>>H8Xr+ZT?#^nD%cUw~;qDWok0o|%hDEFk(PDIus2h#O=S(*5!K zE8<{N1cL$pTC04*^O$~{@$et}8xJ~`!K^=pjQ)aG84pkB=P`Z?W^kkL3tj5s>c-oZ zKc->k^2<^e4p)@WNUE5{!a%J1Fo|vus^UFIIJ1s5NJC~2REZDgEVy7OF`_KdV~0zG~$3raa$O_eh}6*!`F_WkjOWgXM*u7DGBzIFs)#ot z;$2g2B6hu{f=eb;hGL`HAYDQ5HB-Uz%QV9U+thZSGjBf#JzZvaeIJslL%zJA%02VY zG<)m>MjP%V#7|uB&|8#{K6I36(WrO-TTf5KC_dKiQUZcJHqkp${)YmA* zNnXZKiKGs_hzA2>=@uHjmp~A>*8ZxIEW)*GZa7fm5R^H05UQdG-(gPTJUU{4ZVcVD z{om-l4PWl_-OJf$d*vyN)QTH9$n15qz(v@QTL{@sOQ>`bvcPa=Z6(bx>NVP7?& z=8vTsft8upP{gp5>c{362V!n5InznJMz%=mJ4Aq+!qB^=x=KQD6^VR|Fem*233a8) zhQ=C-xLQGCqSd1_kD=>xy$MzFaf?zS(L?Xu^o&w>N}Un)7E3{v4y4EE3B97;pK0k$ z2cv{R+KUcBT8kd&pSWR5kLJ;1xdyy9a}v!p3n6M5>d&Ki!^w8?Inv!10lvQYU_Bgc zo8TKkXI}2#&T@l}mzxEex5k;jCnvGWD$1E9uas15IietB#TK~y)3`yDk3(pEsqw;j zGF8e{K6N6ehgq3v)^(>~x|WI5W}N1O)Zw^~iCy)x9LK>RQt3C1jo@u#md4vT=~CnC zEj?z1AWFV7!c$nw6~7;;ecx&RrAe#fz;yi?<-y0x8mC07OT)$Qhmpa<$mNp5Zv+sM zE`?lyaR9rS_;cjRnI%X0#;``~@#F(Mq4nUDhI&;svde4Fyz@T2Q1ck!Ra7IVb;y#l zsKbYRZxH9td^2;K9LJ*Rky0pq$)9N1}uUN+c{R z@i5J5yhBovs70YHa%)bajKTq(Sqah%d$^99#uQsn;t#2t;pu#FBCv*f#4}O0)KPR5 zsvdh3X?XT?iq2T))^qs?%e+U}cv+UT`se`DrD@ufzskA6%IVnb$o zGYEw)J+(hV$I$P}qnx8ky?G?G|2{hyHJn)kqJwz6+y|lvi|w3`#^# zD-97Na)fJ9&NTlQtcXPpnZqD;=%W}%eheQJwSCD@o~5>!wDub-woG48R-_&)S!d3^e$6~Zqj9hqeZEA*;}EwJo9Sg>o?c{iKk7eNMB2B$Q# zJol3G#vI9O6cwTsqW9-P=i$`hW{!QnLwaBcJ2&o)rkUuz<(Xk{SevcMx62Gk>;~Gk za82}3d`k>q^cW|vfS)!UIW@G)j6@Q!_MzOePlQ;fA!A6k8-j7u6WCK6b=-ZBAJl7Q z4$7=FCe_dp$c0ZvSD@k6u?n8tGbuEBR-?B!d*U1zi+iGmMQe8nIr=rGqAM_!uQ!v4 z7{GILIiy+J7KK+$$JxwbpswfTWXp^;^(i|KW#d|6@*S1K4=454Q56=|s?OAO6dQ(s zouRv|vgxg`7x|D3ZN=F)#E)GMEmZN2um@W@6L>huAFkFm7Ta@1vCoPGpfxCxYoMus zkqDpZiJ(uD4cgamD)KTVF{>IDvmFecmyV96nBCbU0=Yj`|6JucUj0tYqu*C(q-aAJ zub1htAxPK>y8&7mq@vGN_Pi`MQ<-eJokO{15W!Q5%*W9qlv0(A<@(Ejudc#GKKrt1 zW$^@Pdt2t$hjf|AYG^3N49O;m8G9xEAE4x1dl&{1R&76frB#2CBoa{&;jT@y-p_0S z>;5W8THLhUe_Yxs@6`Z8i?G_x-eYA7c4n&p#2^Cceiw3%u(`{exdQ%9D-A>NPaqwK za13?t(klP+G{_(NA~WA1`~X+!>r51wI6$mV4Zy-Mdb89}TE;U3R&;#O2&MI>6xtx2 z;(4r*ZzBfkS$4`uz84*Y-RkL(P3Efq^C93Zo6NoIeg13aGGTbCY#eu#dm>J(*~*VE zM;$b_gtW`A^anllp_!+Zijsd$Zavsu)}IUzJTuyRP0wZD3dUEyy;1_C4%aF~3ZGB4 z*fi0$y8SFW#sgEBeOvy6dujP2zcnrYHTSgqA#+j7libnrk!tynpygrGX!(T;KSaI{ z+6|HuG{YFJ#dK{iJBw_&_OHlpC}@9b0LH!j=_&kA`ytPa;DgLD2Z=##`ii*_N~mfF9%ZzaOIg*g9O-XAX!Vy@c(w1J@j(__Bta4!0@XI8#|ejGpXMg zAl}J6jZK=18v7mYXzVF!?2!QwPazE;jy8?8^sp~|w3mH}Os2gna_u$xeaT9z0ds1A z>wP5Vx0HumlLM@-{t*q@^J~+fkGR(~b)K6(a2xmXbPYX)5gmpr{mZCb@uaq#(Bi{g zTyU}n4jZ(CwOQrdL)4ETVtv8>awK)!1H9Ej{vu|Bv`Ri){P)Z+M5l1NiOD5(H9x#R zJ#42$_+xR?TW;+~FncZdU9U1bH#Z)T`!2uI2CB4l6*Qq#O>k&J=7?5A@ceo{S3+hI z!@)lnEES070l)Iwnf^axJQhuF|qup+`ylqMX49ixc_O-M|^7+WmCl0;)vj2e%kVvMoGf*li$XV64riN+Xy z?`P&&%Ef#>-|y%1{r&#=<@TO^%`@}t?Ck99%xs%QJY}K~_b1TD7tb1qC&?dDDe+A+ ze2`8%G-)=TT1EBL8x1lI9YKvOS0CJ0Bp)~I8`1t6$wBQf?NQrmbi1+Z7QPRS1}8A0 zd9sM{Adr+k3NBoO`n zq`J30#>%w*M%ozcZVdV(E{b+-pMX{rz2U32_M*FWn2N#->OH(hV>-luRTEA1DE#0T~QQBIuWE1l*G+E3aR$`D$H@3O&!>EaN-^l zE(O@m6e7pda6X8Q5@*rc{vWWkSpc@7xDBsO0oYULkrs4>Eg2t z7-s#jf106+u(jd{ORH2w=M`xFan%e(8ry|8cAOJ&D%lG~t{!FeN4Ka`Cr&dvAEtAD zF=iSrxj($+37w8N`UJx3R6LgY&3yxFTk`qCVlmQtKxjXl8_yBv#v`v47mF;p^(##2 z9JLnW6@9QP)TLeO*N2u3q-Br6qqO*@%j+nXfjHa8Xl8U7#oN+9xjL?iBA^T`433zMo-q*zBqw$B+f)E`{;`@#TKli*!GF=#y6AkJON%e)rq5! zu6`~$fg6Co(vgT^73<*yB>9DI#w1*S>E>?B7YiLKYSGP9?X`DdEPN-jFW#Z{%eyI$ zikIM^dsaV*(@k7Ox9vmm#R(72^ZKCeNYeQfFYN6egj>r^wQ;ciGL9OLyXCLLFkLg< z{V_=1fTiJB(B}vi9mVAv5x(S(aa(W-a(7acs8ezWbPdDz%;&A5!w**w-3GwiNbg#CaQxMFMZ1r}rKn%zczE>I=o5Ny z|B&q`I(w9%X#QXj1rPCB={;$11UfP^jF!iBM!G-Vm%J9;96(nQa3*rdwgDbk8rN^J z2|X}+HJ&(mAggU$Ai&k&f@%wNREn1W)tDkWO<}0p-;Y@cv zZub=5`YcBryxc!PQ$UqjwfXcd7K+Xny94j7l9q;VZP4j6rSq!o-Z8r2ARbF6^?RtO zn#eiwTf7m3-k)+SK`e$0T@Np8$Sqf_v9x*$=lc-@min#3;Ck9S)Z)E16hCSSBg0US zH>2}PI)A{mYTKe!qWNi8-+&VYul9hby+48p?H1P}cN_=E;IB;Nv*@?tGkA{)Tl5;8 zQuwEhp^H_PWdF1osJJmM)oeT*h(pOAfnpVSreQ%A3UsyF3o;4S(Y(US@G24*F3w-m z3{&AA;Ax{Ts^{bFlnHveycL~IDKyboR^B29Q;_$zi#PFcarpa-L4a{T+KLV94UfvU zHCrFzvrll*jts)b$K`e=y+8-6c*v;au9WTiZ27Hk6p&jL&_kir(vRu~^ndBxD9!8K zOOzLPEGE1~k&ClXYMwDVPq!M4DF9%$MuSKDlIph!*?9$xRu<&(bl zPxI?l5!Oo$?;slg&WEwkP_j9E=){ykh|q66Ol@;w=)>t=>9p8k!%~2LlmesHJ|K4a zw7J(LTA~U?f)gkkHc^~kJum%9Rf0~Z4cleu<#Q4FMg6^aTqhmlzqB*B;I8 z=syqR1bYuin_vpa{-%1^fcEaqys;|krq{!U+d33KK^7rXb-(l|#_gbixHmT(-A_E; zhEb|F)8mS5{nMtq*)BOyUgAZhr8QBi_36TFsUEu~CChd|1fm@8f`fKHu6@Y%?bdqu zlrCk~T1BT8Vk`3pp+*o;2$^=k7sP~vcL1KJ%+f20gHRO0qyUqHk0Tx_Xs z`;7LCi^vzUYl_tkOp8G^($6i`w{239tqsQE30@xl$FLyC8lO>sbJ#FffKT+Q|j)ol@7uX=uZXCuzP zOYfR;>HPu`m8O?&tCUG^((}^WM5NbNAD|kczU&{$`asJvOCePTMgD1%k;B+<8Z8f7 zDEA57-7DEA{YtmcvrJNI+3HhLs+Q(At;#O%ifr#Gyq)Q#`y&JUzcf<%C~oQY(Z}z~ zY+no&mGb-grmZL9EGo2h1?UJX*}ki2V#;pcMQop_nW!?y(6hY%=oy=mtt+$t`j<&a zHJcwLoaZ5^)6+i1K^G+vEnP<2;~Gg{f6*>;6fL)Nf(x~K;6 z5U1$0PL>tL+R{R4F^PIz)(vaL9l@E@*dr?2+fa)PRKubCmCuHsY_(*nlWvsk{~@CI zp^=c04J#X24O<_Itg<+6ktNMU`70mikGAY**hyElew}s*QN6&2kfmpt)ZWKMTT(@8 ztJ;742avgx%|fc9^X zn>4?f)8wuii3Yg?4ZlNerjz-J)}OWQ{e#OVJ=^`9^0`8WTUObH70L2V%|)3uPqd#X zAq{!8Xm<>w@Du~}7AoHwjJPSJ~@s9Yi>sqG6Y@A^HNkoZ(P>0u3_V-RXeGfKYZWV;IHXEG{;GBn-E7V2R4RVi8_( zFrgDs(ob{2VCmFf`~_Vjt+Q4Oi(sQ{Rfy!C8Cp7 z#zBYXGtJY3#{a%Wtl=(G-Uy=b^o75eNs}E25`B)bi>LUb049|hTb}pyD z%eEs})F^k8%GD@n|9?YD4;xOff6+GX$1U|c2`^i;KXUqu(i9@yd&qx&KU|B9#vxi7 zR8l|D`N=*QQ5Frsc{p}PG2Pg7qMb5~KH7sb*hNnMhkF?*)v$22oqmM7TlfMEJYC7N zT6Mg^?l+ZIwFf~+VL06M8-t1v{g!p)o7Qj`e2aG4-o<$QCF}1oQary`^7x~8*NbkP zRGYsV5uo+N>GD$)fok*V83pR4$!9dgwP-w0AU?Ppj7ni(+H5GeFuhhN{h;8=$yF!; zX(`UwEPUaV_UXLCI5oj(plud%gdPLIM|tRe1#Hr)iN~-mVj0}Wt|D$*ch0Xi|7&>A zGg=r!7UN3SaZ@a!KlYaqzqma@b8Fl7kTRkVRRqYiR{m+YQ;M^+nTWT#c0R)KTOvy1 zu7$X5MH}UQMOV-kiFoK491#)aMnGC++?+dN`2aChqY*&07eky04;!i%Yl7mE);^c=&o*nWBpl)NpqU4yLXRGXYCI-aoj3kyhWf@;-`0 z=Z0?}Bg)asd+3qB5POG&ZtHDk2*M7u4ACTs?vo4xlCg96=oe zuq(79Xay{>J8G0GpVj8ihj(dN7snAQjysdF^@k1L1N19BL8HfcZ$>^Iv8;mI`u?J2EBSc+&-x0pCye1VNF zdX~mbb;5P=z_ING5r=j(V*m2txEfKsP+DJby|Sn@4muWX{7k=mJ|xZWVH}m-V$0y+ zK6k{`&yw<*)&Mp6MazrYd67I0-n}b}>|N~pJ+$n+gBZ`|89ii}^o`v6x2C`*m-_SK zGSNKrsKqY&XZBAH{F4L!lLP~U z43YF15HQf_)!nEJ=rgF_Fn?{S-hBoQmi~iA^ceaIdBeEZ;K4(C3+t%RC}Ui#(VU1C zhqx#q(a~|CA(kk3C0arfEZD*_USV;u$ctfdmXK&;m^mWBjMR0ZZIIi642qA#cE}_r zA=l!PV#ACcu@j>#iJl@w@QhE0iZN@7i%WP^EMhC`>7ooO$?2p-bC?V)iL_62NIdyk zC>jrBaJ(nd5RM!u7hs`Oa!6mXj>M?xW@BiaIXpa3BpSIWwt@DjCDLq+OR~f#SvY7I zJdpWG(H7b#QHjRHDM=v-X0LE;w2MM>W28AG-YBzV4EBC&WJ1z7qvC~~P^!Bq1F>tL zms>rfEJjL_%)%sE+C>@qx2r4{LM5zRf=XA|+NhK&<6M*;rF&GSwQp1cc6NM7LP!j4 zx!jLhaS04bG={Yhg*TB3L3~_dViZccixLx(Qr=V^E7-Q^sBjC86c=ScuYrh185xog z3%!dmG%_SMf{vlkaFnB-A&F6;#-zlM2(ybzvqYm;xHz_gqhei<%CN8~Ds?Cdaq;B9 zE^<-45{wm%z2ai9TaZn(k4kn40^<-U_nC-@>?7e7CJzm=$8L)>N5>=nL2<^2sHr%t z<>6dr^|2u_*t&q&sUgu(VVpcNPfQApWNVim#xB^do?;#z9TJh~)!h=3IGHjH2NQl& zJ%r*wFHB3yqHi&$rNCO=hiScGCx3MxjB%w6tDAhPx#P2Vq{4WJd+Vx0C zKxI=>TH40oxQL36M&)6dMu{FH%@m3+Di*uTm^dxbVveCOnOAB8rL$q1}zNQ=J%LP6!r-H8?cE5?oT&f|3*)Wx;MSPf0SzhN7|wH%>Pv#Ce5bXT{Q?MwK8PlcmYR z;+)<@v=DHH#>K?om;~aZ%_+vjxacHts8Fe+gG1(g>9!}L;LBg15EN#+=n+o>N?v?i zY#5G}I67`{7>A-QD&4tJ*bfv3r=zr>vd3T6XiRRC(8kh6Bqv-{G+J9J(&9D6{(vr1 zi%|l_cG?~2SijdqEH_xx&+=GLj>5ql5j#C$nlU^s0p*4_*u_Pdp>Dy}ptg$) znQE44ibHjnEZTKpPqhqwvQCVSiZvUfw?Zeg4rnB07_VCFTi3> zh)FbtpoNPSahHZ@+gwrr2ANaPz9M?WjQBoWr1VQa z9BOnx^PWaA5T)Cg;xpdt)22c{!jERwPNob>yU9t{LrsIva zB@xA~T*kQ!gRho)Bq<8T28q!QEwsAOXi2$m(H$^)kV=l^$hbta(VT(;MJYuo#ny&c zq$z5?%J1GRp7~Cx+-7&1<)waQ!^!;(+w23kvRkuR0-g39{ctx*{4}y!;!iq-Ma0B+ zF~;El4o4}V!h_1yXqgs|7C`*^4H|A77}&+goj9(_QOTNP;!wsssJ-?>L#rV zJ0M`tFiuc#Oh_!6(*!gO!(*vKTBiLeO#-6vMB~sG<R zxxf4xDxt~@WuCG^DORfJB6K@+*}8+e8@eK0BZmNokq-A9hE#~FkW^tog&!*H(f^=t zWEf|dVK`=ZW+*mPbgbss!m)?rD92>S4UV5Uc5v$DG|lO#(=(?n&O4o}SL|AGNW~o$ zb1Pn~_)EnOE`wc?U8+<{tW>@7xXMYDKdF4A^2N$ks!-XYM~a>&^cYWBp@(lss@q8o z=p=RQq#^X@N!hYaZoHMK(Ctrp{EF@v(?e6_Z?FGv{r@gril@we6#bMi^s%T^U{6wU z5nV_wFk-*i+lOO;;376^k>BV5&@mk=6ur%<~fazqKzZ!e!EHzaCm$Xk0A13v_sw-CR2S zc#Hql@~CVqak0-|_PNX9sK>TqfoOAVps|}#^eC~D%kSsXbpB0d(8fJCe%J?33`sPH zLY|*2v99OMs0?dDWm_xXT3OcEM{9kinnNwYyJl-4q_$c@b6+LZ=|fVdyn$4xB5*OLxhkA(q!>&zv4Q z-Eq3%blK^Q)3;8CoDMkccG~8Y>9p4A1E;s0(wycy&2pOR6z3G_6yh|-X_(VMr+!W* zr_N68omx9JcQQKFb*kZ1#mUJ@ar)iyf#c7PHplNBFFBrdJn4AU@u1@Y$1fefaQxJ9 zljAzaRgM{s%N&uj#MoFX{{QXY{A^$MxUnzt$ht=jpTcU+MSi_vm-&cj&k2 zKhbZ|XX-cT*Xh^jSL#>jGxYE3m+8~>OZ92`h5Fa^^YnA|v-LCe)AY%Di#|agr;pK3 z(nspe`cQp{e!PCHew2Qsez<<9K2SeM-(Me~@2Bsr@2NNGyX(8^JL@~?JLuc#z4dMM zt@SPS9{OhbruxSEM*4>O`ue*1I{KRW7xb?Bs`|=$7rnFIQLooK=oLL3-*n7V`$lan zwWnGesmVOPK7s6j?1UVEWJ3-@4nw|!T!s7qxdFKa`2}(h@)V*&1MLK% z4n#FbEl6EReF(jt&>qqW(iuYI+0s*7^oqk62#xm{0*QdcL6RUdAafwEL6$<^f-Hxu zgKU6&2H6hT4cQCHh8%$$gB*u^2chRIZ$gS7_aVPQoX&XBH< z9+3W!ArKn6coZZUVunOPCPR`Tb0PB}3m{7&%OLMU)FWAu*6CkVHr_Bn|Q= zF@h?f4h84$YgUct{g;# z{%tRSDU7hb4Qqh_sIwQAR{Q>Ts_es$~C zt6#rC!-g-)U!z7ipKaWPeofuo-J3OQ*1UO(7A-tHJUm;{uT|^TUbqN@Ut96>#(90a z_U&%*?sd}r9{m%gw(sJvvrH?6lu-)`{X*h}5^&HTgR)t)&` zKAQOb3vUlS)$a3zUtJcz{B_IClYXlA!RQNJzMTHMZ7V} z4Enasr?Ef3xN7{B?qALRQ#ZFqcH^}n*Q&oYWcg9nv1^o`U_&DNbo%ctc>$E%hw`y+=KHm1TxL+Er4!)`$ zm{ab0K*{-5nezVcP8+Z%LUD=H?A1NR)2n-MOni6(F0@3%dK$YMy*(A|7yJ_wLfZ-^FL1s*6FEuh`5nCq2{RQ;OMxBc1R)4TB6q&KD z(Z~D0j;wT_;ihXWE?`DS@lKIh`rNsJeKpdx3;JoSC{^*1X>w}$PJKxF(X|)))s;}{ zGn+CSF*!llr0bdrd-ln<>%2 zgsZS<(0shxwJ%e^lS+0vGBP1H3~d3f=izoVmCoRygL?NUV;m9|=2M#A6;H@|YFeOV z)XDB*Rp*CF9yv|DYxD(2O6J{?TkaksIaiT9IiGss_|=s(t?DAw9_=O9=XVx*@4=GO zZukn_b*5y+8j@j~I|={BJta*SIto2IL2^_*$@Cr6`$wN}pyc+4F9}^qm)zb`((|<3 zlj(7i>+ABK&69g{$^^-%N|Kv)`G|OYCQ9NR38A}hrSTZ>!GR#j-Udn2=X55bDD#6Q zU8_i5|B|jopszVq@`=0T^6$Ka|J+w4-Bro-pIZz6-m4_v8Y6k6lH~j&bk?INrsOVJ;>)Roz%x8VLpT3lGjrtZv{z)w2@4&Drved zYslq!l5;72dN##~OvA$bJB(HClTt8Rx$V5q{x1?)*$ti!xn)&)= z$*2R8*WQy%PmvrlTGG9nWW^UHwVK_vz)h^*=S#`34<$FvmQ+F{qk2hRZzeg#S<{lw)DZEfpO(zak!+kP8TFpz^%;_;Ns{LW zO9ph8%x*0?{{=}`o#eeAUl8%Xbw;vto@DRMlFD+)yakd^VkA$FmE7K6(zTtWzOkg@ z%6f5i5&!ZVlG{&9p3Iee^0{Q*a!F;8WbYKo^a#o8BP30IB}aKl9%&%iqq1c7Q}KGP z5>O<0{(|I`uO+LCaq-datd)B2wOlBn0gK6u|;mmlZH}kQd49{YwGEGcp=8107E}a>~G%_(TjQDM1rZ7!RXJ$bc zX}5+M$@FC^Ozv+e8J(s51g1ArVdneF@C;@o)0e3*Pjuq-GUJ&hrYp0sqqN(`T*wS! zdN3b%kaj1SYnbs&f2JGr?n~0%%FJL!GEGc3rma2OGc%a+On;`4dAFUk&u6Y-rZ5AU z9!!N<=p&cQVx}`AnIA`en-j)49B>}?cV)j{DPZO^vzVF8bY?0uo;iUT$TTrM zm~KpG=3^sv7JfFPfKtHBXJ#?iFw>c-%y{MmW+2nV^ky2Fu1rPJLtIJw>(w&4f<#vd z{@d$h$+$E%#r}dEBG;}!$ct|!*V-md!S$-pDgW8kure1p@T8+$1Fq(kUO2?X6FjU= zm;5}uyi+=bm;VjGbv>T}o}R6IJj-5Kq=%RgSLszNJiCF*iScyN3K2~!xhyFzx7lxM zd|Wb~@71>Uzt2yx5(V+#3Z${SpV7zIyg6Ns{LgZ%>~_*K0~EVVE3ztq;`i|J;_IRC zq3feQ#%|q^fgN8$Zh3pQq$l9w!sT9+7Hvzs@Jw&aL@eWl>zkgGP7$fN&{=kY|1?Tm zmo2kb=z*ZpY(@^rpLLFoZgDEgpN8LwrfF5^wx^=pt@D6rozU!_(7*2Rvj}e)K(|K~ zB{kS4!jGifAO>t3_yaMfadaVZ%BxE+6VII7et~Fv{6+z>z?^l4=)C{>DWZDw@Cjn> zuqSjYR*A^;I!ZJht9^v1cn2OLCcWsFN8FP(BbyjxiatPGxZ|^Z#H%gWivf&6SKp>v zyoz%6`cC2}8?WpjZtvV?J25M-72OI}Yy(rb63@LkcQerxIX{z#2A6IZE9S*N(ye2~ zW7E%Ti64)7yqZ{4ecVc-5n1lK}6qKc>{>w zIoIk>oYvt{05Pa-fIrdnd#irLwG-y{A+F9h_a<7G@5cyW$nTZwdJqqvd!`a&rrzjI z%&*hakEjH;>P9>>VsRH@VvD5C!vF2Forncbayk;n9BSTy*dwpzOGGuSLVKch-XtHQ zN7iU>Vnm0$HpD8=c6t%Fm@``w74KTDh`uc=wj^5fo{4WN>?w$8L3*bOVag@-HAb9(D) z#E&C=suE52_EaYNhgvHUmH5LhMBh5cD-x|i=bVX=FBLk8@Xfazi9vhr8;GWff9i<~ z*H;u&QfpNpJ>@}T2clKiR!7YIxSK*$etfx@kg;#npF~rusAt4{pJ{&(l@p7e60!^{ zekWQ_ZGA$tbv*ExsI)uv8=)Zg#v`KX_LGN1=PgwQ6~+Al>5qTve4n_%?clG(Ue_<) zBS!VPf0uZ(YbC*@hnxOFdMjJEpNVg+9C3&E=FRxqMBmMEA z&y%iuA-aHwpWx$u9_L80HX3r4I4}Fg8RDk+YJx33>wKDYH~sPNh^D%~pCbD2Zzgy$ zZ|_Ock9W77Aa>|iOVFxpJx+S$mGj>cr#Va!{Oya?$4GDZ@Y`>Qrmw>V7hZYqDCuh( zwiR5BQMpNfZTeeBh}Ni=q$d*JD*S>B_0jf(1*bSV`T#x{BbKR(%hU?!4jquZW7$ zKv2DwwV$+RmG18&T3<;Q^cZk-FX^|QMhZsctpAd9xAQ#(tGsY+59wQeYAEQxcwZLj ziudok3Dr6-7fi}Lw~KUZ&1AvIS9a|reNVFyf=azdUyvRY*->y@&eFbClrK^((fMo>J6J(0X~!Hqt{EH5SYqk^33x$_OVxr-hq7B{kz>e?imD^iN3d zzq-9(e#+Ucq$}wS1V1}=U<;{PtwRN^gEns_eMj{{g0_eEHj%D0=^}V8>PjZ51*cvW zG&z6sG3hH##|t{=)Dl#b2^-0OPM|^XarWj7q+6XHttVEvv_jD1WDh~ln>W{y|Hnx$ z3A+7!;Um%qE|@D=RR8!|(*5g96&%vOp`a33zMyGFPr-b1#(U&{Z*ea{<;2hL zlK#s}9|&gc=_5FN{JnR`|Gr~@pv~psGSZi~Su3a{3>2($=E>XSUodi`px^I91uw4L z`WE>+uO20seZWyrQNBng{{z7xf{(9M72Ggu-<#y$tFD`%N9{vzkRH{}BB;bR5xkjy zVk!B%^_nBN^pcmL>D^09$iG!gnxKDJ7eQrPMjH9QsmJiI`1z*%wwU?-)(=f6%R|HyWm1*aVk5mXk} z75pvaWD&Fw;8ICPTW+6zqtmDG!gWVgEKJAx@q1`58` z$WhSR`9K1NH=U9qn0e5r90NKPO`&k*(0akcQ^pHsba4}mF`kO2U{lj2f|Yvp70jQb zl;f21U&fK05||_y_d{F3tYtsNlJ}Vj8w9N{PbkO4A@zlBvz(0~ySh8y5>#FoDENMw zvtU8vyl4v7xc~GVp_|rs6&#cP+hhuNUcN)H$5(NJiqg6q)$z7TWcRpWyuLw`Y`N(w)viw}w47lUp<8GS#D>^hD6 zTrg7zZ8<9M-JL-8PQ$kgX0%Nx$4{EI7rLp_gJ75`{lj*aWB%5u zLf`J{E2yMD8BcZ^KWn*H=vjp`1#5lYy&SEp6ru0fm@|$RvmKdVj-#CW30;|3QSjW^ zqhrZVV?p>ELVs3$NI9AcY6yMBp0i`f-g(#Za-4f?tk4xjd-Yp#&cGi=ll|kJ8wJgs zCzYf1oR`omymfCB*=h7J?-aV{uxaI}jQ11z$FJ%H-Es~F(Q+CGHdril(_4eevB+3M z=>A8~jU;=GL()GKI$mHY$H9}D3*C24(Fn5N`RTTDv_4J}`YYqQmSf~4Md(kG4h^T} zG%78Z2tE1nka7&VR!8V7uU{TU_8LtN>xJI6%cOE#xWrrNjh{Svh3qvdsr!ZAsPX)A zOu6*3&@~!9uP$`!+Jd39yvB7~Rtr7zcz8J;snSO1O8CPeWUsMb!9Jm9gv~FKP7abymuF-j!x6re@ z{XT%~H7ZJ;&@~>ov{dMiPmL_c4c|8wx<+fI+x;n?UW0a(qsQh{p=*q4)L-bzr?txQ z=J3LoX?cxqb+!n7>Aj?KG~F->U1O_XD+yhrzuUP0is!A7AC;rBEk@`X-)!7j=o)>u z>V^Jr@CkofUZb`0heFr5?E46zYm7YEUg(|A7x$y(G%CLz6}raV?K6a~G3fO$p=-Q+ z&s*rGsn7aSJQ`=z_*&>17an;}=o&*ZLWQnTN%aVN2TKmp=(_5G*ajqGtPGux<;=PdZBAHT|L!{;?;Q6 zajnob=J$;gy3cCAa#UO^3teN|#hlJeW+pP@nK8^s%m`*E za{_Z5b2M`#a~N|7a}cvX)1TRg*^{XX6J2Kldy_sIjmdqARcV-i2BW43;U1n`& zO=fjwRc0k-MW!RO0#jlB=_rbu@|5|Q`G|R+d5`%svxs?%`6Kf>^BVIi^Ahs{^BnUG z^Az(0^BD6eGoN{gnaj*(9$@Zce#zX;+{xU*+{XNrxs|zz`7v_?^CRXO<|^ig%;n7Y zneQ@}G1HlEFqbeFGZ!*nXU=2JWzJ#FV$NVrV5zJxCq0B($Am#w(%S?Y}UuJJ+Po|04o$1Hy%IwVS#O%Oq&-7uoWwv3q zX0~K{Fq<>onN69EnT?nYnf00Vm~PD4%$m#^%<9Z)%qq;vOc$mz(~)UlR$%Iw3iD5c zJdXchK4m^({>FU7e8Bvbd5`%E^A7Vi^C#vl=1t}e=5^-x%xlc6%*)J6%nQu(%yZ1M z%+t(M%#+OH%x{_BFpn~iF!Py*mQ2H!#;RKVq(Bu4b-ce#l(G{D7Ike4qIq^Bv|g=G)A4=9^4> zcU=6IFw>ZenG2ZI^ z5N05AFmn)dAhSR7Wo7`=pV^Pum)VEei`kRegK1)_%;nxW@n}^vlFu;vjg)b zW_xBkrZ=-KvklXW*_zpk*^=qW^kBANHfJ_tHf1(pHf9=`jhHVo8!{U(>oe;y>oVP# zb(po8wU{-THJC3jt214h)tFV8RhX5Tm6$HficDvw6Vs7tVCtC_m<~)GQ(+eCpwH^FmE%9m_IRZ zF>TD7%paLInAh$21MA;2uQ3amSD9CsmzkHC7nv9Ac%JnF<~inB<{9Q`=6B3fc09@Y z3FdL;x6EVAZ|r!Kb$kk2{Ejg5nTMH&?0As%JZ3I4hndZ^+EILC5o`L2{r5BXG56Z> zOV;-=vzWW>xQq3j%rBTbn4jBmJL}t+pD{nR<0q_dWo}_^w&Nz&GnpSVH`;Ln>+6~8 z?D!GuYnf}9tL?ao^_9#I?YM&V517mCn8Et{%=hg0F6-|wm)Y@c*56{L+wo1--(W7a z;}X`>n2YVWi1mfc1$KO$_1Ek;pY?gnSM4~L^;A2~VSP4pmK|rZKEsaFS)XRd6xNfO zQ|*|66;ZRjAT8+j^V7E?HI;-s2wM=9%9D{ ztOwh1JnI_Au|C$0V^|+;$5E^Y*>NQ6BkVYwb&bPVf5nbNSs!A@K-LG_aS-bo2eLlE zj{RBJ_%iDOcJybxpB?+MuCWj6z3teGb&Wk)?_oz1>l#(oyW7!^b&cIv?`p>`tZVGd zy00BOv97Tr>mBU)66+epph$W?f@j)-|?a-OG-xS=ZQ#b&V}q_q3x2>l$0I zuCY1m8k@21ZpWsqYiz>0#>T8`G_u~vjxVyVu_5ak8?dgiKIl!PvuF;uwjZUm< zbYxwlfpv{~)-_gOU84i*8g;B|R9M$Y?<7n#HpYt#&w1g)(>QY`y_66ff)Qi10aVNw z55Met1xXWWxC|al<#_|kn3JN-3EHa%|MmMa@pxfo&@}tkNVL~+{_FQ~23b6nD0&CR zyUaFXRGQ$pc(DnMO9qk=!{Hn8a*2;|CcbMi)7YM7FX7!7`jvh01vx0*MJdg}s90fy zS!28_Qsx~QVJhDM`B!h?wCAy~PN?&Pw$9!ecwD`Uvat*7w7txT3Gs;;vPTeAj%fE?&B0qW7q;)phT-%6(AlYxUZ!Z!USCJ)(ZF zoPI~tWfK;s-VQ#ZHXU4P#?Kx{)E^v|9G~MPza*LxP4ua2wR zbK~w#`RY%9K0DB|O1`@N)StG_*AJ_)i9 zpE>BTYUS>#zL!6(7)DI(LKYaMfA$8onwflCbA5x3Y z&#E)ba!9>5+3(?jphN2A6A?l8{0^yKzIXc0m8OT(MSX_Z6Ps4i%- zHF4khgX*up_Hho#IjFAN{Ceo*EeF-O&V9WbzI#yZ?l>W{xPJagIcpgMkZi?;_o$Wu4nnY^ay_jzh& z!P?MKC-T(V*Dl7~{wh!H*XEs>=Re6)s|4RmYPd2_4gSm&zH>>QdUg7mS*vE|sZD-3 zTjgwYo*HyCaN($NdFtA|eP%Wvl&5;U{p_7CYM!c!@|LH*yKi+^+a_2~-rT#DYUZhL zoC))9;h3lP`mJ#3oX5H9)vW1{UMR{{f2{M)*H*smReyidy=|ksT=iko z0UO`govWsvHxBdJlB<5V_|Qqi>Rk2aqAG`6mgTDXRSU0oUy!RVoVWVtH8XNmmyop2 z+Q#Rq6&`pO-wMlBPsjdn;M-BT>d-x1uUs0G%jG#&Exht=?J1qH-Y-%*KWvk$zGXgr zWR-ia`ea&s;4gB?#+9?MbvKKuGcdR~sY$A84hHG6YZ)0KtwkA0q_ z9&a|&qt@mewLXU2Oj(D?w1a#VF$x9=tf<*4lzk1EIt%u&-vj~w;Oif_;C+9gMgG#UzTw98R-P6NiTZi<^dg^ku_tAmEGUFyFw zTU~y0MvXb|XRGI}oTK4Tw_VLTC1bqk}0oetJTe0{=Ar)t=4UD=l0MU+3IBL z%gxUwWviLlb!V94v(-G~&V9<{Z1qm3srx@RXR9&RPXb3z$W~|7T=}xwm~1s-b6o1R z;o0h`Loem;49r%IqJGO(GX^yIX?9;MZ{BE0?2)Zzw>&Z>pwUGT7d{X15*&eGcN9I#o{8@En6M_;$9Gcs=^8w;&!wTlZ6 zU%F^jR~?PKvgVvsEii3d7yX@8{Y2E)R`o&D&*$nLwW@R93#;?&kX3Eo&t>C}Iac+n z5%puvePvZWdisty{-ssz_fu&9Z+BVM6=q$h)1O;ar)wuGT>I3j_I~r%4~jwyHHmdt_BV ztbQn^?Rcx&f;{PVS%5RzJ+De!umtgPQ}b>Zx;$ri>V9RSyn( z)7|N1#FIWzW<)URKq*YH!wWo>n!ZW!|()&8_O#doiCLY-&|) zTW0p(VYI4SqAvB>(9o*BerCd%vPED)2uFB9q-mh*|>j%bo ztgdQR*LGZ#u(^^|9r9kri9OEPzP8(aj~TEZt5;fk-NDN3yH!Qc#fb4;xx@LNy{$`q z1rKz6JQ7OYITrn?fB!}^4KUcex$!?*7Jad@@7dD0=+n^+!Y5Bss9!B!K-Ls5AK9P5 zYiP!n_=FdY)>!u4?*C|z!!ms^yyS~jm%fTkZ&z!H!N&Gk6=G#km8R~vR}r05at7wVc=lMFiZoLK)3^yp^!i&NcauIn1P}UrD|0cQh0r;erwYGW%0jjwlB8p~S214z&WF!J<#pu^=;>fO zM*3c;yoazi!MBwq!e54_!!I2pfPW zaR_os%+JDApqwa~Ur`E`>q66fZP3purT7hyIzL#Ko0dfg?p<=^y3BK1A zXWcEh$wgFje+ajtvmt~;(ftWuauq9oC_0^k&RJJkR};QZ;a3^jV}w_RPPVjsv4R(5 zG3gNYhw!be!z;QvyoQVATy>2gWUB*fiWr=sSA}MTRz>Fq8ZmF6s|VJE)Db>)buS8k zS6E7$=DNBfob2T?G;bu_4aA(>O@)g>dSfD=Mmk^i^MQ}Mt^+h*oj>NCbb-2lx|emW zb=@)d6jOKA#b4J=#4rF_ zq;3$b{J}_Fs^H7KOgyx~x81!ja!1120=o&ig>X-U&m3s9j9iW^=Ri_)vvtv!r|PDQ zx%9EnvTqZoO_VWIbHlbe};oAtw;BO?L`nh5vEgH((ZQ zteEz}iq=o-*{<7-dA^X(b%$V2aZqR$;@FCb)<!4Upi1p@U z9l6jC;De^L>{pn`f+P!H*gms zz7x9Z*s9ZT6$pO{dyHkS=&pi=5N8J|k6}YrGRDSk44rZwC{m$2tlptr)S&P>RRDhv5uA?m&w5>Gzxcvk2j6TZ5tROYD)zC2M?sfNiF-*Bp~ynwGZ$*HDN zOR0^iPRZn^xGD88ns7agB-{Yf5K|)|FDi`{BScOfN^^`%MN?~~CFU)`)=C?pc`I^i zr@VyG)Y?I#`Ae95m5z`uN+&VzqWEEyT|cEe9%(kgrzhIMr?7%WU z14J7hD8jXQ5VXOfU8mMPNEt5L^RaM`747;M%qKv`3!#>r{KvyC44eRK@|%G97-18J zc`)>e5Hozklq4~a$2?MrMw=gvRz68gv+*Ub6fq^CB`1wqbveye=D{@=?Ka5*%&EOz zpe%;WSC+z^F52v+@Oe*JCZ;#wejBn(wA=3~8K4ZIc6mM8+>g*AXNXpMt!TBWwcZTb zg0_7#=9y@TKZ9&RtGymRn-TYJWg8}Hx3{D1-3Grku-FEh?GOsvE^IypsU_bIA6ka2 zNj?*LE?hZi-FJ%?np$pJirQ#$9|3dGdgsDLQ$D6c$~EO8+SF@kx6fd@2DyUiBEB(l z89c4r#QZw^3o%`X?{(#_Smv5&YsvQq<&N+tE1IZ1zJujRZYxi~C(3;+byv8^O@0QQ zUT47cMA1VYLw^D(ohZ~9tz~sgw_#r$dUc&f@~w{WyX;S4ax$Pzf1*?pT4`*~!kVn8 zt*$PlCR5r{d)|zz#xdD71#Um!P}ChC*wKFi%|% z5$36D!TuE1LRiqU9fXw!tXk;WW8MR;_E`9h<#`9RgXHcl!Y1of=+S6HC&OqvOJDN)*HdGMCM6TOjj)$KozQAHJ9L8H81p93 z8bfH3?k3QsrS$cMm2_#8nm>HWCrE^j1j$8nZR#XkmrHR-afpOSt7MSe zk%H2fETpg0gP_qwYthz3q-D!aDF{tv9~lS5k^(!Lr#MVyCc`R=-Q-K*$qox0c7wYS zLL|Qh@S}-*vM}X?8Ehf#$d@MRTL6o54h4`b%rhL`7a!#teQra z1rBG$@)T!L_2R{_GZn5mYvS#{S_5LJpl?C0=GX}?;)5*i1`qFdtfA7G#`c@z%Xz$ zWCYIQN1_cMhlyHnnoEg9OC80NbVWmp7VS5+;c;*!feAQ2rzuIe<_c1qO)d6(oMX?2 z&r(eD(NfcVvCzne+HPvO$(1hVM`CT}=CNPED<_Y^C?(EPJ2u*$-cuDAbCxS&~a=b+x&4mGzNs&0n)4 z7K#@9lJXO#+dLI1MQCq}O7z?8e#-m<=fkDbZJZB3Rp|UzPQODV7tKi;AjBExt1CV)+D`%S(ZoLNU+c8g#4_wZBIc45P8M=5 zt*1kuj!DKn9bu%E&Zh~T<}yBQE_Jf~*HaeGly+m94wjwh{ES4Kmkrb0(x%i>^Z$Fw z7)!%T^#WaiSYLte99*SqCI2jl^e5U+k3|@rkCBU{KzCNm$))+o@ZW?LxuvUAFZHvx zl=}a4{u{?k_H>TrhW72Tj#@vhC6v@OUx$vOEwm4(C7wT(E@>Z5Au?2plPpq&%mK+o zdihC)l=?}%tZ!MjW;fd|7R|qu8EBs}9Oht31<9XWT3i}6d(yXIB3<$`klH(1ntW(_ zAMQdir;rS^jdCqynUASZEL{kePTR`3$@i+AUTP^_S4%9UrDm^b#PWWnF_aA}^)0n8 z>ql-ao>G_ed5o|toK91PLI>9hj~%*0Oprp%Y0@Y)RrskDh;mMpA}z>W=pgO1Wk}mP z?fA*x>LhI6!sLEHYUw?Mkcb%EQ%DRAi8jaKQ>FA|j2VNR`r+H{V$9NZRVX;~oz3zwzYY*tpnW@d0wW znU1To035*{l`Vab@qW$uBA8*=ny6moG|ESZ;mv@0$Qv6Z`L21|O3 zDdjJw_;6XQ#f&esBh-WL-$kQL`}o@LFDxHS5qLzG-7o*`b8l1li7XEqJ($XL3~rao zk%WziJ2t`-3Gy{!gl4%XMfL}$AcbWgFBAKuY_b$favTa6J|S2>|Fn^x2efU+@%wL? zWOV}WhhoL_Gl}{0XFB%Q=)k%o(~X(JJi!LrYDkaNmCQv3=?Ly5St~?Z{;{Ni@c70< zjMJ-lbRAHWJc5#w#elM@Ny$zWSL(5!XZNC1Bz}GStJ>fq$7QXy!Q+cpXGY{UUXu+k z{P6une0;HEC*RIJdiLtwr*A+1fS3CZ7&vHf;E!XTWYDP5ArnKx%;6D{QIjS| z$Hd0PPf19$Bu!0DnKr%b^8d<8uIvAexrrmSyDZ&E%YSX19_$!&YtyFe59hDFe`31Y zuR>P4#o_5ZKl zJiGHe_cLW@W@l$-Hy+%1XPTK-1#mWY9lv1p%cr-OTHa+e@F9!UNaV(g*e3ozb9viY~wC2cYYb?&^vy!Fy!0y z%Te_tCLv?9I<*_pu;=R2Gsv|yHhttLdaG?roj}NnvP+kugARr~Ehry8 zSs<6z%r9H*sMBAb4(rrS*p1Cce~Nnc7ti$A_%4TRQoc-gy;h&~J}&6*bZtwjOSX1; z(~?!2WgVA!9O`k(s@ssBPkq;aT(`0wYgd1AF2By%L_apa3KFc>~0LnlRgZy^F4EFoZn=s|DbMH4Pz8az05;)Uf)mdE35opqFJp|Ca;A<&iU)s~M#d+%IcqI@``aI`^XXVt0%yma zS5{{8SUxB8*`4@W8zaBV-j_D_~{Yvu8W4x>9^C;beiQF!}|m0b9Q$QcWX2$ zD$b29=h0M7AJ@nC^ZPdMpZaRn^3Q!ayV!``1`Y?kUB_w8^<2+?JND-K!w2R#uD|f= z`O^U&nf2P&W#c`T(X1@FWVXL^uTc}G z_}rc}G2m^{^>5pGwjCcV>$7WC$pFsIV5nVWgW8E5+4DA;@?3m!NK|AGohcix9&eO0 zgtKebV}1ASn`U*0T<&~@;vdKxI4!z;d+i7L9Sj>S*=*KpRvk8dv**8SeSZDr_U!qc zN`iBqTkCCHkf_LNw>N~dJNej1_d+7w{`+{tGhH+1PT$!^%W-?zx`ta_HooejXEu?u zv%VAEclek=?bv!Slgi(p8Fx`;a>C$#c;e#=H#xi1ib)+_-nr8Drb52&axJUbwJXFs z&qM@Z~jA5*Iw-eE=wjFm<{0U)*2Wl9Esl4 zrt1yIh$++4=ACI-f1I*`bn=2#6IyOK>vo#6JMG)D=a}a$+pzU&0d+6xLc85wx3^t6 zcC_s?M=L$HT;A{fGJB_Ft>CqBipYVP>@?o9K3Fvd6VG%$22dMzmRZt?|m0G{&1_i zBU?`wQ^HooAAO8OuPncK)Q{ZuhO=`xTE}3~&*4>oSoOQ=;>`fA9G;q{R&FBL^iwP+%TVVs@IrtN*-sIvd3{$U}~zvf%#fv zFKd~sD%i9KO_+sA5BT*76Sp3SOPaHsz4tfsZu z@^cX{`*vP=+`eV%n6poW1J`63>a6Qwy+nKc_b~#yCzg7gUBIm;OG9U7*|Y6vEtUAJ zWW(IDTF0IS3bfN@^EkV8x}D>uOtQ5P4e^@)rF_Y{&FyV-caMCmH~saw`27dxx^Z?( z!=?l^wtHm9wzu^ZRTREFYo5?%VAR==J)K{3c6(d!M%4;gV3&|EQo5zn-VHM*1d3Gq zyc>0%H1GI>S#G(UolkE6UPWgk?bvo%NOhR&n>Dwg;mDi~J({NH+HrP)!cXpL;~LvN ztW!M0sP+Dh`Xjq|Z@n92GOm{1!x_4hZ*z82qDC(J*!PMp+kQ7O#Z~ChGGXJ^eE-{* z26J|Ylfo9HJI=N}9WToNym`&$n%5)FF0kYITOD5Zwq@J-7RtXz`=+jkyknx?q-$tQ zeaPAM-}S&dD^+BB$Z5fBixH!?PB?SO%goR#e6sSXz2UnTqd2=(s?A^QRz7RR_6OTA z>N?ZQw|ipWIXd?Sb~JM4>>M9n9sDADW2>WK+Cf*0yKYZ;Ib~=)m&G~eXH`C?od_T=GoGW}Vq!rt5?4S&8U3MI%S}^|Yp1NB+PcG!_V$*C_-Q4Tf>icO;s__$Q=ZYt) z^{E>o4!Aw?@6xRC=TOehsKJEQUsVlTvHiiDZ^Dv8 zvmdq`da+?nxz37R1F!d(DRmO?-$m?uSkW+l7H5|z^o@L)xw$3V5ACLwemQ0~<}<&Q zXn*qdib*{<|Ni3n?t8L&xUTqoy@~eJGFed9p}T0#&d@)i&ao>! zTC)AsUbK#*s~zHW%BPks9Pr5K8E1F-wqjzmvrWr>$>knv<{aN^oxRm(PPZqu8uO-i zuXDa=0cYnmTu<<>@VgD$ukE9Fr>2ITTvmITLetm&^-3{k*C*=aTvz)`HbD`Ba})0Q z?$14AQhdMFnmS%jc>N~6T-B1ZTdm$~*#2)nH$G;It@8JVM@DvP;M{bCP2k^+?Y6jX zFUq~};G+2T`ugvNSW%~=GPZI4LgGFs1`X_G!}gO0DBfj7qZ@}BIlV61{>C^ale24n z?0OH`YA2f>rD0_a5?UOzev=*?#t&>-ZTNBQ1!~QKnW(%HK2WD(-3;L7 zr{7^~w%=hoUie zIlD!B`{kbQ-_-hj@0ohjhJ+rAO157VHr*m<@{1r-&AVNeaCSBa%RRriezIcw`(qfs z7$j32qHagMOdI{Ob1G-o#Ovrf!?o9~9`72R^m^o9#{-sk@vA>)o%GevvKIdHd^>S= znOkNS2siJtVy_D)sKZ8PWsBA;`OEaK&FI?6kh4qj$(T?PINvJyLwsn$)Ey`8-w&Ms zrhfd$wRN275jzjO=j{FtGW%kkKHQ4Eew<|L-6zc%!`9p!vf$g9?VMfM;Qsv`EG1Uw zykCB6UgzG)n&W5A&ZuRU$BBMER_t}=6y>vKSbo(0eZe34RJ<^n)|0dQ9P*de{U%mc zO>OE<*ceKkuGM`<-pnb8m~E#7o=y!UXMzldtLjI*oz+;4VZi&RVYI(UwnJL&xWxM;rc?A+#O1uuqjc7JPZ z_F5U!!_p~x&a4SHJc_?`9Dn9Pa0%ag*E5Bk*3C%HZphL`la|zWw`8xE#T3=YxKr9B zfnT_A{m=swJ8*Vd=NcGJY-C}%(ED-0=M$dihmF|M-}r6^?R$DLJ*^U^8gh2?CbuX$ zF|4j7dtE(G_4_h^&xTU%N9zuz&*(om40cbWF9IlI~XXOiz1PgopZK7UL9 zp^g_N4Z^k=J(#F_`jJtsVFK4toSn{^+efn(Y_?#p(-*0j+Ra+kn_Bx}52wG4`r)g_ zY<)SsOp&o?=K_m_RsClVFEqX6Jv42HLB={ggUhd56u)Wg&DlNqR_b10G0uX$o?pT* zDzDhQ?OvU_yPVBh+%~u5>=y0ayTJB=!s2$tN}aLwgqM$`rF<`+XsaK*HSl21yxVm+ zyE&(m-YH)6wP3INmnn;ZpL<`JAuPDiZbkb2H?KLnhUTYMPIC*e*s;ErQQ5hVmsfnA z-7avbVSTI3+bY}^B^~DMM!YQ@aqxN@3wC^P1=&lSw6Lhb&|asau07qokh8nxJnfp- zUfSY%K+{3}o8G*#YQDVospPSZvP3V(&Ym!$vR;kX;k}J{qG!R5Bd$_5HwIa|Dw>>I zr;)eQM%tJ2_bp5rK054^d96p9Z9f_8x;lXub@2J9kxd51$% zf4O%;pY!KkJa=`LX^}ZQF1b#<(U|k5`A*vSMaA^TOE#2ocG`a(crX2Xo%!4Ht!ppb z7;ydV-PqaMpR!F0+xslEJ2d(XXQy|fZ9=KbJacyZa-CEUdD#$)l~Zru^V_(46=yeX zP`??cM1PqV8yQS4ed>PW-HO*=I_4Bwk9he^KE#Lmi?iDx|9kCXuMBf`oO6SEFAXkr z6WNX*b$Ru=sk#F=yI~{t)N4OiYJPRV@jVt^b#GogxT5EEjSCKs>*}Xn)14E{*>#-X zwIakO+?*W`-K40pXwl`PZG`P6ImfS(x8v-FVS4OfNhkBIDZ`I8*S>Kx;#k?WhzhNa zuKRlC82I!t=IrA3Dz3)8YHiMrn{H9tqFx<;JjpF1ASijpiE+=%L|j2U%vn%~a) zoE=``WB#+_zq{I`0#?~LyYFX4FKE?uq?xa1&&^Jsdf&_C{q^EwSioN?jf!|nU-iAs z*=eLVF#9wp&5Ru<-lIm0TKavz&9r+htR0-%ci+p|6`l3eEjlGNv-5K5-r`KX`>_RA zE{@%{cEMmFyNB;T_To2OpucU4`7NyhgWj*`&-qJeEnCuehqD(@V>Y9mhVTx=g9KS@GmciSfQ#dz;wsbl7vVU`;|F;q7u$?`>uF zBl@0wD0v#FlicX7#{Sypw2V9N*Wv6ouHg^qJK~usJKlYSUtF5*5~Qcew_TFxvE@rC zXZJl`$N6-?P1CD)x?GmF$#^7MIw60CprvNhTXCZg`vhO(?8XFNUqGIAehx4r)woz1QXOam`|iypqZ#pB$bvqmX8rf6<&bKqF);m^xB zyIRMJMhFtNn6l&N$0U1RSMxM`UOi@IWY%;FXE$M}L3_uID@;!=DstIceBg0z^qBU} zF55KM-`7p%rOeIZ?5zBbjbGbro+&%denNTu)ooGcZB5UG{nLg$jF)nDS%=J8zFj=o zw5a|3yI$L4pNPh8?cQ&RKx;~-_{+_)iJ_dGMK502pnwsk?0EbMreEqeDQ>Oh_HA;@ z4yEHgIXmmCkFFf5GsrY=NZ6pwDOyh@Lr3V+4aHjT_^$;1?RVRAcJ7yIABudNWXg`) zpHdQ0%!JXCwZ4x%yP>4$sWE5QeD#RQyI=P;Z9Q%7#ZQ_APrdp#Y0%20NXzb`XL@%x zsvc+e&G_ZrG@VdWc6|R7#V486yrb3U-rrUW2*HT8iK0DB$ z^;_2qHay{V&&+-g6)!nE*LkZu8UF2T%H9V&qeOEzc77boYuN7Av>Eq@UEu6KIi34x z@!ihUx_0X%Gu4^eE;@jO9RvGJr8zO(X3Wj%P_GI_AU zLp@XWzT!ER+i~-NGqHRZ=LIi%TYMVA`P(fz+2h-G4bxp_BPO*l)q0`va-V#Y%NqWf zTO*?!yZR<^cFo&#xN&{i2NU-G;|0^a?w9jFEjXlO`et@d&Ti4QoEd>@Uz+TT>T2=* z&de7Y<&9t6yX7qiTM_>`zxJcfoZZW=Bb`2+yl2ARr@WwY-Hjdu&k(HGT&MQf!Y1uG zyD{Uu`e$ieF;QIH>-7GZ)yo3UvWQu|UkF~Fsn<8-iMbVLx8+*utHHsiOxXLGmuMYD z1t#9wYr7dPC@Ros#@V@F%jsRPrO4#{f?*zgpYM2izw`L@+m0{NcAv6m-^#*;dYs+h zk5$ukX{?ht(t!yqTCKnUtZafy8%h_3fThTw`qs%12;CN|T*0a~5tezhSOfsoGw5zV2NB;Fx z&aT)oVnZ(@sR?^u_J;E6^ER^Hs@k&FbtWxo)LG2gP48TLi%(QFV-et+`dS_Yim!reC=H!N;x z!rl+QMfW0|)}X8Y!)wi79iMoqHfNW7e#@$+Atok$&ZxZ3?D_syQY&;=K+aeFFQe10 ztkmv+w^G!b;$5>LTlAZnu=kBv=zpi+>&q>|YtLe8k4fzLg0s_@oiN7hzP?GQn>_pd z{G1Z61IAPDOiioD59t%zdqePL&Th>1qgO{B7MQU2mnDeB>+B|%`W9L3olSdmIl$Q+ zIejnRW9K)~kQc|pHa5_Bci`3Do{|Z=4Hh|`**RWqSJMS+OvG<|xsDfwr zUiZD`MhaWer5gJ)p6GOJzg6`?0s@6 zrBT{*YqM*HF-gyhUJPw(!TBp$mmBDJeYwap=I@j*9;u}ThOZYbPta4@q*Y3vpVIubaybR@cAocwi(`^UmjT>g&@(gG9J#>_O z?ZR|Xm&0eBdiTFv=9OZ-;aRIsW+pAi#D#PdRrY_E@-7{lIX^|j-p7|y_g@vej>)v3 z>lO?@x#IpR&fmngr!-|NrJ{|Kyq8Usbt#wF`mHL7AQ3w+P);2?M>Yqrs$YFHH^5f#Q6(OA6(cBNU z&g!-o>FDbBTDW2Hhg{801)6V0J8o|~*)m=c;KSLS+Me<@UuiF5=NUdwUXEXRl3{Jq z?+-T~+1RuLXU7Y9P@jHoDSA94xzRlL1|LOkkJk-*G`gK^`VObe_SvmCyA>U~1X>KB zMeKaUNA%8(c7IsZ;ccwf8p*MqBF=8g!O*%>J{gFH^jv;>|K1TFC4;uUtl#vs^QwT; zS_axH8gq8>x9He*)9Z=Yd5e#fWO}`K=XBk^nvKxEmYYy{ozC2C@w~!WS9HG7xe+4A zcOShfUQB(mxQ|EeJl*!TwWe2&>y}&BE#CZEQ^d}1RG|2(Js;%aJ@|UtWuLWQXraZB zO@;aWDh@20<2~?{i_e8CpS9l2cB!n-I_vzs#}6u_*?Eu(O0*$2+4E%QfIORZtu8)1 z%lRwW*z-k9;A?vGUYD*ebx&2?Uu|=+zfcx%<3_gSrv)CB_W^@-nwzY*eL}PIC7;ke zFI#lcGSKNcKk#}<=gNN9T)OLU*JgL=`F3maQ?lEADsX)?^PqV}klT{>TlB5oFXZBt zg)D5wWu2vo?om3t3IJ3mXVyl%}`eyFS9%;+@vsH+@C(=-nWH{Agv*!t9Y1 zMU~@?*!@pK7K~HU(Z}xpy?%!LtLRX;>(+}VsH|u;D(Fw6woDf2-^w#+B~q zMjvVz?-nPV{jKKn6wc0m_k){#Civ0pd>GPKaHva<-s?XIl2<*?x|_k-?LXJ^)694; zx@)TqW9X8KZ<0f4`!<(ZZaG+dtldnFqXRg*r#&w2n9#+AX6MbmQ}?}crp-0p<+pI} zdVZ(o(VSf!{WV_Z?c35l&YFyK6-0ga(yw=ZV5E0ZU?QGJz&%=%dB#Kh@JN{W@Y95 zAE}3b+Em}ZeEL{k`o84Ns~69oK7RDz-rd_bZ(O^2`O<~+=gyu!b>jHZBZm(jDB8Do z&#s+2wr}0Cc~jwr_3PHIUbS+?@?}exEY4rFaKZd}bLY&SHFL)FX;c5sn=*OQ#EBEe z|21yxn9-v~jvSGjlRbR+u%SZ+XJut(3>uW4rc@{f%2QKiDJjVV`u9&tOiYN6m&V1# z#>7aXqs9ID_3hKAcduSiQIS1+_UI829v&7J8rnT1Bse%Is9U$du3fuy2?+4__w(!A z+1J;{$J@J8CoeBgPY(}wcQ-dzR~Hv&=Z+macIeQ)eYvUi(Xn-F2M2q5 zdpkQ@TiaHxTDELyV}tJoSy@?HT3T3Gn46oKnVFiJnwW@0BATX+jg5_rj9Rp4(Y(2# zp<%OT&6+lCYJjatlO~NDH*VCZQNxA}8#HK8A6vb8^@Kv9KDN4b>(;4LM-N-=+O>7D z)xxHuqoa*YfQ`@R^RQ`Q)5L}kgJ4l*&2^PE&s76WEzSC{ZU7KjpFLLZ!%J0yaIGhE zSQP0w5bLLzcLmbou%MjzERoDn-g}^|FIj;do8?F;7=t)j6$b_zJZ19Ut@{$DtTm;K zkteklGkmPnjm=U!tPGXNwh89m-N4K`VuzrKaO`0|{rcF#OEUj(q>{~mwZP%frhi516 z&VB)1f~rMY<$xrO{4= z@~M%aAONzv`RtwKH^3&mtv${3Abwxlq}NLA?~N!?+ZQpf53bVmy6#XkhknqLaDTON z>8mNZ^m39*w=L_$g(YyZ0lUzq=JIC`Q}vSqr;~jcrgZFIOnzRzscS(3I63e3w=qOf zbM^B&`tEf(I;+;}yWRELi0_CF?J@h(0&ObA;>d=kb{i-^Ww3s?@pUxcdL0}-CO6c{ zH0pNhrD+cHHpWMuPMBrf@9Nq9Gq0H5p4wa1R5w_^&XS0XVY3PzADYxv**fy?vpZ}! zx#pI*-=6#nxxH8P^%=4D>%xKe&qSV^F=5ZASFXlge4gch^Ef+l+nv9?j_nURK4I*| z+uhr%Ms{7^@zjilU#Dex&=t44iZ^H4*z6T`JiqP9kn~X#W}9s-I=9>7)1;}#{a)AG zd!+23*TSt9uA9G&eAd4E;Dp=LTnfFPr>SP`-XuJ=yWjVxPun`)c_%8IvdsJGriCF+ z!@gwIU%EiQW7Lt>CE*&U9;e*wwrfUb?P=L&?UtV$csMuUYQfgO6m9OS9wdJ}Buce9 zHr~C-;!*pk2|F4s?jxAdsMa`*-ccEmpT<@+j&S{MH@{_vtj^KX9ox4(vu@nVkH#Bn z=Nws__5QX2Cr^zq4}Xx?E2QPE%hy`1Tie@fQN{i}p{>9B1x3)^LVo|5*Q)L7-|SNw znp!-*KwGC4Ypq*buTEWkVZHhd8a8U&#Gq+2!{#lFjA@aHsoLP5^#3N(|3RDoI6r3Q z7M51lHZ5D(+S&hD%h?dF%75>gX{1&DXskK2z2lN2Z{HcZt*~y;_U`=&>t;0_ zx$NBeFD=H_Ds8m?z<@~^pJGRE*m(0>!t;yeiwe4?^t|pZo$~kY+kPiDU(U{L*{%If zQ{U8q^Y&V ziP{qF-rC{X-L(C*J+(V(J88Glw$P@vn`$@Eu7e9CrTtk@CU_%wCU_vYCAcCuFE}MQ zBG@n3CDlBp4?cDHtZm6etBUL6RU&&`%I02p0qkx(Iv)o&r}v zdx4|CR$wJC6BrAc2^tIP3G@Uy0xf}x|C#@R|BnBf|D6Abe~*8Qf0cice~y2Of0Tca zzmLC*zm30%zn;IEzns6AzmPwdKa)R|Kbb$CKZZY&pUoe_&)}!=<@{uRB45gv@cZ$5 z@q6&Y_`&=@zCYiW@5OiLJM-J~+wdLuwtO4D1>clU^PBUV@*DFT@b&q6{91egUyD!i zzw$ouKJZF;CA`1H65_-MpQ=ZM@CA zLf$&w8s19YGTstiK5qeU9&a{p25%ZKk2i@ofj5pfhBuOz%Nx!c%FE(q@X~k+UMeqz z*PoZjlk#GD5?()EA6^u%Coh5*$_wEI@w)N?cz!$|UMHR>&z&R=*Ys+)wIq>Xw zt#~#(E1o&elqcdD^IGr>c};mucnx{=c|u-Yo*qw^r^6FqB%{frc(P>ms30XhSsWiv z-sr)rhWO}pS4Z+L6b95>U+)I$(ocE-r;b-<;|)IB-S%qHHE}Fb1MuT9DojWAzMJ=8tGsRiG5G( zcc3Bh-b4p;NW8bv0T*yj`0CIK623avL&8@FCrHBcfP}3-Y&}~-!p5^LB;xSw2nicc zZ%9)}KS<)QJ0xsFVC&x=$Enzdoj>#;(EIm9|?U3;_@E}N&HNMgk2=; zLWmx^kSUPCkSid?kjEgQi-s-|x)8ju6S)Y-&_(XYaW;<6K`zpu5@8dajc^r?RS4JD zfW0Q-)u5smA>0GU**Fe{Tm&gb_hg1k%o!ACZHsIU)Sv@v{mXoACoEsi}%+>m0( z{hCxFxY60zS0QW>vDJb<$ZW{F8k8Kq65%V_7;$;a|NbnNDi{7tA z$zh+UB4Iq(!0&#@Y)BR4e#mS-{34wy62^xO;>s34r$uFgD+f0b9630N`(X>aMCj$& zhy%avnhCvJg?*Ja!blvoAo&Q_M7V&;fj$#@Ic~Hv5vM#`7m~!O2TAlK9>Ntu>Oj_q ztc7smqc)BWAoZwm6s4I*QM}psrTcuWiCsxibRnwA4!r$QRI{%CcaEF?Lpu?oy@+bG z6NEV+tOM}Nc7l5SQ#(Q1^4CXr&31w|#IzGq$Bm))g5=ssmG)7sZG@qI+QaTwZ6h1H zDs3VfK7ZLR_9HwMb;|=19DkfQu6_7>pq?#)P7K|C_{-LS9$_`w327t#IGeuWJw@&(bs6mjek0*GdJ&`tA8Ca|{jO|lDx$|R(#*BFU$!@J|JdHLkq)#6((eA) z=3rCV<}iuFv^l2T{5RU1>c7zDG|->}RBRz8l-N~=FCtKdDt^nFw->Zy(v)Ffq><**=F;&o?-6wJtK%|0|3n8Zg z?4ZDE!wU(vzZU5t&0#x|*~W3D@I6BD@aIlaX}=kkNSdr{jqk z8y;oC^Td)k9m-UPNFim;NSd-{q$kx%2lnvipaUn69eISONjYOIPf=Qwi>CV6l?mrj zZcMmkmVX7Zs!<*@n@IwU_lY9u3ds8Ng*QllA3Q)Aftk7fN7v*moA zkwWSMBWdaiTkcoca=*rw`zoqeA3iIMtV|@*m8JbK+2LM(5~SIja1qB!WU|yWI!>A7r ziZ~>#+9t+N^u)xf(Qy@LEAy!?Erkl?U@NRq~?n|-=cVXp*BYR}|_ z$pj2ikWpkwNhL>8$@sV%#%xq3uT&NC@qIOX(fB!x*u4Es_`@pUEj3G3#AoQ|_tlX6 zi!fpn{hRRcD&Y;_(;En`f%Y|yIXy`Ow_jBnR|$WnRjQ&8hh7boA-rZ7IVSeM3cpn) zJRkeDQ5Hj}>QL1<=Ja8|uq8UbD&eI#zKC*~RRhOr9CP~JzX{(^C433?C!#F&LRN(( z;;MSg?Hm3kT)#^AUDbOP;lG5e3Xfle5xvuI!c(h+$70_AWnoqWdNqzYJ=RbCWJ`3T zs)T1^KN%phDxzx~bGq=~g!@+scg6k=r1fwOtgUg(>GOXRKD|o#IPBZv9CfS#QH^6x z-{?2tbETK&mjNTYv4eQV@|*IH{q+QgfGCpB34TM zt{-E2H9JXik_3IBx44^cSQvW4u%8*W$r4$DToOB=YX4YsKhCODMew&xscJ3o8ED(G zRONuMs@R0E*FY8^2ZCCmUx56dz%1M9e!XyXnt{BQXDucn=pD^n*lHTdMoF`gZ3XlNk>Ph@^2tT=wyI8DPD29mpLL;KOHYS9|H1QB=J^lYP~^B7cIuHG zji&fkj3%YU<1{1?|0zDkuVf>igwWK*ZK`^!L#ZDxQ6v-C@J#!Un}BHfnsxPSTIrDh z=1F=@&F_!vR8#S)9sR#K(9k61UHj`-^;xD24ZnUh)Uf0GDXW3FB|l)1s>fp8+$hJ{9YoKq)9WA$Y?y7e9$W>A~2AO zPnX439uR^U)Abqns#{W8eC60u9Zp8b3YjFCb;Ef7{U0)OqNSlN;PX(i$!{Bwr4)R? zK);E;zOjBief{5)p<$n#W!LzAlLz-b81B0WHQtXi9@zXC^PlM5B%RHEkjSmS_ZyhE-B>(HSoqjc>pLbTB)9OvnLGKXr|JmXRcDtS} zuHAT3-so0wqS|bFbmeZkSC`<=wZ9gS|Fz7w%qs5JX-F;hHNILpr`#qL-nytWPQB>} zJL!l<;SU?XcF6&4=-$m9Rd}@cP<7&yq`53lEHSDXViLwgbPJ=JlUhp8nw=J21SBL(@bX>Zi~N7#+%ANy79xcKw?VQd%kBW^DI8^WsElYJ$8 z9V{$WeNg_;9ha;3UvB&nM&iGPbOi>Ns^}g+K#u<{%tC&)Jr?yNY^3JuIN*$BKBO|M2f|1b4T-6_rp|1Jbw5$Rjx$4CzBuPO7curERIc$lg1886U#C4 zk|a^jLZDv{2o^I0F~0LDRm3N!W>86~@fk^RQt;zr)0B2;sTr|inKBJ?KEzXNE;J>k zTBy3)CjJ;U+lzD8DNH6YTW3icCN!9-2xmHh%$+ckFU-V^M1~2QK^RHLVa6jaDV0u? z$l{Wvx>T#!SaR{((6mf-p?R5VEo2cZ$^Ngf@SV{JOg%SUt zugX~h+tL29DZ9*KMDwkFp zy;P1TDmltDg}UjmQ<+#ii5W?$jGOqA%916D1gSV3KeHW^9#4fQO6mA?44^Rg7Mqlu zl$M40$Fy`zXU5T}&*?v=C7C);lU9g1IJtU$PaKO`zBJO(Y%s?smrLW+Gl`TWnaq}@ zNzs5~2atxSkV={9PxVJ=Ddropsqv0jIzeX9$TwNlK~uNUXpOF*hN|o;0zzdeMj-#jS}7 z>oUk=0{qGqdAdNJEMRt;>r}AMZ8_`?(UUC);QAo$7-K4JvQIWofaoK6_=C+8Aji?{ zaSrxrfZKA&4yz-(BrR3_(>0Dg*<&s}oSqwplVfD7a`VI<@yF@8V+1jqC;k$BB73(* zW1sLt*ke!Z6FqlaRO6U9CVC+sf3VR2Iqp!!A31idaje7MFnF@|}<;DrWviUE|I$Au#O#>$M@XDaTuxCiN&cIGO0qns*NQ5NB^Yu6`P9BqZ5Z>bhs#a zHhY!g_x8*~q2K#sJ=EkgQK_knh4@znm6sQF8q*Y6Y?krlb7q-p3gFB_2>G8NZ#Kpj zRq&s1iETv<{BQG1W|gU`;-~Us3yV8}%wt4UzdyBv>a{CfR$16^QuFkvwaoAVH|1O` z6qP0?U&W^=GFHLjN#-(b+nQ;|l|dMb#3#k4it(UQZG(QHQi(79tCf;WMyc)&D15?w zP*Q5TvZmAO;lJ`+-QqXytK<(kz;jY^MQ7qtU?_ygh3T>Z;v}UwB?WJWU`S*ox2Etc zP$ofU@vJjFInCBxl7^u{B8EQdK?8G>;Xt`2N+ohyrf@Sck27)CbtS_ZrMoWWYEKl{ ziA_}~(&glVFEip9q_m?+l9?5yRg`h5=`qPt+vFtK0GK9Y(83I+tgM|YZ#Lwq%)Qf3 z;lwW<0ITmv;w8#7JVd7P99oe@Taf{oHARww3@9*YVfqNkAc`FSGD9T2ctB0YODJv! zwrrS3#!QLORxz;yY~5o9SpPy5pAlzG#U!PvyU-M7R7JAzqYyBBWC{YsTB+sIjw^v$ zC;It>K!elW@;q2?3d}L z)gx_67Mm=UD3qjdoG33+M`-gnXI%=*4bs4k$--zDuWHe>8*Sd&A)P#$r!flug(5ta z++*T5PhykpXj1d6;U-0r$?Vf)_xv8u$J1p&*mN{X z8SF`{Km1j*K?SLyC+UXBSr*N>R95y!gp%>~ zdh?6(laYwoC**~zBT2FZb*cX-#~=L4?o)lnSVQ#zPCb5>Dn+6kK(3|auEffL9!iIV z`u4z$Rz#RDmuzMn$)p4qYI6Tb#)-_aEBEt7%ugzH3kV`pL)L$?NB^fDRFR}uSs{Ju z3!VB`kgRZhmndi(Yg&%^CN3Il@=lO?bi_?iRee8*`1v)BWT{d`9KfmC4@tc>WsiO| zmMlTEACzLBiYs$$YD!8HuEo-nR7Do?8xR!k8ybWgN0Koy?gW{lQ;$DVQb@vZR~Z=W zE%piw@FP#d!n(3|i%kA79ukwW6cUmoOCmGn%%PQJ5U3VpGEiNP&^uT&l;_z#id4A(qIvKSO&<+&#LjKSb- z0GTAjJu5ENX{qWatnQX*=GsQgem>t-N;5`*ceegqoNWL2Z~8=aU!hLGzp-bMSH-`& z2K>}xur1=>`^D%J+YfuDzb7Mqw#%q;C&5J~jjLkM^%P8NBWHpc3~>$fhhNUFN>5nD z_=jCe5>k*Bn}|*W%_|c(OqI7e%!#h%zDhbcXa8xstHi<9Rn8O1!;f?^^WgtfF1TbO z$?B%doUs3xPwt1R#rxw5rM`Zt+jr%~hl!A8lZ~ZbA z`DeB?;~!izDMts&R2(D#jTW5-evl32U#-Wj(gblsWlfvY%)Lhn2C|hsnP^ZF?ln_L z2gR6Iy9q~Aab!YiE43M%z|f+~%_zDz=FS4oOcd(75X=kyOr!oQ@l?5ACbxP26a`Z* z>T}Ib5r~zE>1lD8nXBGU{INbLq<_4h5~1Mb|5#eYNL^O{E)QyZk^#{_J7+!r2WNrY zPP5y;_y6xw&bb!hr2k{Fz=kcALFBsmr;5XvBF&Z8_-d6IS1IyCkKXlvdg1W{0$_(>U%=&z+qQ|Tpxa2W8al?2d$0(qfEb8pkF$HpQ_Sj?Hmw ziDN4qTjSUU$F0g$LU84+kxoa1J0TBkplgfp_Rx1gJ~~404805VuF$(d?+(2u^j3^Fl2YgP{?q|2*{q0k&wM0dqeguS4I0Fj_7h#kp#!F<*NKR_>M1E zpwEFm8hTIYY3PN}3!xW6pAUUB^q$bu&{NRgI|v*Gjv`Lz9iSINU$PHrEkb&r zFND4jdQa#n=Vq_G5P%z@q$dLi^BNW(p(u@L$~=nJ9uguaBtfi&bpp9g(3^wH2qLr*P2IW2*1 zDeRWPeg$k+!p|zizXtx-B2ViO?*^o|5PmiyuFc?Xf&Z=GTOe$FO;dIGzJ9f!DxW_=3I&`h4hfppS+= z1o{x@L!iHRA3ErBppS;$6M6^e9iVrBz6kmp=%bIPrw@l2!NU3S^(R??F?K2FCO>+ z?tDNG{Q2Ov0``C#2;2fM8Tbm`M4&ma7F<{0G`M|$SKv+sG{K(=t_iRS+)ls+aASb? z;Ee$41B=0R1P+253OoRJ98dw?IKTi{32q1AIJl9(Gw?D29bh)NR=^H${ef%X4hP;g9$CgamT*A%UE_kU&ly#G{A! zfMRev1FyhK25y1Z2e<`ZAK(^veSllw^#N{y+Xpxet}Cz>Tvy-$xG}&5a6^F$;D!Ph zzzqd1fEx;205=pk2(BZr7+go-8n}_bad7>C!@fqme*1N*>r2lj#M4(tQh9as;p5il8CBj7N&KEM`m+W=d@Z3Aopw+*lb z+%~`#aN7V&!EFeP0=FTs3tVSlHMlmwYH)3U)!^CytHHGaR)cE;%mr5$7!0m1PzbIA zkPj{mRD+Kbu6#{wS3V}Rug+LCt zCE!H^CFlc%q#rMVd=FU)Sq}LDvI6oG;DRsIf&~AL3)0aE>F`3j03nd?iShu7Jm4R==Z?Gr6p-hJ zyaI);=o5h};CBZ93V89r2k^!Kje+IhwgZlW*8_M0-XK5#%mmj0I1Rol_@}|`1H1xn zD4++-2e%cl2i!p57I?|PSMVkR&4Gj9JA!`@+)&^FcnUxhm4O2Ea;iI{?SQjRc;7mkH%lhye?7SFz*%tn0dK$? z4%7t}f@=rt12+h`1D*`{4(?K*A^1zdZ37$zHyn5bUK+pyrh{t+YysB?xCCw-PzLT? zKo|VE;MxGY!0iIu0Ixsr8NBg8Ghj8i&cI1yX#^T4HnLU28SVsN8@67X^W zA&?KQ15gBR2yhSFoYt`Kh_DXO0fp@$fx>o>Kw(=*ps)=jQ0RnsfILUU3k(9kIr#Iz z)dMDis|QR3R}Yv7t{yNETs>eSxL?6b25y0y4AcjID!7`!2yiul5#VY9Bf!-JMu4jc zi~#>VxG}&5aAN=+@W+8$0bV9h0bV9h0bV9h0bV9h0d6Mn4BSZIIJl9(cW{RTZ@`rS zZ@`rSZ@`rSZ@`rSZ@`rScfbt-_JJD&l!2QDJOVckcm!@7@Ce*E;1RfSz$0+ufJ@-| z09(NI0bYRHAGiT-FW?5ay?`6w_5yBz+Y7h>ZZF^@xX!?8aGimB;6?+*;D!Lj;D!Lj z;D!Lj;D!Lj;D!K2;5q>L;5q=s;D!K2;Ccc@;Ccc@;Ccc@;Ccc@;Ccdu;L<=IxFrox zw;Ex;F{A-xQ%FO|=8#5^#*iXN6G$^ib4W`_D@Yr}+YtNU3!6ZKPp;j0;0s$of-j^Y z!55lBf-kgy1Yc+k3BG5It#^%$S%FaHPqZKU!T{9!uHbh=83ZFg-I2F2ltTo{vM2Hs zg}U7bar8qzqftgNh$jv@UvQIv0YD0n3Je64Kst~CWC25fVL&#J3ycIt!*2rQc=(-& zI42?RQxKMibWBAY(-Hp+=x0Gc2l~0t&xd{i^oyV`K$`x-`LD4>FN5uJ=vKmh74owh zoHa=AI`Gyb%^Seoi2QDX|INtHR>ZLl`P~ltrLcAUsG^)cs)PUyH~^kN2oMd(fgB(Y z$Oj66BA^(!2b2I*8*l*!z!QiDa)5lG2)GAOZD9j=0?|MYkPj3)!v`RA0UrnfVpjwd1NVRufa(OF01Y?*oM253B`F1Gj)z zz*nHT|3{T8&<7X_%m?-Wr-56*SD<+SY=Az%P+&f=2e<`%1)6t(9_RxM1?B@>UKm;V zy;AiHt~C}Cr^G18>nd1XhKZ{fC3%8JTd^xS$;&WO_VIDGH)H&~gM)gIrAn9sulmM} zI^4HgNO%;UuHrKozcvU64D|KG^Tt1!1bGK{3kmcM_x+PqXS{hSR)27VNj{SmDkBy$ zB?eg{n^?>qQ(ky-D~@!sYh&BGW4jLa_Tixj2@D8l%zm|QKLHP*2hl01ap`y%t&qlJ z22X|+EX=AJEO8|dQ_1T;Sm6|-WTIAzlM$J@8GD_Bungh`hz{F z#L$+>$pGbGd^hKh{yF=f5>1Fq62zL)2vYa zS3rCa^n<@Vc7G@KiLZ5#g=`q7Beq3AJ}VPp6At9ynAnnV8plKuTYq32d_^OjwGmEa zRUF6h{}(_bj|4UIO!8JWzuZ2T=V#D2Lb;pq%^YSYRz| zpChakAU^tNsQE+^aDIqSE{w>f;D*A!GeCSy#_?V3leEM`4hCES&W7xdfQ=k-JtXlr z7t#jUgMH$oDqi8ZIc)KLSUlnQsj73`33*;Z8V}ZBpc_Er;S~5L5}hh%R@YjRHI|li zl9HCB#3Uu8WA!unR?(mIF0?#VsZ5F?FK{JEmCoclOJq$a7VM@b$guDvuDbJI`HM@H zDrJ^wcovIJl)U?e_r%i4Gg)SB+0XGSqyy8F(79GOtz!2p1KQS>wlt5m)TJOuHq~EU z3XBqa2Z!QqkZ{V@mPtFex_~W{N}6p?8hzOx`y0|XXT-7nnEIVD^3Dn_FMht{3W&a* zbeH5i0n7!FtVgSSvx7N*pmXQt5B(tG;a0b>k%7eUx!}rvp9}c$3JJ3W2;bI9ij^wK zK9&gE$I8>~Q)TE8@v!aB@q$1u^yC#;b|cFa@JtO3STS3_P?XYj`Pt z)-AaJI@gS!i&IHe?%8r#WTYfHLz1PWQ`GO_(Y<9-T=x4`E`P-PdW^m|YtR=t$Mi6x6BmCOnj@})KMvM*(0V?&!OX$UM*WIn!z(HTDd zMqbopRxK(Mv9g8xP8y!KVm&cYkue9w)o$Ow&SZ5MUR*|y`t@h^yTz0&RW?|vNX0YZ zxHz(M2A6oL7%w&BoeM%@TzPd0;MR6S&n)x*p$rbAiJl90Hdm7M;BbRFk)V*IxKp$e z>(yfu5k*>}8&#{86|zH~qpF>oE3I|afsizfmj*~ONW5<5=#SX%zcCMbk#SlkNg;zW zEGmhk@KL?wR0(N;$ygdG=NcQwiA_$$3Nm$JNR_dQBso40$0g=R+qEHYUZiK*Cdksc zmHbtTjY_t4$ND<*sXp`|$!LMdH!4SHL{NxVxIcwo|HNNs7j;72$!il#l3i)_xBp}^ zr8SkINJYt#vl@%?Lcfh&??A7xFpT1UoKI43@bU)UzhxFuVIeR2`ZT;5f`xWTlFGM& zD=P!t=@==^ z=I2K`ES2<+Zy6G|X?TIS^3#Q+O*3wPq?=0zQ+NL>eqIwR~)qA%G$-Ghhzq~3s~KajItjqv}fOwCRrhM%9dTKq4tjQVd|i|w&IJB zC`p>FU1&bc+c4GA!RnCwET-&GG}74gG|~^M?SA2pB#RipVFJ0{GHamOeEsAP*Lhsx zQ)Q^z7|i3`gHSaRmZ$D|t0>5gVJsF*Dr=Mxcai4uTdnDlT0ja06(KH}ynAkCjmphz z>Mu2tb(f@FvME=0AJtrNe!26+ykJGMXBB6Z^rqx>7S4|CVCdfF$?1JvXgWcP*B9}Y zHd+W8;s6pG)0xLhlF^A^eVGYf5ohW*yV{i*?4X+?9SOdhiPyH0lkg@w;xHj`kS?LO zPq;WFFg(;Zu&=Fq96lUj7bhlfnxad92EkrG?8uRCQ20-Vq^76F(^kI8@jb0VrO6U@ zDU)tbuh5`?AU|h1LZ(cY%bC@UbbPWTfkqVRQY)o34W2`$c_!)85nty(FTXHxYw}@B zY+PT$wL^?oe)KU&Ao`eURf^`Sqcid8V3V9lGauuua>y(%Vvl=e{vY=41;D1V@8kY< zNRlK;k~AbCXG4z%53T6~`qrht zD=Q8t5Sp*@X%*~HXNUQY)q;O;$=)T~^;1k@azavU6TX&hU*>Y#nG+rd+29xSgD+nH zplQqb$NqG@tQtIC@)FJ9o6w>1$Ns#raCw^9WpJQC_zsiay*o!>epO{>=ipuxT!26I z7yinMFpSMX5BqsDXM;?hzRHQu?U$h$VXq9Wo$TeY7fIMF%w~}5LVNe$B_mnqv|zjK zu{_Qst7rD!&$FS^dIaA=X!e3Xd(x^1#vjL{?>%K-t=jVmQiB_bFMVfE%O9RYHAlZ> zH+mj{z(UY-A3a#Y9t~jMg|gqo^S65ZL4(c1Il=Hmw?Eap3VS^6pU#|BPu@5QKdI8m zhB(=S8&M8v4?Z{#m&2YXHXOgKkzd>{C?sFx(z4!Dg{0KcH%@H^6Ym`oH(Dl%Rf7D;s)-|4X6HuE~VK# zReAk!eURRV*Ry*mRL#C$bc*YCE{pnQ_PVuKx?Q!~cC>ejp&Gkn;#afjS$6v+y;r}1 zJnbqjrgd9;)K%%IGVXGb@3L|h=iBYwyY=ePt9vF#vT+e;Iw2|e(rMO(mj|yf&VhD}=cpgmWk4!-Jwx~T`d127 zWpZ|ON7LYuQg`)O#?X~iR$B1RSaNFCKrWN{^*_%NVK&{}KaQNI?$5rC$WLGUr}g7p z!zqFvH{Vi)laH;%lS8_*QNMKe#Z_L@!An4!JeOv{tI^O;$*zvFA4q%MyV~!nZ5!DJ z^Xh{quD*VEApu9EPR`hy2`A8S9GJCAHwAtH1*F$!03|=_$Iv>!D$GULM%pPic zF?#{)%&yUG$+NG~S$B3Gtj1mveAtX_XFH~FIC1MHG$H*P?4HJwakx*mjbKaT^%3mO zt%+OHgI$B`C{UGm=vC8F?V3FF6E62wB-j>we-V6QOJ%R0>Q$--f~}RSSGlH&&0pxr z-7G=qETgyd-n6aJrf)k}a=#^SI_)@VO z5TQFHfh+mRH*Z^cSaoV8HpL)o;QbKih0uP>^-uUNPnEsxwg+Kn@m+r|?0CBr;N;Ay zIW(?dvql$eW{hM9uX~3NogCiyzgd^Y!ui!CNJE%O&))T>G~`fJ^y? ztzsHS#m2E*{lT7<-q}4O5X}&0fFO+(LCx+3yJS|)>YEV= zHn3ttr|96~hCVY1zHRgG?YC&1$b;Tvc!QZ3h;5SGuuT&_sGy-qQ&w+wgZuEqI)pYt za=WGtZ?x_$+BI$%AN;YFwXyppG)%ZTIXE5KLvKN|Tlqa)Z0m+itk3v_*3DvKn_6RH zi`MO!a{IQ{!f)l0tsfp1(vVqd-MC?Flh&;o@;;X4;Ar(LF+Nsl+%yo!Ra&q%E;cck z2~87Q$F@zj<>J;`T(bZb$*tp)Vp_)~29jFE+Xos+9qivfmR_~$)DG74s;vh1ocxmy z%J+xh`R>8rTLwZWemZp-IH*>2dnyu3VHeAR;Ay1tz*LR~Jp&m%`F&9KJL>qPWDa4x zBads-KDh>O;CWme{Uvh?fhU%5{^Tbj-Cd|M7>ykYRJ0>zK;hUsU zOk5Kl;nL2!sX4U8!#1ookhkf1=ia7O(_~(IaZO|0x(J;sZRP_F+qMrhZeJ(RtX0E6 zi=?DLOrxYgLQ*TMuMud}DyF*qQzOv0RqM9aPjnzLu_>SD*ou#_l^)xnaa>Y>u8o=o z5?drD-AE6KO>1%|HQqYV9L?HopV+W%)5bPZ)^@W%>%?G%+8Z}fL!)+TXmXPpnkJ|r zzL^@@#s=bpAGh&TpH_*kxmhB&N)owMoE)5B4L-5!pOu`@JtH|Wcug5gb6qxc;lsyidcvLVm)ycQC$ZaT~71 zRO(97%}it*uGz9N?Z+91HNQZn;8L|)-4;9qYwnET2c?`Bdu8%NV7m=uHy6TAkNk+( zzYosUW5qvKX~*S$HlJ4v3pY3{hfS@8#mswXOtT;Jdr$f85oF3Y+bo}wc63OtF~#J7+p1Rz5A7H z<@y7<^^Xo*Z~s=V?`i||RXIAgY1KdV$$PP2zuY)G*|#_Lq-OjXJ%8+3J?bz7|3>b= zabgYnXX-V)?*8y}`O`<;f$O{U@7AkV^GAjT3Vi)yW?JJWy~G zSFT>S`nA{Aj4;kWbPkUGPm^t(*sNN$YSsBKI>HD}cCB^FuC*g{ZD)T&Bss~t=oi|7 zHnz9?VJU*U57m_;)!UNCBvh^*zHGsPY}RTq+su4~QJ!3Bp^^K`9h#=?h<})s;GSvQ zCsO^%6~SK__eT~S>SWijc?s(pY0TMQ>tMXu%`CHh#UnT&)_|?vKXvmf_{%&I`d}q+ zL%w#En1r^rhuFON0|lqhFtKq=Or#DB%&?W)Bu47kCb4pk14bSqrctY!wXcaZuEy~> zbx6!{8g7MGt6`htPYb1k0bh7&=M$QEd!w1^Z-2)q_+(P5dAybV&N7;B0a;Hx z4K;i0yd$(Hm+?86eFi+JTkuXwc3btp%AE&~9^<)Yc0buYia7Kp!T-9GEq8L49!%eE z7`Vl^x88Q9v|&T%%-}s>p329UknGpkd><*;&3X!ckBR#(*97m}xKU(x4h~s?``2mR z)BilBKlbKLfQPE{Xs^n_r%c%izkXDtDcb#R){3oya`qT0`s~QPr{uV%JnFGY=sRDx z1h-eHzslUZw(&+9+pueF!T#8vw@z}L)8ObCF7z>IvUkd}ckLP697(^`eTow5H`2du ze+uqHcE8MikQ#cvzch5o?2;EOk&3gRvj+xy(wA%mFL)h93jv?UP^f=A&ziRL-;Ew;g zd#CpX_GL>x-l$yPeIwJpa@m7tp7Chr(38-!-zs?L5>_oY3`3)^19MnO?RWC6L{H93 zVV$%0SNoiX$0}GKm9oD{T9pUnv`%OmsHAkaMi@!{0%sRE_uPE>&n{4~koyg|jr-iF zs{=)A25x8(-?8WI;S-~szmU|pbu3>M;Fb)H_Q2WTUrlNq*EEScI@TP=yZ?lk#@3h= z(<;>2{ZS?A;v3pKTY}5D_jLTYDHEo#KCZTC7K7O>;m?kvD zG>d86&~DOL4UYi|{`I=xhg5b8Hh8`ZH3T1*&rOHyw^LO)<1zoq>HOVuTUVjpPM+`8 zUWk6qf_fh>fDmI@vm4CNer170e-S zZ*uKP(VYIu*;hMhwQ;Gj3h&;mlLiUCGpxdWb9=iNoTQzfvpWvxdh$Uv!LFhCv1z)w z2|oBn16VKF*KeT{vi`hd0s+1y zn$a`RmB0Gf$KKv%rUgQOpQ}q6-wxuNO8gqd#+B7CG`7$T+WNKiVy_!(w(A4?n-_Ip zr9}iW)*v}nUB5;g-=qLucI+v##|EY$xaoBF=#zl_s znuCp}8vp5r4UT{ViS7S66?cu~j$hVq_WC)^ux^~JcUOkHI+v%Kf9vN|!@6;}k&}OW z{HGc=IR5(o!TLGPux|d@%6W#-V#3Sm*3YSiJvlDENR~r6<@OB@lk>3tC{OqLa?^49 zj}04zoQAXR;l=t5uXF1sr}10=k%kK&Pfq=uZu~h7=f*#RhPyBlcViUp!D!rzF}M$7 zaX-f40gT6kn1F{c5f5V$9>HWx!BjkoX?P6N@i=DS3CzTkn1!b>8&6{np21u^i+Oks z^YJ_u-~}wii&%u0uoy3630}ccyozOb4a@O5R^Sb+#G6=!x3C&-V-4QHTD*&Ocn|CG zFKod3*oY6X2_IrJKEf7!jIHXI!;{p`Hg(!-PPz)ENI4(g6T#Ayo45e^6qEH%Ta0SZZN|eJ@D31!Lh^tWvl~Dy% zQ4Q5m12qwiTBwa{PzTqdF0Mm8T#x#=0S(XvUC|Ax=#Cz^6+O`lz0n70=!EFS$hT={P!*GniT^NbGF$(u!H15S1+=sEa zALH-<#^XUuz(bgbhcO9{U^1p)Djvl&Jcj9b95e6)X5vZA!c&-yr!fc5U@o4;JUoZ_ zcpeMz0v6&$EW%4zjF+(luV5)&#WK8x<#-({@CH`mO{~IOSdF)_2Jc`k-o-k+hxPau zHsF11#0S`f53v~^VGBOSR(yhO_!Qgm8Ft`v?8Fz?g)gxiUttfv#$J4befSpp@f{A} zdmO|MID{W@7(d|%e#TM!f?x3)j^TG4#|ezUneG37bo-w<{s$Vc|2ISkVnBkkJNl|in7>@TjW z3k}^}3+b+LT~#j{db<|#Dx`bucJ1p=s~_$D_-uNv*fq0VKf7Y>{uXo6eTZuzQ^VSASzNK}a98~L6jw>wb-F8cT?1*?(5~3~1Xp^x2GZUW z7+1o#!xgRrY0W8KyS;yK<#yLV+O~1UU(Y!;-{5*C{q>sS)%(r1AGva!YaspYZTpKW zezWZtuGsq?SNwXve}7u`p2-z^@8ybZPgneT@VB`?PJ0jLZx6qly@zwf_Cr_fJ)JAI zzqw-X-(2yR!QS_|V#fei{B3RX;flX5?7gKccD(WD)yC_O!=I+V9RB$1wd{)j8tmmN zNxylpSMLuy(5t`IYqr;qEB^TX*O)*4EPD1|1AezYZbYQL?p^8Y8c2J6yW$_i`ngIn z!)wm;nsa&$*gU!7FMkhLNp^!j-!=_@eE#(PW%9@8_mfk7Id7U>z2@-sb~D{lyzZxK z_m{~-u9 zXZw{uoZro_w_}Na477dQKbP2X$M0^h1HZeyreolWZ8Lvg@b~YW_RH|``Sa?(zWnCX zttad5ir;MO(-nVy{C;w3w*AdN{)DePTURM=cjsKATrp{>nMX-v;q+ zK=QAgcWgbl;=h*s^IBti@aNmw{bdSY*RI{~$JS>GT(Rw&;#$I*Z6EQwS-<{#TD!k} z{Bx9ly!?00S3McGD>u$^AcMpGEgs=PX<8Ao5wC?`&t-C+|({;CFfDNAlS8RLOI8s~% z8Gft{UyrBj9)3Iz-&WS$=G7JJZp-3|9RpKb3u&)2zx{OEsc~5U;q7*Q@yBQTj^FMd ztNhnO___;UZ#G_=maS)3Y~0;o>)91|d`)o`q}zA>IvZE`G;Lhr)BUUc`LC_Nx-b0I zafhED?3m#%%jvqG?zM5c;s5ILSbzR}*>>^UPuJb9Y5e|eo%-#k+c!_w-S$0yeBsBe z({*pm@PB2Wv164#9XnR}?N`z6N*UKcM*R;ryV3ji;r?oKPW}1I;x|`v6C?e4e|i08 z>)#*7?{>8}E<10yQpGip)*PwbuZ!~fPYG*|)b7{$_c8r@k);`raiywjAno3ffB(pu z{eG?4?;b__UoEyTUhnm6*Ryts3#;owyUlYqxZ>*k@!9lTv3_kB ze_OaZdri4=t7{m7-&35c{#pcx&zd6=bl4)MEEtf0S?9ZEj-S5AL_t#BM&34|g zb?HyHJndHB3Kigr9p7AOO@l2@Uspl;-5YuJ{<^j67FYacn+I3?_aZhAuK3H`%T<#0 z{>>G;E_1~nzu&)qZ5Tz*?tXernyuZHC>m;@Dk61r!_}gD6kLg-!3`Iwn~lrH8L3->JLd5|~W@MgbX>lQv<|2SmFL0A0OntvRyb4g{_lbZc=it8R; z=O6E_IZ}7O&Yy`EX4P-^Hd8pT1*J~c;HQT)T^I_BT+pW8C#k%|RMQcblev4sy#%b+A}_jG8U%HD%MV`EteTY&>>+amCfy@zxbr zSJPFHt}fcEvvp(Z!(SIRA9j6f-CS|&JN%qx!-n_gzy57pwvGMaY+P1v%i)TxC#!R% zISqchtvA2j#_6|Pvwsa>%No8tlc{sX=GouYcD}cDTEX=|TAi)a@Vc52>TI2c_h;vh z@VeR&>g+rc-d~*vb=O9yvw5zTLw%&>vARghWc87j%jzR7o7G2JKC6$kj8-3MIjug@ zvRZwl<+XXwX?erfVWj1Zw2YCKFVeC_TCPaT6lr-PEsHHyjorO{90Z3JX>A(d|O@kyjxxP{99f4GFV;sa=3Nv zFNYn^x*&YN>KdW0TZFpQ2zA{f)b)r^XYUikr`t0^U9Sjr_Fg4?*gg^J(jwH^HCgzu z=@IJsMX1Y&PAM=y4xev4T?}VI6~c!2z7Se4qq>Jjt;N0 zb98u}om<1}>|7gOXXo_rIym2Zz7F9((+or zk(Sr$BQ3AhM_OL1kF>m2A8C1QULq~8)kj)htBk?JEYuk{;gd96Ou z@>+eQ<+b`q%WKmNUtYVGiiaJ~U9symzunIHZCppvuKTQerdMaLIXmyTl0k!A3%X+M zHXc{(TFP%95Y}$jUw(JHZu8si{O#Wxu=BLvZr2NbyUj}%*tMQ3HqJ=(Hn0Bu7n@hV z-R3pC-L6wzv3d8~Z90CtUANe^l`Gagyv~*ye=t1oz0)WoHjpxyKP^;-KOui z_n_T|amAM3Z@2OL?bhtK+dB2zZTx<_>%TMg_Ih%~4HsT-{fF1Nafa9XYOnuM3}-@Yj`%H@vP@ggV>K;r-cb&Guj0cCPq!;qw)#TloCh ze(o=eZD+sTwzJ=E%j&n=@cwJwhWFcTc)#6-_uFlK`0chX{B|3^UAMYoNQ z-*30^`|UP)e*t6>Im$XYDr6{&HB| zAh=?~cXchKwcC7If38@ajmNLE<*?;(#kQ}l8|&9!N7kQd1y`&+!L^XKAKE_dN+Jyd zT?=X3*`G%{rWseP+2+|5Yxn2X^&j3(cz-q@{`$Szjqra#`uDAKYOdtXr@syS->2C1 zvn&305=y&Dvb@(^!E3hP#=CN-Yap-in#+03{%219x~%N=6aM*->*QajcXE|vS+Ds@ zuepKO>>B-LD&s0ie|~cspT8VedBf(kZgN^yf1CKr?Qb7D-ndfDHIR1Q>PijQK-Tn{ z?fTG_TCRbt?KNNHHQP0&D|TJ!ioaj@`-{JQ{B2U-4M_U?Q3J2Oq1WsmC+%43N)y*W z+WjL}nz;tjj;pTt$D9~fN!ooOSM0dyN~~)j{bNv^SKr!ewquhkH@ODVKVI4K$rZb1 zbES=IApLWnf1YaZ^>ee=+`((^=r#NM{w-d;o&R0&j|VBPlJw6#{_(S$*N>gUT(SGO zuGq2B761Iv(^ZoG@wB&BZ|5mj{Nr$6S4pOO&30~aCBrq4{(0L!KiF~F75{i`*ATAw z=a1W6CF!60{ByN`4euZ4hI+&L$Gl-){h9qdv@-tgetu^E46V1nyMLb9-~RXPZ~uQi z2AOI|IPQ< zbGkl1b9@VJyPQ57I&*wGb9_5Y|`%m6u{@r_|XZE-M{rg+B&@2Z3{cnD6j zPvIHN!}C~(m#_q{VmaQxD!h%gcn=%!0XE}fY{O^Ri7&AS-(Ww!$07WLUvLa3kUJND z6At-tE(+lS6vf3Tfy)quvM7(MQ3cfzjcZUB*P{U%qZwili`Ga$8{CXeNJdw5M^E%Y zI&MQ2ZpRSZi4nLP_u_tx$3vKeDVT=GF%wVW89av<@Di5bRV>FFScSK-7VlvLHem}s z#ZK(TUVMuKID{kk1@;G5`SSsRyvUD&D2$@G7$tBSqEHrBp(3iF25O-Wu0wq^L=!Z} zjcAQTv_nU9Mptx4FZ4ww24VuJFaeV=1=H|2X5uN#!Lyi;7qAE~V<}$4 z3cQK8@h<*_P1u5M_zYj*D}00f_#TJw6OQ6HoIq|~gl8c?&P5?yfTFkzqEQFeqam821!578B(z5-q#zYN(FgsIiGdh`;kX<3;(k1chcN|@;R!s2XYd?e zz)N@qui*{6g|+w>KEOx#1fSsxe1&iD9e%)1_yxZsS62bh>KAImmvyQ;3`x? zRn$OjT!;E-h^A2;lDGmD zQ5|(~1Dc@~63_-WqcggqJ9;4 zcpGc+9yVYTw%}8IjxVtn-{Js%z+wE1U-3I~oy}_k=iodP!Nn+v(kO?kQ4O_F7dN0W zn&U>aMk3mwBa)GdUPwoO48olliF+{)6YvP8VFqSl4(4G2UcwSA!y8zQcd-Eq9@Xkg&`P$(HMt` zn2PC`iP@No`B;d>Sc>I%6Kn7uHsT{}!{^wIZ*TxV;wXMc?sM1=Q4klP7%oK=u0%yt zMKrEOeKbZ3v_b;fp%c2G2l^lb126=`F$(u#JRZhWJdRm-2J`VEmf$t4#M@Yh_puqD zU?TgXgdiFJTFmV-?n712$tDc480q;}DMGIP#v$@f3wo z3?)$p;sv~fSMVC%#2T!_25iC>Y{L%h!XE6y z0sM%c@f++9EuV#Ra6XEnI7%W4WldCADi$Iw&GLlz!%t!udxr`;UIp*5&VKd0(EyFn3^9mB zYb2lz+M^>nqYF}TD|(|ZGSD9bF&INJ93ycL#^8R8$3vKeDVT=GF%wT=4xYt)ynsb` z8B6gRR^Uyn#yePte_5Tj5szRh9>WYgiP?At z^YAt5}XVunKQuE#AWhe1OgP7~Aj}cH&Fy!8h2C?{Nq};V6E?apWq(>mO&M z0M0{UT!>=01SN4f%HT?r$JMBU>WIcQsEg~-0FBWMF^ENLB%lr2qa!+_3sP|_dZRBg z&>sUa7(+1}BXJML;C_t9Lzsjqn1;tO6Hj3dp2d8;fJJy2OYs_3;7zQ?J6MN*VIw}o z7JP#3_#C_N753s=9Ka7ajGyruJFaZx^G9JZr zJb_tw8gua+7T`rJ#w%Ec*Rc|BVGZ8Jdc2QK_y}9^DR$rs?8evFhwpF@KjH{}!7-db zZf@?Lh5R@dg>V6i;$oD*Wr)HRD2EEDgsP~4TBw8TP#+D^1kKSBtq_kyw8hQngk*F@ zcl1Obq~kVZ;dTtcofv_;F&g(_93I3(Jc6ls3^VW~X5$&m!}C~(m#_q{VmaQxD!h%g zcn=%!0XE}fY{O^Ri7&AS-(Ww!$07WLqxcQSk?SH}|2P{3a2^WdLKMR#D2dBa23Mjy zu0|D9M>MWMU0ja_XpClvK`dG$0d3G89nl$GkcwN;8-0<1{uqeC7>eN-iF+^x_hURB z!X!+=G(3)(cnWjyEau|{EW*oJir26LZ(=px!8-g48}T8w;1g`e=h%g>uovIr0Diz> z{ET1mI|9Xc{UaaFK|!34BDe^}aVbinG|J*CR77P|Lrv7iwWx<1&MjCy^w}}$ix5)!W|ffyD$p(Vk{oO1U!t%cofs|1ZLrB%*At9fETeCuV5Ko z$4b0~HFy{6@jf=;BW%T|*nuyw8((7|zQaNMh$Hv~#}KK^ROPeE=akPY7bss=E>*s! zw9j3vydH|c3gsH5edc22^H2moZ?VQ2_W1y%rqVtKv0|TrSV>e4SH7dP&m*k7t6ZnF z&nT>{SN@>1&m^q;s9esyb}MU?YnAUQ?H<0BjmquH4DL%?xlL*J%dPZRW+?|K?OwW- z+m&`--O3%xp~^dz!<2UK-O4ECJ<8EayC-jDjPgF^Smik7c%|LDw=zNbkaD8Z?(18b zqE@&larARX(en zr?k%=hsw>$ zkCa=KA1k*i?Xw#z+mxRww<|wW?ofWN+^MwBe5~wJeyQB8w9kXA>`{KL+^e+DimdEY zeyiNCw9k>O98i9*JgEFZc}V%A^04wJDDCqzD@BzTDT^uXvo$Nl zm6s?>DD87MD<$mDeciDDCq^D|MCEDeEb(SK4QeR&G!>P&QOHQrhQ|R+=cA zDw`>rD_baIlr5F^d8U`zY-*RV)3KS;_&*amojj_BpGShm;eQ4=X1rA5l(LPEk%%KBkg@S1LY>=hsrI=kCj`MpD4F0?Q?1?JCvU*cPhV7?pA)K+@t(jxmWp( z@}TkulwFivmEDw2D(5QaD_>Q*KZ2I4bRbxAE6-BqQx;I3t1PHIPgzJ=Sb2f6i1I?^ zMap8zOOz#)mnustFH@FQmQj{fmQ$8jR#H}0R#8?}R#R42)>K9-uT?fxHd8iNwot|> z6O~EIHp;fjcFOk3o0T1u9hIGwwirOc;1TbW;ZjoJ%FC5e%F@a!lx3AE z$}Y;T%5KV3Wp`x{<*mw|%3jLe%09|8WnX2wvY#?Td7Cm**%Gt`Nm2;HODCa7lRnAjBr<|{R zUb#T|f^wnqMdc#pOUlK{mz7JDuPB!)UsWzszNTERd|kOh`G#_(@=fI`}P0A0Io0T6awwcBvdT)zXk|U+ z9%WX=(0B(Z2P%UPbf?qIYN75o)d*#RGEteNY@=+eY^Q9myjj^n*-_a^d5f~MGFkbe za*^^SSF zQNE&Fs(e+sO!=B}x$<@83gsKhRm!)NtCepn*C^jnu2sIPT&H|bxnB7%vZ=C}vbnN_GDg`_d80B`*-9CwY^{t}-lR-WCMuJZZIo@5?Ue16H!C|R zJ1RRVZ&7wu1~%sk?(eyjxs`d8d6j1=^C{0(=2xDhETBABSx|YNvXJt8Wntw7$|A}O zl|_{oDT^sDRu)%YqAa1jR9RAanX;7fa%GgVw6cuy3T0X4mCAC;tCZ!H6_gc~S1T(i zD=Vugt17E0t1D|LYbv9awUo7$*C^{KuT|DnUZvZ=C} zvbnN_GDg`_d80B`*-9CwY^{t}-lR-WCMuJZZI$hm?UgqxJ19FUJ1K8bc2*`UQOF2L}P%* zQBGD)QBGAps+^{LOgUXSL-~Yqmhx%k9ObjhdCKRM^OXyfFDMr(UsNtqzNB2Nd|A0f z`HFI>@>S()%GZ@Ely4|kDpx7rQogNRqkKoXR{5@So$@{9dgZ^A8J~%I(U}lslB4D|aftQ0`KGsobsnO1Ve*wQ{fW8|6Obx61v> z@016W-zyI)e^4G${-`{x{7HF4`Lpt<@)zZ=%HNd7l)o#FD^Dl`AL+cT%&p9$%&R<0 zdA2gY@*HIW<$20N%JY?ll@}=_=a>}ce<&_nb6_r;jD=8~0t0=1~t0}81Yba|fqm{LkwUyT>>nN{PUZMcl#eJUE2k)@Dj!u&Q$D7gu6$fML-~Yqrt(SUEag+m*~+JtbCl00=PI97&Qm_8 zoUeRdxj^}Xa-s4?Z771UZbp|yjEFPd7ZMJ@_J=`m)n z0OdgC?aD#Q!O9`ZJCs9}cPfV|hbu=Y?^2Fb-mM&^yhk}&d9QMe@;>EQ<^9TW$_JF= zl@BT>C?8TzR6eYnq5 zWM1$Xnc#EY3Xt}A1%A42KeG-L0Y782pIils!=C$A5~UCY`^u7id|nRaVIOH%LKWD@ z+4d1{G-{&`?D=r@P#+D@2u;uoEzlCNh(kOQkc75qj}GXB&PYL5q@o9UqBqizjtpcX z3j;9-LogJ>Fajen3ZpRwV=)fnF#!`X36n7u(=Z(~FcY&d8*?xh^DrL^un>!|7)!7e z%di|PuoA1V8f&l?>#!ahuo0WE8C$Rw+prxwuoJtm8+))9`>-Dea1e)Z7)Njvzv38< zBf!hjo?n+2`H&w4P!NSs7)4MN#ZVk2P!gpOg)%6Maww0AsDvu0h8l=QZPYva@jK>5_#3W3{R7}Hk%)m^{!fedJT+G9KEWko6!eT7JQY^!AtiVdF!fLF+TCBr* zY`{ir!e(s2R&2v|?7&X!!fx!rUhKnu9Kb;w!eJc2QT&QyIF3MW{zqQqgFTC{0PJ~u zg<#L*D*}5iUojMiJ)5s2N+AkmP!{D-9`>BRO0Z}3RYMI#qc-ZGF6yB^8lVxHpcz`A zC1MeWcqAYRZP6Yb&PU@g{RJvLw?HeoZi zU@Nv^J9c0vc40U6U@!JzKMvp^4&gA4;3$5@F&sxA58EGkkq`M%00mJ9g;4}WQ4GaV z0wqxjQ7D75D2MW>h)Sq}YN&x|)J7fDMLpC<12jStG(!utL@eSEj|3#4E!v|4I-xUC z&=slZfu87%G^8T~naILG48jl$#W0M(NQ}a0jKNrp!+1=9n z%*8y+#{w+GA}q!dEX6V`#|o^(Dy+sDti?L4#|CV~CTzwQY{fQg#}4eoF6_o0?8QFp z#{nF~AsogL9L29VhT{n2W&0y9@*zJ8pdbpNFp8ikilI14pd?Bm3T03h@~#Th1FPtwOEJs*no}Lgw5E3t=NX`*nyqch27YLz1WBSIDmsVgu^(3qxcoaa2$cN z*#59*N#;X-*z+U{q7dwvl0{Gy#ZVmfY{`-+g(#FkS(HP0R753IK{eR(CZkasbx;@e zP#+D@2u;uo_6*9Fh(#RYk$@z$MSFBWCv-*%x*`=l&=b9phIC{g6ImFDK^TIe7={rT ziBTAhF&K++7>@~#Th1FPt zwOEJs*no}Lgw5E3t=NX`*nyqch27YLz1WBSIDmsVgu^(3qxcoaa2$brY=7iMKIBIM z6ofr9voMOFD2kytO2D3@Sqf1ogR&@x@~~%XRzek2Lk&cuHtczubx{xX(EyFm1ojNh z7HElB#33FDNJ3k*M+bC*J)biLU6G0&=!xD)Lpm~$i7X6+J-c%VhGG~-U?fIiG{#^o z#$h}rU?L`AGNxi0reg+XVism&4(4JW=3@aCVi6W&36^3RmSY80Vii_n4c1~E)?))U zViPuF3$|h#wqpl&Vi$H}5B6do_TvB!;t&qw2#(@c9K&%0c)n(CAryu^ zOSCA8p*Tvwo-0}kQ7D75uxE^xM@3XZ71;AeYakl6Q3v+y(R!$l255vPXoePOiCDxT z9tlW7TeL?9bV6sOpes_*13l3jX-G!~GLeOW7=$4hieVUmkr;*17=y7Ghw+$ziI{}R zn2Kqbjv1JVS(uGEn2ULsj|EtWMOcg_Sc+v>julvmRalKRSc`R7j}6#}P1uYr*otk~ zjvd&EUD%C1*o%GGj{`V}LpY2hIEr6!498(__;VvK@*zJ8pdbpNFp8ikilI14pd?Bm z3T03h{J)@rDMXw*g>)I~kiM*}oM6Es5$v_vf85RU{T!Jg&X9v#pLosojB zNJS6yL~o=a9T~_(76xJvhF~a$VFX5E6h>nV#$p`CV*(~(5+-9RreQi}U?yf^Hs)Y1 z=3zb-U?CP^F_vH{mSH(oU?o;zHP&D))?qz1U?VnRGqzwWwqZMVU?+BAH}+sJ_F+E` z;2;j+Fpl6Te#J2yN8lW`Kk_0U@}mIkIkkmQ7)4MN_RQMiD1nkF1$%yN8I(mil!rab zwi2qK8fw6vYg-$2P#5)J&$w-XMreX&u;<;jL@eSE4}11)6566YI>4TT+Zie7id5J$ zaeJaS(vS{&K5izmFc5=a&&nN&VHkmt7=_UogRvNg@tA;#n1sogifNdR8JLM#n2kA@ zi+Pxj1z3nhSd1lDie*@i6b9QLf=k|>2Jlz~0>w;al& zA}Yb20bC6=5RKZf=KxOvEHi##Bthbj-j^%))HU!CcJ4d@R61 zEW%pfg&j-#8d+u>Q345+`9O7ZmS587(*mIUUpcCwQ%PHuJ zRP;bk*z=dukd6#wA`1gC2tzOw!!QCPF$$wG24gV}<1qmfF$t3~71J;sGcXggFdK6) z7xOS53$PH2uoz3Q6w9z2E3gu)uo`Qy7VEGc8?X_Zuo+vh72B{KJFpYGup4`@7yGau z2XGLFa2Q8$6u;saj>B&B=SE)SLw*!MK@>t^6hToGgFQRC1WLl5AsvM>uxCk^LwQt0 zB~(E*)Ic<9qYmsj)Adjv4bTWp&B)z=zvb>j1+W5Dte$NdLs?# z$Ur8tFc5<<1Vb?lBQO%9FdAbp7UM7;6EG2zFd0)Z4bw3LGcgOZF$Z%o5A(4A3$X}` zu>?!849l?sE3pczu?B0g4(qW28?gzSu?1VP4coB;JFyG9u?Ksx5BqTd2XP38VSk&a z8m!a^MZo>sC|d2cl(m&MjFmc}2wbbYL7CR8Yd33b7?&86+`eX&=*rcvtz9RO+UwSC z=~+?rqpAferuXkPqP3r*%&c_RuT6N1#`FudKm=^e*W( zWO91HsQTAO^-9m8DbTf7R{yBd*E6P2g$)x`u3S|2K^gthyEBpNty_Bc?y1Q=GP`t3 zW&}2bO*(x*-{7?Aqq+@}&RnGWwW-~MGZ*MKI5Y+JqtN8*T_06`0MqN+Wl(Zfg{YXg zq*e{vCqs+v<|VAZ@+W(Yx;m;=Ok8r)_VH1bqgpkLOG<7M)4W1d)u_;#PV3$!HF-$) z%znYyx0%z@g^kf0VQ|os!-e(ePueEfUX!jFnr7s&`vZmMw|cekSq?4n$?4ka{wwnv zKHO>NH+$06EAaZwUOzTm*Dn3L+ls1QJL-lUHjJ&=sJc0HtZ>Tl`CB@Buc{nzR55YE z)oBy@dqc5E!IHyv$ewIHRxXR^ZT8Ah!B@c5QPs02{fDmEgNF4OnxcC-x!ucu;jm`^ z_)6kMXZvjShA7W2%YIygQE9&2#;@2vt4n59hP`THlgnRK?JBo?{j)NYv-&0X%}Cb* z6Z)7bppP2@cH7ypTac%cOktc^{dy#)B{LJH}AEanHg979J0ZX!asH( zN35AW>;Zd~zS-~4=qt#vw+w39jftc_^U{)?{H2J!_vO9fow0NXmf$#P${W`1>g`sO zbqnuah&o#~yA^50^?xbN#bLK7thjo+F0pGDw?1qRt@OdIV8((aw9q^Ymp1$UM3GQ+ z_W0~Gdi%V-gz7_UjpxcT!g#pjSxI$∋hFyiL{au8UeSLHqk5LscI-HgUbkh$kSp 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�YpUv6%=$A1yNivV-8~uAnKae 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Ɩjr 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�`Cl*jMz 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

*g5Qen7ESPw1@ylIQmDd6_uxANlY%owU;n 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 ""), "],\n["), Ref(",\n")) - Lcs = [ parse_poly.(ls) for ls in Ls ] - #println(Lcs) - return [ A.(ls) for ls in Lcs ] -end - -function Bresultant(f, g; fname1="/tmp/in.bs", fname2="/tmp/out.bs", bspath="./bresultant", v=0) - @time ToBresultant(f, g, fname1) - #err = Pipe() - @time process = run(pipeline(`$bspath -f $fname1 -o $fname2`)) - - #= - #close(err.in) - if v > 0 - c=0 - while c <100 - out = @async String(read(err)) - println(out) - c +=1 - end - end - #if v == 1 - # println(split(stderr(out), '\n')[end - 1] |> x -> split(x, ": ")[end] * "s") - #elseif v == 2 - # println(stderr(out)) - #end - wait(process) - =# - - return @time FromBresultant(fname2) -end - -#using Nemo -#R, (x,y) = Nemo.polynomial_ring(Nemo.ZZ, [:x,:y]) -#f = x^2+4*x+x*y-y^2+3*y-4 -#g = derivative(f,y) diff --git a/src/connectivity/src/resultant/bresultant.sage b/src/connectivity/src/resultant/bresultant.sage deleted file mode 100644 index 697a10d..0000000 --- a/src/connectivity/src/resultant/bresultant.sage +++ /dev/null @@ -1,85 +0,0 @@ -""" -25/02/2023 -""" - -import os -import subprocess - -def PolyToBRstring(f): - fc, fe = f.coefficients(), f.exponents() - s = "{} 2\n".format(len(fc)) - M = [ "{} {} {}".format(fc[i], fe[i][1], fe[i][0]) for i in range(len(fc)) ] - s += "\n".join(M) - return s - -def BRstringToPoly(s): - Ls = s.split("\n") - Ls = [ ls.split(" ") for ls in Ls] - Ls = [ [int(l) for l in ls] for ls in Ls ] - - A. = ZZ[] - F, i = [], 0 - while i = ZZ[] - f = open(foutput,'r') - s = f.read() - s = s.replace("\n","").replace(":","").replace(";","") - L = sage_eval(s, locals={'x': x, 'y': y}) - return L - -def Bresultant(f, g, fname1="/tmp/in.bs", fname2="/tmp/out.bs", bspath="./bresultant", v=0): - ToBresultant(f, g, fname1) - out = subprocess.run([bspath, "-f", fname1, "-o", fname2], capture_output=True,text=True) - if v==1: - print((out.stderr).split('\n')[-2].split(': ')[-1]+'s') - if v==2: - print(out.stderr) - return FromBresultant(fname2) - -#A. = ZZ[] -#f=A.random_element() -#g=diff(f,y) -#Bresultant(f,g,v=2) -#FromBresultant("p") diff --git a/src/connectivity/src/resultant/data.c b/src/connectivity/src/resultant/data.c deleted file mode 100644 index 2cd5744..0000000 --- a/src/connectivity/src/resultant/data.c +++ /dev/null @@ -1,387 +0,0 @@ -#include "data.h" - -//alloue ce qu'il faut, connaissant le degree deg de la param. -static fmpz_param_t *allocate_degree_sepelem_fmpz_param(ulong deg, - mp_ptr sepelem, - int nvars){ - fmpz_param_t *param = malloc(sizeof(fmpz_param_t)); - - param->recons = 0; - param->nvars = nvars; - param->degree = deg; - param->sepelem = sepelem; - param->coords = malloc(sizeof(fmpz_poly_t) * param->nvars); - param->coords_num = malloc(sizeof(fmpz_poly_t) * param->nvars); - param->coords_den = malloc(sizeof(fmpz_poly_t) * param->nvars); - param->coords_lcm = malloc(sizeof(fmpz_t) * param->nvars); - for(ulong i = 0; i < param->nvars; i++){ - fmpz_poly_init2(param->coords[i], deg); - fmpz_poly_init2(param->coords_num[i], deg); - fmpz_poly_init2(param->coords_den[i], deg); - fmpz_init(param->coords_lcm[i]); - fmpz_one(param->coords_lcm[i]); - for(ulong j = 0; j < deg; j++){ - fmpz_poly_set_coeff_ui(param->coords[i], j, 1); - fmpz_poly_set_coeff_ui(param->coords_num[i], j, 1); - fmpz_poly_set_coeff_ui(param->coords_den[i], j, 1); - } - } - - fmpz_poly_init2(param->denom, deg + 1); - fmpz_poly_init2(param->elim, deg + 1); - - fmpz_poly_init2(param->elim_num, deg + 1); - fmpz_poly_init2(param->denom_num, deg + 1); - - fmpz_poly_init2(param->elim_den, deg + 1); - fmpz_poly_init2(param->denom_den, deg + 1); - - fmpz_init(param->elim_lcm); - fmpz_init(param->denom_lcm); - - fmpz_one(param->elim_lcm); - fmpz_one(param->denom_lcm); - - for(ulong j = 0; j <= deg; j++){ - fmpz_poly_set_coeff_ui(param->denom, j, 1); - fmpz_poly_set_coeff_ui(param->elim, j, 1); - - fmpz_poly_set_coeff_ui(param->denom_num, j, 1); - fmpz_poly_set_coeff_ui(param->elim_num, j, 1); - - fmpz_poly_set_coeff_ui(param->denom_den, j, 1); - fmpz_poly_set_coeff_ui(param->elim_den, j, 1); - } - param->rec_elim = 0; - param->rec_denom = 0; - param->rec_coords = malloc(sizeof(ulong)*nvars); - for(int i = 0; i < nvars; i++){ - param->rec_coords[i] = 0; - } - return param; -} - - -static void allocate_degrees_sepelem_fmpz_all_params(fmpz_all_params_t * fmpz_all_params, - data_heap_t *heap, - mp_ptr sepelem, - int nb_params, int nvars){ - - fmpz_all_params->nparams = nb_params; - fmpz_all_params->params = malloc(sizeof(fmpz_param_t *) * fmpz_all_params->nparams); - for(int i = 0; i < fmpz_all_params->nparams; i++){ - fmpz_all_params->params[i] = - allocate_degree_sepelem_fmpz_param((heap->sqf_part->p + i)->length - 1, sepelem, nvars); - } - -} - - -static nmod_param_t *allocate_nmod_param(int nvars, mp_limb_t prime){ - nmod_param_t *param = malloc(sizeof(nmod_param_t)); - param->nvars = nvars; - param->degree = 0; - param->sepelem = NULL; - param->coords = malloc(sizeof(nmod_poly_t) * param->nvars); - for(int i = 0; i < param->nvars; i++){ - nmod_poly_init(param->coords[i], prime); - } - nmod_poly_init(param->denom, prime); - nmod_poly_init(param->elim, prime); - - return param; -} - -static nmod_param_t *allocate_degree_sepelem_nmod_param(ulong deg, mp_ptr sepelem, - int nvars, mp_limb_t prime){ - nmod_param_t *param = malloc(sizeof(nmod_param_t)); - param->nvars = nvars; - param->degree = deg; - param->sepelem = sepelem; - param->coords = malloc(sizeof(nmod_poly_t) * param->nvars); - for(int i = 0; i < param->nvars; i++){ - nmod_poly_init2(param->coords[i], prime, deg); - } - nmod_poly_init2(param->denom, prime, deg); - nmod_poly_init2(param->elim, prime, deg + 1); - - return param; -} - - -static nmod_all_params_t *allocate_nmod_all_params(int nb_params, int nvars, - mp_limb_t prime){ - nmod_all_params_t *nmod_all_params = malloc(sizeof(nmod_all_params_t)); - nmod_all_params->nparams = nb_params; - nmod_all_params->params = malloc(sizeof(nmod_param_t *) * nmod_all_params->nparams); - for(int i = 0; i < nmod_all_params->nparams; i++){ - nmod_all_params->params[i] = allocate_nmod_param(nvars, prime); - } - return nmod_all_params; -} - -static nmod_all_params_t *allocate_degrees_sepelem_nmod_all_params(data_heap_t *heap, - mp_ptr sepelem, - int nb_params, int nvars, - mp_limb_t prime){ - nmod_all_params_t *nmod_all_params = malloc(sizeof(nmod_all_params_t)); - nmod_all_params->nparams = nb_params; - nmod_all_params->params = malloc(sizeof(nmod_param_t *) * nmod_all_params->nparams); - for(int i = 0; i < nmod_all_params->nparams; i++){ - nmod_all_params->params[i] = - allocate_degree_sepelem_nmod_param((heap->sqf_part->p+i)->length - 1, - sepelem, - nvars, prime); - } - return nmod_all_params; -} - -static void free_bsolve_fmpz_param(bsolve_fmpz_param_t *param){ - fmpz_poly_clear(param->elim); - fmpz_poly_clear(param->denom); - for(int i = 0; i < param->nvars; i++){ - fmpz_poly_clear(param->coords[i]); - fmpz_clear(param->cfs[i]); - } - free(param->sepelem); - free(param->coords); - free(param->cfs); - free(param); -} - -static void free_bsolve_fmpz_all_params(bsolve_fmpz_all_params_t *allpars){ - for(int i = 0; i < allpars->nparams; i++ ){ - free_bsolve_fmpz_param(allpars->params[i]); - } - free(allpars); -} - -static void free_nmod_param(nmod_param_t *param){ - for(int i = 0; i < param->nvars; i++){ - nmod_poly_clear(param->coords[i]); - } - nmod_poly_clear(param->denom); - nmod_poly_clear(param->elim); - - free(param); -} - -static void free_nmod_all_params(nmod_all_params_t *nmod_all_params){ - for(int i = 0; i < nmod_all_params->nparams; i++){ - free_nmod_param(nmod_all_params->params[i]); - } - free(nmod_all_params); -} - -static void free_fmpz_param(fmpz_param_t *param){ - for(int i = 0; i < param->nvars; i++){ - fmpz_poly_clear(param->coords[i]); - } - fmpz_poly_clear(param->denom); - fmpz_poly_clear(param->elim); - free(param->rec_coords); - free(param); -} - -static void free_fmpz_all_params(fmpz_all_params_t *fmpz_all_params){ - for(int i = 0; i < fmpz_all_params->nparams; i++){ - free_fmpz_param(fmpz_all_params->params[i]); - } - free(fmpz_all_params); -} - -/* - - tdeg = total degree - mdeg = main degree - sdeg = degree in the other variable - -*/ -static data_heap_t *allocate_data_heap(slong tdegA, slong tdegB, - slong mdegA, slong mdegB, - slong sdegA, slong sdegB, - int size_mod_array){ - if(mdegA < mdegB){ - fprintf(stderr, "Bad call to allocator (error in degrees)\n"); - exit(1); - } - - data_heap_t * heap_bsolve = (data_heap_t *)(malloc(sizeof(data_heap_t))); - heap_bsolve->size_mod_array = size_mod_array; - heap_bsolve->nmod_coeffs_array = _nmod_vec_init(3 * (mdegA + 1)); - - heap_bsolve->npts = MIN(tdegA * tdegB + 1, mdegB * sdegA + mdegA * sdegB + 1); - - heap_bsolve->primes_array = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_mod_array)); - - mp_limb_t prime = n_nextprime(1152921504606847009, 0); - heap_bsolve->a_mod_eval_all = malloc(sizeof(mp_ptr) * (mdegA + 1)); - for(ulong i = 0; i<=mdegA; i++){ - heap_bsolve->a_mod_eval_all[i] = malloc(sizeof(mp_limb_t) * heap_bsolve->npts); - } - - heap_bsolve->b_mod_eval_all = malloc(sizeof(mp_ptr) * (mdegB + 1)); - for(ulong i = 0; i<=mdegB; i++){ - heap_bsolve->b_mod_eval_all[i] = malloc(sizeof(mp_limb_t) * heap_bsolve->npts); - } - - - nmod_poly_init2(heap_bsolve->a_mod_eval, prime, mdegA + 1); - heap_bsolve->a_mod_eval->length = mdegA + 1; - nmod_poly_init2(heap_bsolve->b_mod_eval, prime, mdegB + 1); - heap_bsolve->b_mod_eval->length = mdegB + 1; - - heap_bsolve->res_mod_eval = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * 2 * heap_bsolve->npts)); - heap_bsolve->ev_pts = heap_bsolve->res_mod_eval + heap_bsolve->npts; - - heap_bsolve->par_h_mod_eval = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * 2 * heap_bsolve->npts)); - heap_bsolve->par_t_mod_eval = heap_bsolve->par_h_mod_eval + heap_bsolve->npts; - - heap_bsolve->tree = _nmod_poly_tree_alloc(heap_bsolve->npts); - - heap_bsolve->a_mod = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * (mdegA + 1 + mdegB + 1))); - heap_bsolve->b_mod = heap_bsolve->a_mod + mdegA + 1; - - for(ulong i = 0; i <= mdegA; i++){ - nmod_poly_init(heap_bsolve->a_mod[i], prime); - } - for(ulong i = 0; i <= mdegB; i++){ - nmod_poly_init(heap_bsolve->b_mod[i], prime); - } - heap_bsolve->res_mod_array = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * ( 1 + size_mod_array ))); - for(ulong i = 0; i <= size_mod_array; i++){ - nmod_poly_init(heap_bsolve->res_mod_array[i], prime); - } - heap_bsolve->res_mod = heap_bsolve->res_mod_array + size_mod_array; - - heap_bsolve->res_mod_prime_array = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * ( size_mod_array ))); - for(ulong i = 0; i < size_mod_array; i++){ - nmod_poly_init(heap_bsolve->res_mod_prime_array[i], prime); - } - - heap_bsolve->par_h_mod_array = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * ( size_mod_array ))); - for(ulong i = 0; i < size_mod_array; i++){ - nmod_poly_init(heap_bsolve->par_h_mod_array[i], prime); - } - - heap_bsolve->par_t_mod_array = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * ( size_mod_array ))); - for(ulong i = 0; i < size_mod_array; i++){ - nmod_poly_init(heap_bsolve->par_t_mod_array[i], prime); - } - - heap_bsolve->GCDINV = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * ( size_mod_array ))); - for(ulong i = 0; i < size_mod_array; i++){ - nmod_poly_init(heap_bsolve->GCDINV[i], prime); - } - - heap_bsolve->prod_primes = (fmpz_t *)(malloc(sizeof(fmpz_t)*(size_mod_array + 1))); - - for(int i = 0; i <= size_mod_array; i++){ - fmpz_init(heap_bsolve->prod_primes[i]); - fmpz_one(heap_bsolve->prod_primes[i]); - } - - nmod_poly_factor_init(heap_bsolve->sqf_part); - - heap_bsolve->nmod_lparams_array = malloc(sizeof(nmod_all_params_t *) * size_mod_array); - for(int i = 0; i < size_mod_array; i++){ - heap_bsolve->nmod_lparams_array[i] = allocate_nmod_all_params(1, 2, prime); - } - - heap_bsolve->coef = malloc(sizeof(mpz_rat_t)); - fmpz_init(heap_bsolve->coef->numer); - fmpz_init(heap_bsolve->coef->denom); - - fmpz_init(heap_bsolve->h_prod); - - fmpz_init(heap_bsolve->lcm); - fmpz_one(heap_bsolve->lcm); - - heap_bsolve->prod_mod = malloc(sizeof(fmpz_t)); - fmpz_init(heap_bsolve->prod_mod[0]); - //allocation si besoin dans la fonction de calcul de parametrisation - //square-free (quand le resultant ne l'est pas) - return heap_bsolve; -} - - -static void free_data_heap(slong mdegA, slong mdegB, - int size_mod_array, data_heap_t *heap_bsolve){ - - _nmod_vec_clear(heap_bsolve->nmod_coeffs_array); - nmod_poly_factor_clear(heap_bsolve->sqf_part); - _nmod_poly_tree_free(heap_bsolve->tree, heap_bsolve->npts); - - free(heap_bsolve->primes_array); - - for(ulong i = 0; i<=mdegA; i++){ - free(heap_bsolve->a_mod_eval_all[i]); - } - free(heap_bsolve->a_mod_eval_all); - - for(ulong i = 0; i<=mdegB; i++){ - free(heap_bsolve->b_mod_eval_all[i]); - } - free(heap_bsolve->b_mod_eval_all); - - nmod_poly_clear(heap_bsolve->a_mod_eval); - nmod_poly_clear(heap_bsolve->b_mod_eval); - - free(heap_bsolve->res_mod_eval); - free(heap_bsolve->par_h_mod_eval); - - for(ulong i = 0; i <= mdegA; i++){ - nmod_poly_clear(heap_bsolve->a_mod[i]); - } - for(ulong i = 0; i <= mdegB; i++){ - nmod_poly_clear(heap_bsolve->b_mod[i]); - } - free(heap_bsolve->a_mod); - - for(ulong i = 0; i <= size_mod_array; i++){ - nmod_poly_clear(heap_bsolve->res_mod_array[i]); - } - free(heap_bsolve->res_mod_array); - - for(ulong i = 0; i < size_mod_array; i++){ - nmod_poly_clear(heap_bsolve->res_mod_prime_array[i]); - } - free(heap_bsolve->res_mod_prime_array); - - for(ulong i = 0; i < size_mod_array; i++){ - nmod_poly_clear(heap_bsolve->par_h_mod_array[i]); - } - free(heap_bsolve->par_h_mod_array); - - for(ulong i = 0; i < size_mod_array; i++){ - nmod_poly_clear(heap_bsolve->par_t_mod_array[i]); - } - free(heap_bsolve->par_t_mod_array); - - for(ulong i = 0; i < size_mod_array; i++){ - nmod_poly_clear(heap_bsolve->GCDINV[i]); - } - free(heap_bsolve->GCDINV); - - for(int i = 0; i <= size_mod_array; i++){ - fmpz_clear(heap_bsolve->prod_primes[i]); - } - - fmpz_clear(heap_bsolve->coef->numer); - fmpz_clear(heap_bsolve->coef->denom); - free(heap_bsolve->coef); - - fmpz_clear(heap_bsolve->h_prod); - fmpz_clear(heap_bsolve->lcm); - fmpz_clear(heap_bsolve->prod_mod[0]); - free(heap_bsolve->prod_mod); - - //attention : ecrire une fonction speciale pour desallouer ces zones car elles - //ne sont allouees que quand c'est necessaire (resultant non square-free et - //calcul de parametrisation) - - /* for(int i = 0; i < size_mod_array; i++){ */ - /* free_nmod_all_params(heap_bsolve->nmod_lparams_array[i]); */ - /* } */ - free(heap_bsolve->nmod_lparams_array); -} diff --git a/src/connectivity/src/resultant/data.h b/src/connectivity/src/resultant/data.h deleted file mode 100644 index 70fba5a..0000000 --- a/src/connectivity/src/resultant/data.h +++ /dev/null @@ -1,150 +0,0 @@ -typedef struct{ - fmpz_t numer; - fmpz_t denom; -} mpz_rat_t; - - -typedef struct{ - int nvars; - mp_ptr sepelem; - fmpz_poly_t * coords; - fmpz_poly_t denom; - fmpz_poly_t elim; - fmpz_t *cfs; -} bsolve_fmpz_param_t; - - -typedef struct{ - int nparams; - bsolve_fmpz_param_t **params; -} bsolve_fmpz_all_params_t; - -typedef struct{ - int recons; - int nvars; - int degree; - mp_ptr sepelem; - fmpz_poly_t * coords; // numerateurs des parametrisations - fmpz_poly_t denom; //denominateur - fmpz_poly_t elim; //polynome eliminant - fmpz_poly_t * coords_num; // numerateurs des parametrisations - fmpz_poly_t denom_num; //denominateur - fmpz_poly_t elim_num; //polynome eliminant - fmpz_poly_t * coords_den; // numerateurs des parametrisations - fmpz_poly_t denom_den; //denominateur - fmpz_poly_t elim_den; //polynome eliminant - fmpz_t * coords_lcm; // numerateurs des parametrisations - fmpz_t denom_lcm; //denominateur - fmpz_t elim_lcm; //polynome eliminant - ulong *rec_coords; - ulong rec_denom; - ulong rec_elim; -} fmpz_param_t; - - -typedef struct{ - int nvars; //nvars est le nbre de variables initiales. - ulong degree; // degre de la parametrisation - mp_ptr sepelem; - nmod_poly_t * coords; // numerateurs des parametrisations - //on en a autant que de coordonnees initiales - nmod_poly_t denom; // polynome denomninateur - nmod_poly_t elim; // polynome eliminant -} nmod_param_t; -// donc au total on a exactement nvars + 1 polynomes - - -typedef struct{ - int nparams; // nombre de parametrisations - fmpz_param_t **params; // tableau de parametrisations -} fmpz_all_params_t; - - -typedef struct{ - int nparams; - nmod_param_t **params; -} nmod_all_params_t; - - -typedef struct{ - int verb ; - int task ; // 0 -> parametrisation - // 1 -> square-free resultant - // 2 -> resultant - int binary ; // 1 -> output file in binary format - char *input_file ; - char *output_file ; -} bsolve_flags; - -/* - - Zone memoire pour donnees intermediaires. - - Le but est de calculer le resultant de A et B qui sont des polynomes bivaries. - (ou bien de calculer une parametrisation rationnelle des solutions) - -*/ -typedef struct -{ - ulong size_mod_array; - mp_ptr nmod_coeffs_array; // tableau pour suite des restes euclidiens - ulong npts; // nbre de points pour l'evaluation interpolation - - mp_ptr primes_array; // tableau de premiers utilises pour les calculs - // multi-modulaires - mp_ptr ev_pts; // tableau contenant les points d'evaluation utilises pour - // l'interpolation - mp_ptr *tree; // arbre pour l'evaluation rapide multi-point - mp_ptr *a_mod_eval_all; // tableau qui recevra les coeffs de A mod prime - // dont on a specialise une variable aux entrees - // de ev_pts - mp_ptr *b_mod_eval_all; // tableau qui recevra les coeffs de B mod prime - // dont on a specialise une variable aux entrees - // de ev_pts - nmod_poly_t a_mod_eval; // evaluation de a_mod - nmod_poly_t b_mod_eval; // evaluation de b_mod - - nmod_poly_t * a_mod; // image modulare de A - nmod_poly_t * b_mod; // image modulaire de B - - - mp_ptr res_mod_eval; // tableau recevant les specialisations du resultant de - // A mod prime et B mod prime - - nmod_poly_t * res_mod_array; // tableau contenant les images modulaires du resultant - nmod_poly_t * res_mod_prime_array; // tableau contenant les images modulaires - // de la derivee du resultant - nmod_poly_t * res_mod; // tableau contenant une image modulaire du resultant ; - // sera utilise pour verifier qu'on a fini le calcul - - // la longueur de ces tableaux est la meme que celle de res_mod_eval - mp_ptr par_h_mod_eval; // tableau recevant les coeffs dominants de - // sous-resultants (univaries) de degre 1 - // ici on a evalue une variable - mp_ptr par_t_mod_eval; // tableau recevant les coeffs constants de - // sous-resultants (univaries) de degre 1 - // ici on a evalue une variable - - nmod_poly_t * par_h_mod_array; // tableau contenant les images modulaires du - // coeff dominant du sous-resultant de degre 1 - nmod_poly_t * par_t_mod_array; // tableau contenant les images modulaires du - // coeff constant du sous-resultant de degre 1 - - nmod_poly_t * GCDINV; // quand le GCD du coeff de dom. du - // sous-resultant de degre 1 avec le resultant est = 1 on inverse le coeff - // dominant modulo le resultant - - nmod_all_params_t **nmod_lparams_array; //tableau contenant des images - //modulaires des parametrisations - - fmpz_t *prod_primes; // contiendra des produits de nbre premiers - nmod_poly_factor_t sqf_part; // contiendra la partie square-free - - //data pour les reconstructions. - fmpz_t *prod_mod; - mpz_rat_t *coef; - fmpz_t h_prod; - fmpz_t lcm; - fmpz_t *coef_num_array; - fmpz_t *coef_den_array; -} data_heap_t; diff --git a/src/connectivity/src/resultant/flint_euclide.c b/src/connectivity/src/resultant/flint_euclide.c deleted file mode 100644 index df86f74..0000000 --- a/src/connectivity/src/resultant/flint_euclide.c +++ /dev/null @@ -1,355 +0,0 @@ -/* - Functions below are very slight modifications of FLINT file - resultant_euclidean.c which is part of FLINT. - - Copyright (C) 2007, 2008 William Hart - Copyright (C) 2011 Sebastian Pancratz - FLINT is free software: you can redistribute it and/or modify it under - the terms of the GNU Lesser General Public License (LGPL) as published - by the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. See . -*/ - -//taken from FLINT -#define MYMPN_NORM(a, an) \ - do { \ - while ((an) != 0 && (a)[(an) - 1] == 0) \ - (an)--; \ - } while (0) - -static void _my_nmod_vec_scalar_mul_nmod_large(mp_ptr res, mp_srcptr vec, - slong len, mp_limb_t c, nmod_t mod){ - for (slong i = 0; i < len; i++) - { - mp_limb_t hi, lo; - umul_ppmm(hi, lo, vec[i], c); - NMOD_RED2(res[i], hi, lo, mod); /* hi already reduced mod n */ - } -} - - -static void _my_nmod_poly_rem_q1(mp_ptr R, - mp_srcptr A, slong lenA, mp_srcptr B, slong lenB, - nmod_t mod) -{ - const mp_limb_t invL = (B[lenB-1] == 1) ? 1 : n_invmod(B[lenB-1], mod.n); - - if (lenB > 1) - { - mp_limb_t t, q0, q1; - - q1 = n_mulmod2_preinv(A[lenA-1], invL, mod.n, mod.ninv); - t = n_mulmod2_preinv(q1, B[lenB-2], mod.n, mod.ninv); - t = n_submod(A[lenA-2], t, mod.n); - q0 = n_mulmod2_preinv(t, invL, mod.n, mod.ninv); - - if (FLINT_BITS + 2 <= 2 * mod.norm) - { - mpn_mul_1(R, B, lenB - 1, q0); - if (lenB > 2) - mpn_addmul_1(R + 1, B, lenB - 2, q1); - _nmod_vec_reduce(R, R, lenB - 1, mod); - } - else - { - _my_nmod_vec_scalar_mul_nmod_large(R, B, lenB - 1, q0, mod); - if (lenB > 2) - _nmod_vec_scalar_addmul_nmod(R + 1, B, lenB - 2, q1, mod); - } - - _nmod_vec_sub(R, A, R, lenB - 1, mod); - } -} - -static void _my_nmod_poly_rem(mp_ptr R, mp_srcptr A, slong lenA, - mp_srcptr B, slong lenB, nmod_t mod) -{ - TMP_INIT; - - if (lenA - lenB == 1) - { - _my_nmod_poly_rem_q1(R, A, lenA, B, lenB, mod); - } - else if (lenA < FMPZ_POLY_SQRTREM_DIVCONQUER_CUTOFF) - { - mp_ptr W; - - TMP_START; - W = TMP_ALLOC(NMOD_DIVREM_BC_ITCH(lenA, lenB, mod)*sizeof(mp_limb_t)); - - _nmod_poly_rem_basecase(R, W, A, lenA, B, lenB, mod); - TMP_END; - } - else - { - mp_ptr Q = _nmod_vec_init(lenA - lenB + 1); - - _nmod_poly_divrem(Q, R, A, lenA, B, lenB, mod); - _nmod_vec_clear(Q); - } -} - -//Les coefficients sont ranges dans le tableau par degres croissants. -//dans param on se retrouvera avec les coefficients de la parametrisation -//attention si il n'y a pas de polynome de degre 1 dans la suite des sous-resultants -//le contenu de param reste inchange (c'est pour ca qu'il faut l'initialiser a 0) -static mp_limb_t -_nmod_poly_param_euclidean_allocated(mp_srcptr poly1, slong len1, - mp_srcptr poly2, slong len2, - nmod_t mod, mp_ptr w, - mp_ptr head, - mp_ptr tail) -{ - if(DEBUG>3){ - fprintf(stderr, "lengths = [%ld, %ld], prime = %ld\n", len1, len2, mod.n); - } - if (poly1 == poly2) - { - return 0; - } - else if (len2 == 1) - { - if (len1 == 1) - { - return 1; - } - else if (len1 == 2) - { - head[0] = poly1[1]; - tail[0] = poly1[0]; - return poly2[0]; - } - else - { - return n_powmod2_ui_preinv(poly2[0], len1 - 1, mod.n, mod.ninv); - } - } - else{ /* len1 >= len2 >= 2 */ - if(len2 == 2){ - head[0] = poly2[1]; - tail[0] = poly2[0]; - } - mp_limb_t res = 1; - - mp_ptr u, v, r, t; - slong l0, l1, l2; - mp_limb_t lc; - - u = w; - v = w + len1; - r = v + len1; - //u == poly1 - _nmod_vec_set(u, poly1, len1); - //v == poly2 - _nmod_vec_set(v, poly2, len2); - l1 = len1; - l2 = len2; - - if(DEBUG>5){ - fprintf(stderr, "Affichage de u\n"); - nmod_vec_print(stderr, u, len1); - fprintf(stderr, "Affichage de v\n"); - nmod_vec_print(stderr, v, len2); - } - - do - { - l0 = l1; - l1 = l2; - //coefficient dominant de v - lc = v[l1 - 1]; - - if(DEBUG>5){ - fprintf(stderr, "u = "); - nmod_vec_print(stderr, u, l0); - fprintf(stderr, "v = "); - nmod_vec_print(stderr, v, l1); - } - //u est de longueur l0, v est de longueur l1 - //r = remainder(u, v) - _my_nmod_poly_rem(r, u, l0, v, l1, mod); - // _nmod_poly_rem(r, u, l0, v, l1, mod); - l2 = l1 - 1; - //determine la longueur de r (decremente l2 tant que le top coeff == 0) - //r est de degre l2 - 1 - MYMPN_NORM(r, l2); - if(DEBUG>5){ - fprintf(stderr, "r = "); - nmod_vec_print(stderr, r, l2); - fprintf(stderr, "l0 = %ld\n", l0); - fprintf(stderr, "l1 = %ld\n", l1); - fprintf(stderr, "l2 = %ld\n", l2); - fprintf(stderr, "lc = %ld\n", lc); - fprintf(stderr, "res = %ld\n", res); - } - //mise a jour - { - t = u; - u = v; - v = r; - r = t; - } - if (l2 >= 1){ - lc = n_powmod2_preinv(lc, l0 - l2, mod.n, mod.ninv); - res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); - - if (((l0 | l1) & 1) == 0) - { - if(DEBUG>5){ - fprintf(stderr, "[%ld, %ld] ", l0, l1); - } - res = nmod_neg(res, mod); - } - if(l2==2){ /* degree of the remainder -- which is now stored in v -- is 1 */ - mp_limb_t hi, lo; //, c; - umul_ppmm(hi, lo, v[0], res); - NMOD_RED2(tail[0], hi, lo, mod); /* hi already reduced mod n */ - hi = 0; lo = 0; - umul_ppmm(hi, lo, v[1], res); - NMOD_RED2(head[0], hi, lo, mod); /* hi already reduced mod n */ - } - if(l2==1){/* degree of the remainder -- which is now stored in v -- is 0 */ - /* head[0] = u[1]; */ - /* tail[0] = u[0]; */ - /* fprintf(stderr, "--> head = %ld\n", head[0]); */ - /* fprintf(stderr, "--> tail = %ld\n", tail[0]); */ - } - } - else /* l2 == 0 */ - { - if (l1 == 1) - { - lc = n_powmod2_preinv(lc, l0 - 1, mod.n, mod.ninv); - res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); - /* head[0] = u[1]; */ - /* tail[0] = u[0]; */ - } - else - { - if(l1==2){ - fprintf(stderr, "l1 == 2 et lc = %ld\n", lc); - lc = n_powmod2_preinv(lc, l0 - 1, mod.n, mod.ninv); - fprintf(stderr, "et maintenant lc = %ld\n", lc); - res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); - fprintf(stderr, "et res = %ld\n", res); - head[0] = u[1]; - tail[0] = u[0]; - /* mp_limb_t hi, lo; //, c; */ - /* umul_ppmm(hi, lo, u[0], res); */ - /* NMOD_RED2(tail[0], hi, lo, mod); /\* hi already reduced mod n *\/ */ - /* hi = 0; lo = 0; */ - /* umul_ppmm(hi, lo, u[1], res); */ - /* NMOD_RED2(head[0], hi, lo, mod); /\* hi already reduced mod n *\/ */ - } - else{ - head[0] = 0; - tail[0] = 0; - } - res = 0; - } - } - } - while (l2 > 0); - - return res; - } -} - - -//Les coefficients sont ranges dans le tableau par degre croissant. -static mp_limb_t -_nmod_poly_resultant_euclidean_allocated(mp_srcptr poly1, slong len1, - mp_srcptr poly2, slong len2, nmod_t mod, mp_ptr w) -{ - if (poly1 == poly2) - { - return 0; - } - else if (len2 == 1) - { - if (len1 == 1) - { - return 1; - } - else if (len1 == 2) - { - return poly2[0]; - } - else - { - return n_powmod2_ui_preinv(poly2[0], len1 - 1, mod.n, mod.ninv); - } - } - else /* len1 >= len2 >= 2 */ - { - mp_limb_t res = 1; - - mp_ptr u, v, r, t; - slong l0, l1, l2; - mp_limb_t lc; - - u = w; - v = w + len1; - r = v + len1; - //u == poly1 - _nmod_vec_set(u, poly1, len1); - //v == poly2 - _nmod_vec_set(v, poly2, len2); - l1 = len1; - l2 = len2; - - do - { - l0 = l1; - l1 = l2; - //coefficient dominant de v - lc = v[l1 - 1]; - - //u est de longueur l0, v est de longueur l1 - //r = remainder(u, v) - _my_nmod_poly_rem(r, u, l0, v, l1, mod); - l2 = l1 - 1; - //determine la longueur de r (decremente l2 tant que le top coeff == 0) - //r est de degre l2 - 1 - MYMPN_NORM(r, l2); - //mise a jour - { - t = u; - u = v; - v = r; - r = t; - } - - if (l2 >= 1) - { - lc = n_powmod2_preinv(lc, l0 - l2, mod.n, mod.ninv); - res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); - - if (((l0 | l1) & 1) == 0) - { - res = nmod_neg(res, mod); - } - } - else - { - if (l1 == 1) - { - lc = n_powmod2_preinv(lc, l0 - 1, mod.n, mod.ninv); - res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); - } - else - { - res = 0; - } - } - } - while (l2 > 0); - - return res; - } -} - - -/* - END OF FLINT modified resultant_euclidean.c - */ diff --git a/src/connectivity/src/resultant/flint_resultant.c b/src/connectivity/src/resultant/flint_resultant.c deleted file mode 100644 index ba9535c..0000000 --- a/src/connectivity/src/resultant/flint_resultant.c +++ /dev/null @@ -1,1285 +0,0 @@ -/** -Author: Mohab Safey El Din - - - - **/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "flint/flint.h" -#include "flint/ulong_extras.h" -#include "flint/fmpz.h" -#include "flint/fmpz_poly.h" -#include "flint/nmod_poly.h" - -#define LOG2(X) ((unsigned) (8*sizeof (unsigned long long) - __builtin_clzll((X)) - 1)) - -#define MPN_NORM(a, an) \ - do { \ - while ((an) != 0 && (a)[(an) - 1] == 0) \ - (an)--; \ - } while (0) - - -void fmpz_poly_random_dense(fmpz_poly_t pol, slong deg, mp_bitcnt_t bits, flint_rand_t state){ - - fmpz_t coeff; - fmpz_init(coeff); - - // flint_randseed(state, (ulong) time(NULL), (ulong) clock()); - - long i; - flint_randseed(state, (ulong) clock(), (ulong)(10000*clock())); - - for(i=0;i<=deg;i++){ - fmpz_randbits(coeff, state, bits); - fmpz_poly_set_coeff_fmpz(pol, i, coeff); - flint_randseed(state, (ulong) (i), (ulong)(10000*clock()*(i+1))); - } - fmpz_clear(coeff); -} - -void fmpz_poly_random_dense_old(fmpz_poly_t pol, slong deg, mp_bitcnt_t bits){ - - fmpz_t coeff; - fmpz_init(coeff); - - flint_rand_t state; - flint_randinit(state); - // flint_randseed(state, (ulong) time(NULL), (ulong) clock()); - - long i; - - for(i=0;i<=deg;i++){ - fmpz_randbits(coeff, state, bits); - fmpz_poly_set_coeff_fmpz(pol, i, coeff); - // flint_randseed(state, (ulong) (i), (ulong)(10000*time(NULL)*(i+1))); - } - fmpz_clear(coeff); -} - -void make_mod_poly(nmod_poly_t a_mod, fmpz_poly_t A, mp_limb_t prime){ - for(unsigned long int i=0; ilength; i++){ - nmod_poly_set_coeff_ui(a_mod, i, fmpz_fdiv_ui(A->coeffs+i, prime)); - } -} - - -void run_res_flint(unsigned long int deg, flint_rand_t state){ - - unsigned long int newdeg = deg; - - puts("FLINT resultant functions (nbits = deg / 2)"); - - while(newdeg<=8090){ - unsigned long int deg1 = newdeg, deg2 = deg1; - unsigned int nbits = deg1 / 2; - - fmpz_poly_t A, B; - fmpz_poly_init2(A, deg1+1); - fmpz_poly_init2(B, deg2+1); - fmpz_poly_random_dense(A, deg1, nbits, state); - fmpz_poly_random_dense(B, deg2, nbits, state); - - fmpz_t res_normal; - fmpz_init(res_normal); - - double e_normal = 0, t; - t = omp_get_wtime(); - fmpz_poly_resultant(res_normal, A, B); - e_normal = omp_get_wtime() - t; - - fprintf(stdout, "Degree: %lu\n", newdeg); - fprintf(stdout, "Elapsed time (normal): %f\n\n", e_normal); - - if(fmpz_cmp_ui(res_normal, 0)==0){ - puts("Resultant was 0\n"); - } - newdeg = 2*newdeg; - - fmpz_poly_clear(A); - fmpz_poly_clear(B); - - } -} - -void myresultantold(fmpz_t res, fmpz_poly_t A, fmpz_poly_t B, int nthreads){ - - mp_limb_t myprime; - - unsigned long bound ; //= (deg1+deg2) * nbits + 2 * LOG2( (deg1 + deg2) ) ; - bound = (A->length + B->length - 1)*FLINT_BIT_COUNT((10*(A->length + B->length - 1) + 26)/27) + 3; - - mp_bitcnt_t bits1 = FLINT_ABS(_fmpz_vec_max_bits(A->coeffs, A->length)); - mp_bitcnt_t bits2 = FLINT_ABS(_fmpz_vec_max_bits(B->coeffs, B->length)); - - /* Upper bound Hadamard bound */ - bound += (A->length - 1)*bits1 + (B->length - 1)*bits2; - - unsigned int PRIMESIZE = 32; - - myprime = n_nextprime(1152921504606847009, 0); - // myprime = n_nextprime(4611686018427388039, 0); - fprintf(stdout,"LOG2(prime) = %d\n", LOG2(myprime)); - - unsigned int nbits_prime = 0; //LOG2(myprime); - long count = 1; - long count_primes = 0; - - double e_crt = 0, e_modular = 0, t = omp_get_wtime(); - long size_table = (bound / PRIMESIZE) + 2; - mp_limb_t * primes_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; - mp_limb_t * res_mod_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; - - while(nbits_prime < bound){ - myprime = n_nextprime(myprime, 0); - - if(fmpz_divisible_si(fmpz_poly_lead(A), myprime)==0 && - fmpz_divisible_si(fmpz_poly_lead(B), myprime)==0){ - nbits_prime += LOG2(myprime); - primes_table[count_primes] = myprime; - count_primes++; - } - else{ - fprintf(stdout, "! %ld\n", count); - } - count++; - } - fprintf(stdout, "count = %ld\n", count); - fflush(stdout); - - nmod_poly_t a, b; - nmod_poly_init2(a, myprime, A->length); - nmod_poly_init2(b, myprime, B->length); - - double t_in = 0, e_in = 0; - - omp_set_num_threads(nthreads); -#pragma omp parallel for num_threads(nthreads) - for(long i = 0; i < count_primes; i++){ - mp_limb_t res_mod; - mp_limb_t prime = primes_table[i]; - a->mod.n = prime; - a->mod.ninv = n_preinvert_limb(prime); - count_leading_zeros(a->mod.norm, prime); - - b->mod.n = myprime; - b->mod.ninv = n_preinvert_limb(prime); - count_leading_zeros(b->mod.norm, prime); - - make_mod_poly(a, A, prime); - make_mod_poly(b, B, prime); - t_in = omp_get_wtime(); - res_mod = _nmod_poly_resultant(a->coeffs, A->length, b->coeffs, B->length, a->mod); - e_in += omp_get_wtime() - t_in; - res_mod_table[i] = res_mod; - } - e_modular = omp_get_wtime() - t; - - //utilisation de fmpz_CRT pour recuperer le resultant - fmpz_t prod; - fmpz_init(prod); - fmpz_zero(res); - fmpz_one(prod); - - puts("CRT starts"); - t = omp_get_wtime() ; - for(long i = 0; i < count_primes; i++){ - fmpz_CRT_ui(res, res, prod, res_mod_table[i], primes_table[i], 1); - fmpz_mul_ui(prod, prod, primes_table[i]); - } - e_crt = omp_get_wtime() - t; - - - fprintf(stdout, "Elapsed time (multi-mod resultant): %f (%f + %f)\n", e_modular + e_crt, e_modular, e_crt); - fprintf(stdout, "Elapsed time MM in %f\n", e_in); - fprintf(stdout, "Elapsed time per mod comp. %f\n", e_in / count); - - if (fmpz_cmp_ui(res, 0)==0){ - puts("\nResultant was 0\n"); - } - fmpz_clear(prod); - - free(primes_table); - nmod_poly_clear(a); - nmod_poly_clear(b); - -} - - - -//ce resultant est parallelisable mais consomme trop de memoire (et ca nuit a ses performances) -void myresultant_mem_not_eff(fmpz_t res, fmpz_poly_t A, fmpz_poly_t B, int nthreads){ - - mp_limb_t myprime; - - unsigned long bound ; //= (deg1+deg2) * nbits + 2 * LOG2( (deg1 + deg2) ) ; - bound = (A->length + B->length - 1)*FLINT_BIT_COUNT((10*(A->length + B->length - 1) + 26)/27) + 3; - - mp_bitcnt_t bits1 = FLINT_ABS(_fmpz_vec_max_bits(A->coeffs, A->length)); - mp_bitcnt_t bits2 = FLINT_ABS(_fmpz_vec_max_bits(B->coeffs, B->length)); - - /* Upper bound Hadamard bound */ - bound += (A->length - 1)*bits1 + (B->length - 1)*bits2; - - unsigned int PRIMESIZE = 32; - - myprime = n_nextprime(1152921504606847009, 0); - // myprime = n_nextprime(4611686018427388039, 0); - fprintf(stdout,"LOG2(prime) = %d\n", LOG2(myprime)); - - unsigned int nbits_prime = 0; //LOG2(myprime); - long count = 1; - long count_primes = 0; - - double e_crt = 0, e_modular = 0, t = omp_get_wtime(); - long size_table = (bound / PRIMESIZE) + 2; - mp_limb_t * primes_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; - mp_limb_t * res_mod_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; - - fmpz * leadA = fmpz_poly_lead(A); - fmpz * leadB = fmpz_poly_lead(B); - while(nbits_prime < bound){ - myprime = n_nextprime(myprime, 0); - - if(fmpz_divisible_si(leadA, myprime)==0 && - fmpz_divisible_si(leadB, myprime)==0){ - nbits_prime += LOG2(myprime); - primes_table[count_primes] = myprime; - count_primes++; - } - else{ - fprintf(stdout, "! %ld\n", count); - } - count++; - } - fprintf(stdout, "count = %ld\n", count); - fflush(stdout); - - nmod_poly_t *amod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * count_primes)); - nmod_poly_t *bmod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * count_primes)); - - for(long i = 0 ; i < count_primes; i++){ - mp_limb_t prime = primes_table[i]; - nmod_poly_init2(amod_table[i], prime, A->length); - nmod_poly_init2(bmod_table[i], prime, A->length); - - make_mod_poly(amod_table[i], A, prime); - make_mod_poly(bmod_table[i], B, prime); - - } - double t_in = 0, e_in = 0; - - omp_set_num_threads(nthreads); -#pragma omp parallel for num_threads(nthreads) - for(long i =0 ; i < count_primes ; i++){ - - t_in = omp_get_wtime(); - mp_limb_t res_mod = _nmod_poly_resultant(amod_table[i]->coeffs, A->length, bmod_table[i]->coeffs, B->length, amod_table[i]->mod); - e_in += omp_get_wtime() - t_in; - res_mod_table[i] = res_mod; - - } - - e_modular = omp_get_wtime() - t; - - //utilisation de fmpz_CRT pour recuperer le resultant - fmpz_t prod; - fmpz_init(prod); - fmpz_zero(res); - fmpz_one(prod); - - t = omp_get_wtime() ; - for(long i = 0; i < count_primes; i++){ - fmpz_CRT_ui(res, res, prod, res_mod_table[i], primes_table[i], 1); - fmpz_mul_ui(prod, prod, primes_table[i]); - } - e_crt = omp_get_wtime() - t; - - - fprintf(stdout, "Elapsed time (multi-mod resultant): %f (%f + %f)\n", e_modular + e_crt, e_modular, e_crt); - fprintf(stdout, "Elapsed time MM in %f\n", e_in); - fprintf(stdout, "Elapsed time per mod comp. %f\n", e_in / count); - - if (fmpz_cmp_ui(res, 0)==0){ - puts("\nResultant was 0\n"); - } - fmpz_clear(prod); - - free(primes_table); - //nettoyage memoire a terminer - -} - -unsigned long int compute_bsize_norm(fmpz *l, unsigned long int s){ - fmpz_t sum, sq; - fmpz_init_set_ui(sum, 0); - fmpz_init(sq); - for(unsigned long int i = 0; i < s; i++){ - fmpz_pow_ui(sq, l+i, 2); - fmpz_add(sum, sum, sq); - } - return fmpz_bits(sum) / 2; -} - -//l1 et l2 sont 2 tableaux de coefficients de taille respectives l1 et l2 -unsigned long int compute_bsize_bound_resultant(fmpz *l1, fmpz *l2, unsigned long int s1, unsigned long int s2){ - unsigned long int b1 = compute_bsize_norm(l1, s1); - unsigned long int b2 = compute_bsize_norm(l2, s2); - return (unsigned long int) ( (s1-1) * b2 + (s2-1) * b1 ); -} - - - -static mp_limb_t -_nmod_poly_dth_resultant(mp_srcptr poly1, slong len1, - mp_srcptr poly2, slong len2, - nmod_t mod, - mp_ptr head, - slong sdeg - ) -{ - if (poly1 == poly2) - { - return 0; - } - else if (len2 == 1) - { - if (len1 == 1) - { - return 1; - } - else if (len1 == 2) - { - return poly2[0]; - } - else - { - return n_powmod2_ui_preinv(poly2[0], len1 - 1, mod.n, mod.ninv); - } - } - else /* len1 >= len2 >= 2 */ - { - mp_limb_t res = 1; - - mp_ptr u, v, r, t, w; - slong l0, l1, l2; - mp_limb_t lc; - w = _nmod_vec_init(3 * len1); - - u = w; - v = w + len1; - r = v + len1; - //u == poly1 - _nmod_vec_set(u, poly1, len1); - //v == poly2 - _nmod_vec_set(v, poly2, len2); - l1 = len1; - l2 = len2; - - do - { - l0 = l1; - l1 = l2; - //coefficient dominant de v - lc = v[l1 - 1]; - - /* if(DEBUG>3){ */ - /* fprintf(stderr, "Affichage de v\n"); */ - /* nmod_vec_print(stderr, v, l1); */ - /* } */ - - //u est de longueur l0, v est de longueur l1 - //r = remainder(u, v) - _nmod_poly_rem(r, u, l0, v, l1, mod); - l2 = l1 - 1; - //determine la longueur de r (decremente l2 tant que le top coeff == 0) - //r est de degre l2 - 1 - MPN_NORM(r, l2); - //mise a jour - { - t = u; - u = v; - v = r; - r = t; - } - - if (l2 >= 1) - { - lc = n_powmod2_preinv(lc, l0 - l2, mod.n, mod.ninv); - res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); - - if (((l0 | l1) & 1) == 0) - { - res = nmod_neg(res, mod); - } - if(l2==sdeg+1){ - mp_limb_t hi, lo; - // umul_ppmm(hi, lo, v[0], res); - // NMOD_RED2(tail[0], hi, lo, mod); /* hi already reduced mod n */ - umul_ppmm(hi, lo, v[sdeg], res); - NMOD_RED2(head[0], hi, lo, mod); /* hi already reduced mod n */ - _nmod_vec_clear(w); - return res; - } - } - else - { - if (l1 == 1) - { - lc = n_powmod2_preinv(lc, l0 - 1, mod.n, mod.ninv); - res = n_mulmod2_preinv(res, lc, mod.n, mod.ninv); - } - else - { - res = 0; - } - } - } - while (l2 > 0); - _nmod_vec_clear(w); - return res; - } -} - - - -//Calcul du resultant de A et B -//nthreads est le nombre de threads utilises -void my_dth_subresultant(fmpz_t res, fmpz_poly_t A, fmpz_poly_t B, - slong sdeg, int nthreads){ - if(A->lengthlength){ - fprintf(stderr, "Warning: polynomials have been given with increasing degree ; possible sign variation\n"); - my_dth_subresultant(res, B, A, sdeg, nthreads); - return; - } - - mp_limb_t myprime; - - unsigned long bound ; //= (deg1+deg2) * nbits + 2 * LOG2( (deg1 + deg2) ) ; - bound = (A->length + B->length - 1)*FLINT_BIT_COUNT((10*(A->length + B->length - 1) + 26)/27) + 3; - - mp_bitcnt_t bits1 = FLINT_ABS(_fmpz_vec_max_bits(A->coeffs, A->length)); - mp_bitcnt_t bits2 = FLINT_ABS(_fmpz_vec_max_bits(B->coeffs, B->length)); - - /* Upper bound Hadamard bound */ - bound += (A->length - 1)*bits1 + (B->length - 1)*bits2; - - // fprintf(stderr, "Old bound %lu\n", bound); - - bound = compute_bsize_bound_resultant(A->coeffs, B->coeffs, A->length, B->length); - - fprintf(stderr, "Output bit size bound %lu\n", bound); - - //4611686018427388039 - //1152921504606847009 - - myprime = n_nextprime(4611686018427388039, 0); - unsigned int PRIMESIZE = LOG2(myprime); - // myprime = n_nextprime(4611686018427388039, 0); - fprintf(stderr,"LOG2(prime) = %d\n", LOG2(myprime)); - - unsigned int nbits_prime = 0; //LOG2(myprime); - long count = 1; - long count_primes = 0; - - double e_end, e_start; - long size_table = (bound / PRIMESIZE) + 2; - mp_limb_t * primes_table_init = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; - mp_limb_t * primes_table = primes_table_init; - mp_limb_t * res_mod_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * nthreads)) ; - - fmpz * leadA = fmpz_poly_lead(A); - fmpz * leadB = fmpz_poly_lead(B); - e_start = omp_get_wtime(); - while(nbits_prime < bound){ - myprime = n_nextprime(myprime, 0); - if(fmpz_divisible_si(leadA, myprime)==0 && - fmpz_divisible_si(leadB, myprime)==0){ - nbits_prime += LOG2(myprime); - primes_table_init[count_primes] = myprime; - count_primes++; - } - else{ - fprintf(stderr, "! %ld\n", count); - } - count++; - } - fprintf(stderr, "count = %ld / count_primes = %ld\n", count, count_primes); - // fflush(stdout); - - nmod_poly_t *amod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * nthreads)); - nmod_poly_t *bmod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * nthreads)); - - //Il faut les initialiser - for(int i =0; i < nthreads; i++){ - mp_limb_t prime = primes_table[i]; - nmod_poly_init2(amod_table[i], prime, A->length); - nmod_poly_init2(bmod_table[i], prime, A->length); - } - mp_ptr head = malloc(sizeof(mp_limb_t)*size_table); - fprintf(stderr, "First initialization done\n\n"); - unsigned long int nblocks = count_primes / nthreads; - - // double t_in = 0, e_in = 0; - fmpz_t prod; - fmpz_init(prod); - fmpz_zero(res); - fmpz_one(prod); - int index = 0; - omp_set_num_threads(nthreads); - double e_in = 0; - - for(unsigned long int block = 0; block < nblocks; block++){ - // unsigned long int index = block*nthreads; -#pragma omp parallel for num_threads(nthreads) - for(int i =0; i < nthreads; i++){ - - mp_limb_t prime = primes_table[i]; - // fprintf(stderr, "prime = %lu\n", prime); - amod_table[i]->mod.n = prime; - amod_table[i]->mod.ninv = n_preinvert_limb(prime); - count_leading_zeros(amod_table[i]->mod.norm, prime); - - bmod_table[i]->mod.n = prime; - bmod_table[i]->mod.ninv = n_preinvert_limb(prime); - count_leading_zeros(bmod_table[i]->mod.norm, prime); - - make_mod_poly(amod_table[i], A, prime); - make_mod_poly(bmod_table[i], B, prime); - - double t_in = omp_get_wtime(); - _nmod_poly_dth_resultant(amod_table[i]->coeffs, - A->length, - bmod_table[i]->coeffs, - B->length, - amod_table[i]->mod, - head+i+index, - sdeg); - if(e_in==0){ - e_in = omp_get_wtime() - t_in; - fprintf(stderr, "\nRun time modp comp. = %f\n",e_in); - } - res_mod_table[i+index] = head[i+index]; - - } - - if(fmpz_fdiv_ui(res, primes_table[0])==res_mod_table[index]){ - // fprintf(stderr, "Probabilistic stop\n"); - break; - } - else{ - for(int i =0; i < nthreads; i++){ - // unsigned long int index = block*nthreads; - // fprintf(stderr, "Ici: %lu (%d)\n", primes_table[i+index], i); - fmpz_CRT_ui(res, res, prod, res_mod_table[i+index], primes_table[i+index], 1); - // fprintf(stderr, "La?\n"); - fmpz_mul_ui(prod, prod, primes_table[i+index]); - // fprintf(stderr, "On incremente\n"); - // fprintf(stderr, "%lu, %lu, %lu\n", primes_table_init[0], primes_table_init[1], primes_table_init[2]); - } - primes_table+=nthreads; - } - } - /* // fprintf(stderr, "after loops\n"); */ - /* // unsigned long int index = nblocks*nthreads; */ - /* for(unsigned long int i = 0; i < count_primes - index; i++){ */ - /* mp_limb_t prime = primes_table[0]; */ - - /* amod_table[i]->mod.n = prime; */ - /* amod_table[i]->mod.ninv = n_preinvert_limb(prime); */ - /* count_leading_zeros(amod_table[i]->mod.norm, prime); */ - - /* bmod_table[i]->mod.n = prime; */ - /* bmod_table[i]->mod.ninv = n_preinvert_limb(prime); */ - /* count_leading_zeros(bmod_table[i]->mod.norm, prime); */ - - /* make_mod_poly(amod_table[i], A, prime); */ - /* make_mod_poly(bmod_table[i], B, prime); */ - - - /* // t_in = omp_get_wtime(); */ - /* mp_limb_t res_mod = _nmod_poly_dth_resultant( */ - /* amod_table[i]->coeffs, */ - /* A->length, */ - /* bmod_table[i]->coeffs, */ - /* B->length, */ - /* amod_table[i]->mod, */ - /* head+i+index, */ - /* sdeg); */ - /* // e_in += omp_get_wtime() - t_in; */ - - /* res_mod_table[i+index] = head[i+index]; */ - - /* if(fmpz_fdiv_ui(res, primes_table[0])==res_mod_table[i+index]){ */ - /* break; */ - /* } */ - /* else{ */ - /* fmpz_CRT_ui(res, res, prod, res_mod_table[i+index], primes_table[i+index], 1); */ - /* fmpz_mul_ui(prod, prod, primes_table[i+index]); */ - /* primes_table++; */ - /* } */ - /* } */ - e_end = omp_get_wtime() - e_start; - - - //utilisation de fmpz_CRT pour recuperer le resultant - //Obsolete - - /* t = omp_get_wtime() ; */ - /* for(long i = 0; i < count_primes; i++){ */ - /* fmpz_CRT_ui(res, res, prod, res_mod_table[i], primes_table[i], 1); */ - /* fmpz_mul_ui(prod, prod, primes_table[i]); */ - /* } */ - /* e_crt = omp_get_wtime() - t; */ - fprintf(stderr, "Bit size of the result = %ld\n", fmpz_bits(res)); - fprintf(stderr, "Elapsed time (multi-mod resultant): %f\n", e_end); - // fprintf(stderr, "Elapsed time MM in %f\n", e_in); - // fprintf(stderr, "Elapsed time per mod comp. %f\n", e_in / count); - - if (fmpz_cmp_ui(res, 0)==0){ - fprintf(stderr,"\nResultant was 0\n"); - } - fmpz_clear(prod); - - free(primes_table_init); - - for(int i = 0; i < nthreads; i++){ - nmod_poly_clear(amod_table[i]); - nmod_poly_clear(bmod_table[i]); - } - - free(res_mod_table); - free(amod_table); - free(bmod_table); - - //nettoyage memoire a terminer - -} - - -//Calcul du resultant de A et B -//nthreads est le nombre de threads utilises -void myresultant(fmpz_t res, fmpz_poly_t A, fmpz_poly_t B, int nthreads){ - if(A->lengthlength){ - fprintf(stderr, "Warning: polynomials have been given with increasing degree ; possible sign variation\n"); - myresultant(res, B, A, nthreads); - return; - } - - mp_limb_t myprime; - - unsigned long bound ; //= (deg1+deg2) * nbits + 2 * LOG2( (deg1 + deg2) ) ; - bound = (A->length + B->length - 1)*FLINT_BIT_COUNT((10*(A->length + B->length - 1) + 26)/27) + 3; - - mp_bitcnt_t bits1 = FLINT_ABS(_fmpz_vec_max_bits(A->coeffs, A->length)); - mp_bitcnt_t bits2 = FLINT_ABS(_fmpz_vec_max_bits(B->coeffs, B->length)); - - /* Upper bound Hadamard bound */ - bound += (A->length - 1)*bits1 + (B->length - 1)*bits2; - - bound = compute_bsize_bound_resultant(A->coeffs, B->coeffs, A->length, B->length); - - fprintf(stderr, "Output bit size bound %lu\n", bound); - - //4611686018427388039 - myprime = n_nextprime(1152921504606847009, 0); - unsigned int PRIMESIZE = LOG2(myprime); - // myprime = n_nextprime(4611686018427388039, 0); - fprintf(stderr,"LOG2(prime) = %d\n", LOG2(myprime)); - - unsigned int nbits_prime = 0; //LOG2(myprime); - long count = 1; - long count_primes = 0; - - double e_end, e_start; //= omp_get_wtime(); - long size_table = (bound / PRIMESIZE) + 2; - mp_limb_t * primes_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; - mp_limb_t * res_mod_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * size_table)) ; - - fmpz * leadA = fmpz_poly_lead(A); - fmpz * leadB = fmpz_poly_lead(B); - e_start = omp_get_wtime(); - while(nbits_prime < bound){ - myprime = n_nextprime(myprime, 0); - if(fmpz_divisible_si(leadA, myprime)==0 && - fmpz_divisible_si(leadB, myprime)==0){ - nbits_prime += LOG2(myprime); - primes_table[count_primes] = myprime; - count_primes++; - } - else{ - fprintf(stderr, "! %ld\n", count); - } - count++; - } - fprintf(stderr, "count = %ld / count_primes = %ld\n", count, count_primes); - // fflush(stdout); - - nmod_poly_t *amod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * nthreads)); - nmod_poly_t *bmod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * nthreads)); - - //Il faut les initialiser - for(int i =0; i < nthreads; i++){ - mp_limb_t prime = primes_table[i]; - nmod_poly_init2(amod_table[i], prime, A->length); - nmod_poly_init2(bmod_table[i], prime, A->length); - } - fprintf(stderr, "First initialization done\n\n"); - unsigned long int nblocks = count_primes / nthreads; - - // double t_in = 0, e_in = 0; - fmpz_t prod; - fmpz_init(prod); - fmpz_zero(res); - fmpz_one(prod); - - omp_set_num_threads(nthreads); - for(unsigned long int block = 0; block < nblocks; block++){ - unsigned long int index = block*nthreads; -#pragma omp parallel for num_threads(nthreads) - for(int i =0; i < nthreads; i++){ - - mp_limb_t prime = primes_table[i+index]; - - amod_table[i]->mod.n = prime; - amod_table[i]->mod.ninv = n_preinvert_limb(prime); - count_leading_zeros(amod_table[i]->mod.norm, prime); - - bmod_table[i]->mod.n = prime; - bmod_table[i]->mod.ninv = n_preinvert_limb(prime); - count_leading_zeros(bmod_table[i]->mod.norm, prime); - - make_mod_poly(amod_table[i], A, prime); - make_mod_poly(bmod_table[i], B, prime); - - - // t_in = omp_get_wtime(); - mp_limb_t res_mod = _nmod_poly_resultant( - amod_table[i]->coeffs, - A->length, - bmod_table[i]->coeffs, - B->length, - amod_table[i]->mod); - // e_in += omp_get_wtime() - t_in; - - res_mod_table[i+index] = res_mod; - - } - if(fmpz_fdiv_ui(res, primes_table[index])==res_mod_table[index]){ - // fprintf(stderr, "Probabilistic stop\n"); - break; - } - else{ - for(int i =0; i < nthreads; i++){ - unsigned long int index = block*nthreads; - - // mp_limb_t prime = primes_table[i+index]; - fmpz_CRT_ui(res, res, prod, res_mod_table[i+index], primes_table[i+index], 1); - fmpz_mul_ui(prod, prod, primes_table[i+index]); - } - } - } - // fprintf(stderr, "after loops\n"); - unsigned long int index = nblocks*nthreads; - for(unsigned long int i = 0; i < count_primes - index; i++){ - mp_limb_t prime = primes_table[i+index]; - - amod_table[i]->mod.n = prime; - amod_table[i]->mod.ninv = n_preinvert_limb(prime); - count_leading_zeros(amod_table[i]->mod.norm, prime); - - bmod_table[i]->mod.n = prime; - bmod_table[i]->mod.ninv = n_preinvert_limb(prime); - count_leading_zeros(bmod_table[i]->mod.norm, prime); - - make_mod_poly(amod_table[i], A, prime); - make_mod_poly(bmod_table[i], B, prime); - - - // t_in = omp_get_wtime(); - mp_limb_t res_mod = _nmod_poly_resultant( - amod_table[i]->coeffs, - A->length, - bmod_table[i]->coeffs, - B->length, - amod_table[i]->mod); - // e_in += omp_get_wtime() - t_in; - - res_mod_table[i+index] = res_mod; - - if(fmpz_fdiv_ui(res, primes_table[i+index])==res_mod_table[i+index]){ - break; - } - else{ - fmpz_CRT_ui(res, res, prod, res_mod_table[i+index], primes_table[i+index], 1); - fmpz_mul_ui(prod, prod, primes_table[i+index]); - } - } - e_end = omp_get_wtime() - e_start; - - - //utilisation de fmpz_CRT pour recuperer le resultant - //Obsolete - - /* t = omp_get_wtime() ; */ - /* for(long i = 0; i < count_primes; i++){ */ - /* fmpz_CRT_ui(res, res, prod, res_mod_table[i], primes_table[i], 1); */ - /* fmpz_mul_ui(prod, prod, primes_table[i]); */ - /* } */ - /* e_crt = omp_get_wtime() - t; */ - fprintf(stderr, "Bit size of the result = %ld\n", fmpz_bits(res)); - fprintf(stderr, "Elapsed time (multi-mod resultant): %f \n", e_end); - // fprintf(stderr, "Elapsed time MM in %f\n", e_in); - // fprintf(stderr, "Elapsed time per mod comp. %f\n", e_in / count); - - if (fmpz_cmp_ui(res, 0)==0){ - fprintf(stderr,"\nResultant was 0\n"); - } - fmpz_clear(prod); - - free(primes_table); - for(int i = 0; i < nthreads; i++){ - nmod_poly_clear(amod_table[i]); - nmod_poly_clear(bmod_table[i]); - } - - free(res_mod_table); - free(amod_table); - free(bmod_table); - - //nettoyage memoire a terminer - -} - -//Compares FLINT resultant with a hand-made multi-mod resultant -//(still using FLINT basics) -void run_compare(unsigned long int deg, flint_rand_t state){ - - unsigned long int deg1 = deg, deg2 = deg1; - unsigned int nbits = deg1 ; - - fmpz_poly_t A, B; - fmpz_poly_init2(A, deg1+1); - fmpz_poly_init2(B, deg2+1); - fmpz_poly_random_dense(A, deg1, nbits, state); - fmpz_poly_random_dense(B, deg2, nbits, state); - - /* fmpz_poly_random_dense_old(A, deg1, nbits); */ - /* fmpz_poly_random_dense_old(B, deg2, nbits); */ - - fmpz_t res_normal, res; - fmpz_init(res_normal); - fmpz_init(res); - - double e_normal = 0, t; - t = omp_get_wtime(); - fmpz_poly_resultant(res_normal, A, B); - e_normal = omp_get_wtime() - t; - fprintf(stderr, "Elapsed time (FLINT resultant): %f\n\n", e_normal); - - t = omp_get_wtime(); - myresultant(res, A, B, 1); - e_normal = omp_get_wtime() - t; - fprintf(stderr, "Elapsed time (my resultant): %f\n", e_normal); - - if(fmpz_cmp(res, res_normal)!=0){ - puts("\n\t BUG BUG BUG\n"); - } - - puts(""); - - /* if(fmpz_cmp_ui(res, 0)==1){ */ - /* puts("Positive"); */ - /* } */ - /* else{ */ - /* puts("Negative"); */ - /* } */ - fmpz_clear(res); - fmpz_clear(res_normal); - -} - -//runs modular FLINT resultant modulo 32 bits prime -void run_modular16(flint_rand_t state, int ntimes){ - - unsigned long int deg = 64; - mp_limb_t myprime = 65537; - - puts("\nFLINT resultant modulo 16 bits prime\n"); - while(deg<=2*8192){ - - fmpz_poly_t A, B; - fmpz_poly_init2(A, deg+1); - fmpz_poly_init2(B, deg+1); - fmpz_poly_random_dense(A, deg, deg / 2, state); - fmpz_poly_random_dense(B, deg, deg / 2, state); - - nmod_poly_t a_mod,b_mod; - nmod_poly_init2(a_mod,myprime, deg+1); - nmod_poly_init2(b_mod,myprime, deg+1); - //attention a la gestion des coefficients negatifs - // nmod_poly_set_coeff_ui(x,3,9002); - // nmod_poly_set_coeff_ui(x,0,6); - - make_mod_poly(a_mod, A, myprime); - make_mod_poly(b_mod, B, myprime); - - fprintf(stdout,"Degree = %lu\n", deg); - - // nmod_poly_print(x);flint_printf("\n"); - // nmod_poly_print(y);flint_printf("\n"); - double e = 0, t = omp_get_wtime(); - int j; - for(int i = 1; i<=ntimes; i++){ - // res = nmod_poly_resultant_hgcd(a_mod, b_mod); - nmod_poly_resultant(a_mod, b_mod); //combine gcd et euclide en fonction du degre - j = j+i; - } - e = omp_get_wtime() - t; - // fprintf(stdout,"%lu \n", res); - fprintf(stdout, "Elapsed time Half gcd resultant = %f\n", e); - - double e2 = 0, t2 = omp_get_wtime(); - for(int i =1 ; i <=ntimes; i++){ - nmod_poly_resultant_euclidean(a_mod, b_mod); - j = j+i; - } - e2 = omp_get_wtime() - t2; - fprintf(stdout, "Elapsed time Euclidean resultant = %f\n", e2); - puts(""); - - nmod_poly_clear(a_mod); - nmod_poly_clear(b_mod); - - fmpz_poly_clear(A); - fmpz_poly_clear(B); - - deg = 2*deg; - } -} - -//runs modular FLINT resultant modulo 32 bits prime -void run_modular32(flint_rand_t state, int ntimes){ - - unsigned long int deg = 30; - mp_limb_t myprime = 4294967311; - - puts("\nFLINT resultant modulo 32 bits prime\n"); - while(deg<=2*8192){ - - fmpz_poly_t A, B; - fmpz_poly_init2(A, deg+1); - fmpz_poly_init2(B, deg+1); - fmpz_poly_random_dense(A, deg, deg / 2, state); - fmpz_poly_random_dense(B, deg, deg / 2, state); - - nmod_poly_t a_mod,b_mod; - nmod_poly_init2(a_mod,myprime, deg+1); - nmod_poly_init2(b_mod,myprime, deg+1); - //attention a la gestion des coefficients negatifs - // nmod_poly_set_coeff_ui(x,3,9002); - // nmod_poly_set_coeff_ui(x,0,6); - - make_mod_poly(a_mod, A, myprime); - make_mod_poly(b_mod, B, myprime); - - fprintf(stdout,"Degree = %lu\n", deg); - - double e = 0, t = omp_get_wtime(); - int j; - for(int i = 1; i<=ntimes; i++){ - // res = nmod_poly_resultant_hgcd(a_mod, b_mod); - nmod_poly_resultant_hgcd(a_mod, b_mod); //combine gcd et euclide en fonction du degre - j = j+i; - } - e = omp_get_wtime() - t; - fprintf(stdout, "Elapsed time Half gcd resultant = %f\n", e); - - double e2 = 0, t2 = omp_get_wtime(); - for(int i =1 ; i <=ntimes; i++){ - nmod_poly_resultant_euclidean(a_mod, b_mod); - j = j+i; - } - e2 = omp_get_wtime() - t2; - fprintf(stdout, "Elapsed time Euclidean resultant = %f\n", e2); - puts(""); - - nmod_poly_clear(a_mod); - nmod_poly_clear(b_mod); - - fmpz_poly_clear(A); - fmpz_poly_clear(B); - - deg = 2*deg; - } -} - -//runs modular FLINT resultant modulo 60 bits fftprime -void run_modular60fftprime(flint_rand_t state, int ntimes){ - - unsigned long int deg = 64; - mp_limb_t myprime = 1945555039024054273; - - puts("\nFLINT resultant modulo 60 bits FFT prime\n"); - while(deg<=8192){ - - fmpz_poly_t A, B; - fmpz_poly_init2(A, deg+1); - fmpz_poly_init2(B, deg+1); - fmpz_poly_random_dense(A, deg, deg / 2, state); - fmpz_poly_random_dense(B, deg, deg / 2, state); - - nmod_poly_t a_mod,b_mod; - nmod_poly_init2(a_mod,myprime, deg+1); - nmod_poly_init2(b_mod,myprime, deg+1); - //attention a la gestion des coefficients negatifs - // nmod_poly_set_coeff_ui(x,3,9002); - // nmod_poly_set_coeff_ui(x,0,6); - - make_mod_poly(a_mod, A, myprime); - make_mod_poly(b_mod, B, myprime); - - fprintf(stdout,"Degree = %lu\n", deg); - - double e = 0, t = omp_get_wtime(); - int j; - for(int i = 1; i<=ntimes; i++){ - // res = nmod_poly_resultant_hgcd(a_mod, b_mod); - nmod_poly_resultant(a_mod, b_mod); //combine gcd et euclide en fonction du degre - j = j+i; - } - e = omp_get_wtime() - t; - - fprintf(stdout, "Elapsed time Half gcd resultant = %f\n", e); - - double e2 = 0, t2 = omp_get_wtime(); - for(int i =1 ; i <=ntimes; i++){ - nmod_poly_resultant_euclidean(a_mod, b_mod); - j = j+i; - } - e2 = omp_get_wtime() - t2; - fprintf(stdout, "Elapsed time Euclidean resultant = %f\n", e2); - puts(""); - - nmod_poly_clear(a_mod); - nmod_poly_clear(b_mod); - - fmpz_poly_clear(A); - fmpz_poly_clear(B); - - deg = 2*deg; - } -} - -//runs modular FLINT resultant modulo 60 bits prime -void run_modular60prime(flint_rand_t state, int ntimes){ - - unsigned long int deg = 256; - mp_limb_t myprime = 1152921504606847009; - - puts("\nFLINT resultant modulo 60 bits prime\n"); - while(deg<=8192){ - - fmpz_poly_t A, B; - fmpz_poly_init2(A, deg+1); - fmpz_poly_init2(B, deg+1); - fmpz_poly_random_dense(A, deg, deg / 2, state); - fmpz_poly_random_dense(B, deg, deg / 2, state); - - nmod_poly_t a_mod,b_mod; - nmod_poly_init2(a_mod,myprime, deg+1); - nmod_poly_init2(b_mod,myprime, deg+1); - //attention a la gestion des coefficients negatifs - // nmod_poly_set_coeff_ui(x,3,9002); - // nmod_poly_set_coeff_ui(x,0,6); - - make_mod_poly(a_mod, A, myprime); - make_mod_poly(b_mod, B, myprime); - - fprintf(stdout,"Degree = %lu\n", deg); - - double e = 0, t = omp_get_wtime(); - int j; - for(int i = 1; i<=ntimes; i++){ - // res = nmod_poly_resultant_hgcd(a_mod, b_mod); - nmod_poly_resultant_hgcd(a_mod, b_mod); //combine gcd et euclide en fonction du degre - j = j+i; - } - e = omp_get_wtime() - t; - - fprintf(stdout, "Elapsed time Half gcd resultant = %f\n", e/ntimes); - - double e2 = 0, t2 = omp_get_wtime(); - for(int i =1 ; i <=ntimes; i++){ - nmod_poly_resultant_euclidean(a_mod, b_mod); - j = j+i; - } - e2 = omp_get_wtime() - t2; - fprintf(stdout, "Elapsed time Euclidean resultant = %f\n", e2/ntimes); - puts(""); - - nmod_poly_clear(a_mod); - nmod_poly_clear(b_mod); - - fmpz_poly_clear(A); - fmpz_poly_clear(B); - - deg = deg * 2; - } -} - -void display_help(){ - fprintf(stdout, "Basic Flint based C program for computing resultant and subresultant in Z[x]\n"); - fprintf(stdout, "Implemented by M. Safey El Din (Sorbonne Univ./CNRS/Inria), mohab.safey@lip6.fr\n"); - fprintf(stdout, "Provided without any guarantee for ** academic use only ** by students, teachers and researchers hosted in high-schools, universities or academic (non-industtrial) research institutes\n"); - fprintf(stdout, "Any kind of other use requires formal agreement from the author\n\n"); - - fprintf(stdout, "-h \t diplays this help\n"); - fprintf(stdout, "-r \t generates random dense polynomials of degree d and runs the resultant computation\n"); - fprintf(stdout, "-f \t reads polynomials in filename and computes the resultant of those polynomials\n"); - fprintf(stdout, "\n Format file: \nFiles provide 2 polynomials encoded as follows \ndegree\ncoef_0\n...\ncoef_degree\n"); - - fprintf(stdout, "\n\nTODO:\n"); - fprintf(stdout, "Main difference with FLINT functions are in memory management+multi-threading\n"); - fprintf(stdout, "Lifting is not that efficient - can be improved\n"); - fprintf(stdout, "Use of fast reductions still needs to be implemented\n"); -} - - - -static char *getoptions(int argc, char **argv, char ** input_file, - ulong *deg, slong *sdeg, int *nthreads){ - int optch, errflag = 0, fflag = 1; - extern int opterr; - - char options[] = "hf:r:d:t:"; - char *filename = NULL; - opterr = 1; - - while ((optch = getopt(argc, argv, options)) != -1) - switch (optch) { - case 'f': - fflag = 0; - *input_file = optarg; - optind--; - break; - case 'h': - display_help(); - exit(1); - case 'r': - *deg = strtol(optarg, NULL, 10); - optind--; - break; - case 'd': - *sdeg = strtol(optarg, NULL, 10); - optind--; - break; - case 't': - *nthreads = strtol(optarg, NULL, 10); - optind--; - break; - default: - errflag++; - break; - } - if(fflag==1){ - fprintf(stderr, "No given file\n"); - *input_file = NULL; - } - if(errflag){ - fprintf(stderr,"Invalid usage\n"); - fprintf(stderr,"%s -f file_name\n", argv[0]); - exit(1); - } - return filename; -} - -void get_input_polynomials(FILE *file, ulong *degA, ulong *degB, - fmpz_poly_t A, fmpz_poly_t B){ - fmpz_t c; - fmpz_init(c); - if(fscanf(file, "%lu", degA)){ - fprintf(stderr, "Degree %lu\n", *degA); - for(ulong i=0; i <= *degA; i++){ - fmpz_fread(file, c); - fmpz_poly_set_coeff_fmpz(A, i, c); - } - } - if(fscanf(file, "%lu", degB)){ - fprintf(stderr, "Degree %lu\n", *degB); - for(ulong i=0; i <= *degB; i++){ - fmpz_fread(file, c); - fmpz_poly_set_coeff_fmpz(B, i, c); - } - } - fmpz_clear(c); -} - -int main(int argc, char *argv[]){ - char **input_file = malloc(sizeof(char**)); - ulong deg = 0; - slong sdeg = -1; - int nthreads = 1; - getoptions(argc, argv, input_file, °, &sdeg, &nthreads); - - if(*input_file!=NULL){ - fprintf(stderr, "Reading file...\n"); - FILE *file = fopen(*input_file,"r"); - ulong degA = 0, degB = 0; - fmpz_poly_t A; - fmpz_poly_t B; - fmpz_poly_init(A); - fmpz_poly_init(B); - get_input_polynomials(file, °A, °B, A, B); - fprintf(stderr, "Done.\n\n"); - fmpz_t res; - fmpz_init(res); - if(sdeg>0){ - my_dth_subresultant(res, A, B, sdeg, nthreads); - } - else{ - myresultant(res, A, B, nthreads); - } - // fmpz_zero(res); - fmpz_fprint(stdout, res); - fmpz_poly_clear(A); - fmpz_poly_clear(B); - fmpz_clear(res); - free(input_file); - return 0; - } - - fprintf(stdout, "\nRunning resultant computations for random dense polynomials in Z[x]\n\n"); - // run_modular(); - flint_rand_t state; - flint_randinit(state); - run_compare(deg, state); - - //FLINT resultant sur les entiers - // run_res_flint(64, state); - - //FLINT resultant modulo premier 16 bits - // run_modular16(state, 100); - - //FLINT resultant modulo premier 32 bits - // run_modular32(state, 10000); - - //FLINT resultant modulo premier 60 bits - run_modular60prime(state, 400); - - //FLINT resultant modulo premier fft 60 bits - // run_modular60fftprime(state, 100); - - flint_randclear(state); - return 0; -} diff --git a/src/connectivity/src/resultant/io.c b/src/connectivity/src/resultant/io.c deleted file mode 100644 index c1ee6b3..0000000 --- a/src/connectivity/src/resultant/io.c +++ /dev/null @@ -1,562 +0,0 @@ -static void print_nmod_param(FILE * file, nmod_param_t *param){ - char str[2]={"x"}; - fprintf(file, "%d\n", param->nvars); - fprintf(file, "["); - - for(int i = 0; i < param->nvars; i++){ - nmod_poly_fprint_pretty(file, param->coords[i], str); - } - fprintf(file, "]\n"); - nmod_poly_fprint_pretty(file, param->denom, str); - fprintf(file, "\n"); - nmod_poly_fprint_pretty(file, param->elim, str); - fprintf(stderr, "\n"); -} - - -static inline void print_nmod_all_params_pretty(FILE *file, nmod_all_params_t *all_params){ - fprintf(file, "\n"); - for(int i = 0; i < all_params->nparams; i++){ - print_nmod_param(file, (all_params->params)[i]); - } -} - -static inline void fmpz_poly_fprint_bin(FILE *file, const fmpz_poly_t poly){ - slong len = poly->length; - fprintf(file, "%ld\n", len); - fprintf(stderr, "LENGTH = %ld\n", len); - for(slong i = 0; i < len; i++){ - fmpz_out_raw(file, poly->coeffs + i); - } -} - -static inline void print_fmpz_param_bin(FILE *file, fmpz_param_t *param){ - fprintf(file, "%d\n", param->nvars); - for(int i = 0; i < param->nvars-1; i++){ - fmpz_poly_fprint_bin(file, param->coords[i]); - } - fmpz_poly_fprint_bin(file, param->denom); - fmpz_poly_fprint_bin(file, param->elim); -} - -static inline void print_fmpz_param_pretty(FILE *file, fmpz_param_t *param){ - char stra[2] = {"x"}; - fprintf(file, "%d\n", param->nvars); - fprintf(file, "["); - - for(int i = 0; i < param->nvars; i++){ - fmpz_poly_fprint_pretty(file, param->coords[i], stra); - fprintf(file, ",\n"); - } - fmpz_poly_fprint_pretty(file, param->coords[param->nvars-1], stra); - fprintf(file, "]\n"); - fmpz_poly_fprint_pretty(file, param->denom, stra); - fprintf(file, "\n"); - fmpz_poly_fprint_pretty(file, param->elim, stra); - fprintf(stderr, "\n"); -} - -static inline void print_bs_fmpz_param_bin(FILE *file, bsolve_fmpz_param_t *param){ - fprintf(stderr, "ELIM -> "); - fmpz_poly_fprint_bin(file, param->elim); - fprintf(stderr, "DENOM -> "); - fmpz_poly_fprint_bin(file, param->denom); - int nv = param->nvars + 1; - fprintf(stderr, "NVARS = %d\n", nv); - fprintf(file, "%d\n", nv); - for(int i = 0; i < param->nvars; i++){ - fprintf(stderr, "COORD -> "); - fmpz_poly_fprint_bin(file, param->coords[i]); - fmpz_out_raw(file, param->cfs[i]); - } -} - -static inline void print_bs_fmpz_param_pretty(FILE *file, bsolve_fmpz_param_t *param){ - char stra[2] = {"x"}; - fprintf(file, "["); - fmpz_poly_fprint_pretty(file, param->elim, stra); - fprintf(file, ",\n"); - fmpz_poly_fprint_pretty(file, param->denom, stra); - fprintf(file, ",\n"); - for(int i = 0; i < param->nvars-1; i++){ - fmpz_poly_fprint_pretty(file, param->coords[i], stra); - fprintf(file, ",\n"); - } - fmpz_poly_fprint_pretty(file, param->coords[param->nvars-1], stra); - fprintf(file, "]"); -} - -static inline void print_fmpz_all_params_bin(FILE *file, fmpz_all_params_t *all_params){ - fprintf(file, "%d\n", all_params->nparams); - - for(int i = 0; i < all_params->nparams; i++){ - print_fmpz_param_bin(file, all_params->params[i]); - } -} - - -static inline void print_fmpz_all_params_pretty(FILE *file, fmpz_all_params_t *all_params){ - fprintf(file, "\n"); - for(int i = 0; i < all_params->nparams; i++){ - print_fmpz_param_pretty(file, all_params->params[i]); - } -} - -static inline void print_bs_fmpz_all_params_bin(FILE *file, - bsolve_fmpz_all_params_t *all_params){ - fprintf(file, "%d\n", all_params->nparams); - - for(int i = 0; i < all_params->nparams-1; i++){ - fprintf(stderr, "Display PARAM %d\n", i); - print_bs_fmpz_param_bin(file, all_params->params[i]); - fprintf(file, "\n"); - } - fprintf(stderr, "Display PARAM %d\n", all_params->nparams-1); - print_bs_fmpz_param_bin(file, all_params->params[all_params->nparams-1]); - fprintf(file, "\n"); -} - -static inline void print_bs_fmpz_all_params_pretty(FILE *file, - bsolve_fmpz_all_params_t *all_params){ - fprintf(file, "[\n"); - for(int i = 0; i < all_params->nparams-1; i++){ - print_bs_fmpz_param_pretty(file, all_params->params[i]); - fprintf(file, ",\n"); - } - print_bs_fmpz_param_pretty(file, all_params->params[all_params->nparams-1]); - fprintf(file, "\n];\n"); -} - -static void nmod_vec_print(FILE *file, mp_srcptr vec, slong len){ - if(len==1) { - fprintf(file, "%lu ; \n", vec[0]); - return; - } - fprintf(file, "%lu + ", vec[0]); - for(slong i = 1; i < len - 1; i++){ - fprintf(file, "%lu * x^%ld + ", vec[i], i); - } - fprintf(file, "%lu * x^%ld; \n", vec[len-1], len-1); -} - -/* - Input: -*/ - -static void fmpz_bpoly_fprint_pretty(FILE *file, fmpz_poly_t *A, ulong deg){ - char strx[1]={"x"}; - for(slong i=deg; i >=1 ; i--){ - fprintf(file, "("); - fmpz_poly_fprint_pretty(file, A[i], strx); - fprintf(file, ")*y^%lu+", i); - } - fprintf(file, "("); - fmpz_poly_fprint_pretty(file, A[0], strx); - fprintf(file, ");"); - fprintf(file, "\n"); -} - -static ulong nbits_bound_fmpz_bvar_poly(fmpz_poly_t *A, ulong deg){ - ulong nbits = 0; - fmpz_t sum, sumtmp, tmp; - fmpz_init(sum); - fmpz_init(sumtmp); - fmpz_init(tmp); - fmpz_zero(sum); - for(ulong i = 0; i <= deg; i++){ - fmpz_zero(sumtmp); - for(ulong j = 0; j < A[i]->length; j++){ - fmpz_abs(tmp, A[i]->coeffs+j); - fmpz_add(sumtmp, sumtmp, tmp); - } - fmpz_mul(sumtmp, sumtmp, sumtmp); - fmpz_add(sum, sum, sumtmp); - } - nbits = fmpz_bits(sum) + 1; - fmpz_clear(sumtmp); - fmpz_clear(sum); - fmpz_clear(tmp); - return nbits / 2; -} - -static void crt_lift_resultant(fmpz_poly_t res, nmod_poly_t *res_mod_table, mp_limb_t *primes_table, ulong size, fmpz_t *prod_mod){ - slong maxdegree = -1; - ulong i; - for(i = 0; i < size; i++){ - if(res_mod_table[i]->length - 1 > maxdegree){ - maxdegree = res_mod_table[i]->length - 1; - } - } - if(res->length-1!=maxdegree){ - res->coeffs = malloc(sizeof(fmpz_t) * (maxdegree + 1)); - for(i = 0; i <= maxdegree; i++){ - fmpz_poly_set_coeff_ui(res, i, 1); - } - } - - fmpz_t prod_primes; - fmpz_init(prod_primes); - fmpz_one(prod_primes); - - for(i = 0; i < size; i++){ - for(ulong j = 0; j <= maxdegree; j++){ - myfmpz_CRT_ui((res->coeffs)+j, (res->coeffs)+j, - prod_primes, (res_mod_table[i]->coeffs)[j], - primes_table[i], 1, - prod_mod); - } - fmpz_mul_ui(prod_primes, prod_primes, primes_table[i]); - } - fmpz_clear(prod_primes); -} - - - -static slong get_total_degree(fmpz_poly_t *A, slong degA){ - slong total_degree = -1; - - for(slong i = 0; i <= degA; i++){ - if(A[i]->length - 1 + i > total_degree){ - total_degree = A[i]->length - 1 + i; - } - } - return total_degree; -} - -static slong get_partial_degree(fmpz_poly_t *A, slong degA){ - slong degAx = -1; - for(slong i = 0; i <= degA ; i++){ - if(A[i]->length - 1 > degAx){ - degAx = A[i]->length -1; - } - } - return degAx; -} - - -static void get_exponent(FILE *file, ulong *exp, ulong nvars){ - for(ulong i = 0; i < nvars-1; i++){ - if(fscanf(file, "%lu ", exp+i)){ - } - } - if(fscanf(file, "%lu\n", exp+nvars-1)){ - } -} - -static void get_mpoly_from_file(FILE *file, fmpz_mpoly_t A, fmpz_mpoly_ctx_t ctx){ - ulong nterms, nvars; - if(fscanf(file, "%lu", &nterms)){ - } - else{ - fprintf(stderr, "Error when reading file\n"); - } - if(fscanf(file, "%lu", &nvars)){ - } - else{ - fprintf(stderr, "Error when reading file\n"); - } - if(nvars!=2){ - fprintf(stderr, "Bad number of variables\n"); - exit(1); - } - fmpz_mpoly_fit_length(A, nterms, ctx); - fmpz_t coeff; - fmpz_init(coeff); - ulong * exp = malloc(sizeof(ulong)*nvars); - for(ulong i=0; i < nterms; i++){ - fmpz_fread(file, coeff); - get_exponent(file, exp, nvars); - // _fmpz_mpoly_emplacebackterm_fmpz_ui(A, coeff, exp, ctx); - fmpz_mpoly_push_term_fmpz_ui(A, coeff, exp, ctx); - } - fmpz_mpoly_sort_terms(A, ctx); - fmpz_mpoly_combine_like_terms(A, ctx); - free(exp); - fmpz_clear(coeff); -} - - -/* - -Input: A et B dependent de deux variables (x1,x2) -L'ordre utilise est l'ordre lex x1 > x2 - -On renvoie un pointeur sur les coefficients de A suivis de -ceux de B vus comme un polynome de Z[x2][x1] - -main_degree_A et main_degree_B sont les degres en x1 de A et B - -*/ -static fmpz_poly_t *make_bpoly_from_mpoly2(fmpz_mpoly_t A, fmpz_mpoly_t B, fmpz_mpoly_ctx_t ctx, - slong *main_degree_A, slong *main_degree_B){ - - *main_degree_A = fmpz_mpoly_degree_si(A, 0, ctx); - *main_degree_B = fmpz_mpoly_degree_si(B, 0, ctx); - - fmpz_poly_t *A_univ = (fmpz_poly_t *)(malloc(sizeof(fmpz_poly_t) * - (*main_degree_A + 1 + *main_degree_B + 1))); - for(ulong i = 0; i <= (*main_degree_A) + (*main_degree_B) + 1; i++){ - fmpz_poly_init(A_univ[i]); - fmpz_poly_zero(A_univ[i]); - } - fmpz_mpoly_t Term; - fmpz_mpoly_init(Term, ctx); - slong deg_mainvar_term = 0, old_deg_mainvar_term = -1; - slong deg_var2; - fmpz_t c; - fmpz_init(c); - for(ulong i = 0; i < A->length; i++){ - fmpz_mpoly_get_term(Term, A, i, ctx); - fmpz_mpoly_get_term_coeff_fmpz(c, Term, 0, ctx); - - deg_mainvar_term = fmpz_mpoly_degree_si(Term, 0, ctx); - deg_var2 = fmpz_mpoly_degree_si(Term, 1, ctx); - if(old_deg_mainvar_term != deg_mainvar_term){ - fmpz_poly_fit_length(A_univ[deg_mainvar_term], deg_var2 + 1); - } - fmpz_poly_set_coeff_fmpz(A_univ[deg_mainvar_term], deg_var2, c); - old_deg_mainvar_term = deg_mainvar_term; - } - for(ulong i = 0; i < B->length; i++){ - fmpz_mpoly_get_term(Term, B, i, ctx); - fmpz_mpoly_get_term_coeff_fmpz(c, Term, 0, ctx); - - deg_mainvar_term = fmpz_mpoly_degree_si(Term, 0, ctx); - deg_var2 = fmpz_mpoly_degree_si(Term, 1, ctx); - if(old_deg_mainvar_term!=deg_mainvar_term){ - fmpz_poly_fit_length(A_univ[*main_degree_A + 1 + deg_mainvar_term], deg_var2 + 1); - } - fmpz_poly_set_coeff_fmpz(A_univ[*main_degree_A + 1 + deg_mainvar_term], deg_var2, c); - old_deg_mainvar_term = deg_mainvar_term; - } - - fmpz_mpoly_clear(Term, ctx); - fmpz_clear(c); - return A_univ; -} - -#ifdef TESTDENSE -static void test_dense(slong deg, ulong nbits, flint_rand_t state){ - fmpz_poly_t *A = (fmpz_poly_t *)(malloc(sizeof(fmpz_poly_t) * (deg + 1))); - fmpz_poly_t *B = (fmpz_poly_t *)(malloc(sizeof(fmpz_poly_t) * (deg + 1))); - for(ulong i = 0; i <= deg; i++){ - fmpz_poly_init(A[i]); - fmpz_poly_init(B[i]); - } - - fmpz_bpoly_random_dense(A, deg, nbits, state); - fmpz_bpoly_random_dense(B, deg, nbits, state); - - fmpz_poly_t res; - fmpz_poly_init(res); - fmpz_poly_t res2; - fmpz_poly_init(res2); - fmpz_poly_t res3; - fmpz_poly_init(res3); - - fmpz_bpoly_resultant_deterministic(res, A, deg, B, deg); - fprintf(stderr, "\n\nStarts probabilistic implem.\n\n"); - fmpz_bpoly_resultant_probabilistic(res2, A, deg, B, deg, 0); - // fmpz_bpoly_sqfree_resultant_probabilistic(res2, A, deg, B, deg, 0); - fprintf(stderr, "\n\nStarts SQRFREE probabilistic implem.\n\n"); - fmpz_bpoly_sqfree_resultant_probabilistic(res2, A, deg, B, deg); - - - /* fprintf(stdout,"R:=PolynomialRing(Rationals());\n"); */ - /* fprintf(stdout,"P:=PolynomialRing(R);\n"); */ - /* fprintf(stdout, "A := "); */ - /* fmpz_bpoly_fprint_pretty(A, deg); */ - /* fprintf(stdout, "\nB := "); */ - /* fmpz_bpoly_fprint_pretty(B, deg); */ - /* char str[1]={"x"}; */ - /* fprintf(stdout, "\nmyres := "); */ - /* fmpz_poly_fprint_pretty(stdout, res2, str); */ - /* fprintf(stdout, ";\n"); */ - /* fprintf(stdout, "\ntime res := Resultant(A, B);\n"); */ - /* fprintf(stdout, "res-myres;"); */ - /* fprintf(stdout, "\n"); */ - - for(ulong i = 0; i <= deg; i++){ - fmpz_poly_clear(A[i]); - fmpz_poly_clear(B[i]); - } - fmpz_poly_clear(res); - fmpz_poly_clear(res2); - fmpz_poly_clear(res3); - free(A); - free(B); -} -#endif - -static void display_help(char **argv){ - fprintf(stdout, "Basic usage\n\n%s -f file_in\n\n", argv[0]); - fprintf(stdout, "Whenever it is possible, by default, it returns\n"); - fprintf(stdout, "a finite sequence of zero-dimensional parametrizations\n"); - fprintf(stdout, "of the set of common complex solutions to the input polynomials\n\n"); - - fprintf(stdout, "Each parametrization corresponds to distinct multiplicities \n"); - fprintf(stdout, "of the resultant of the input polynomials w.r.t. the first variable\n\n"); - - fprintf(stdout, "Additional options: \n"); - fprintf(stdout, "-r \t Computes the resultant\n"); - fprintf(stdout, "-q \t Computes the square-free part of the resultant\n"); - fprintf(stdout, "-b \t Output file will be in binary format\n"); - fprintf(stdout, "-o \t output file \n"); - fprintf(stdout, "-h \t displays this help\n\n"); - - fprintf(stdout, "\n\n file_in must have the following format: \n"); - fprintf(stdout, "First line looks like\nnt n\nwhere nt is the number of terms and n the number of variables\n"); - fprintf(stdout, "Next lines look like \ncoeff e1 e2\n where coeff is an integer coefficient to the monomial x1^e1...xn^en\n"); - fprintf(stdout, "And a next polynomial should be given with the same format\n"); - fprintf(stdout, "\nThe variable which is eliminated is the first one (the one whose exponent comes at first)\n"); -} - - -static fmpz_poly_t *get_input_polynomials(FILE *file, slong *degA, slong *degB){ - fmpz_mpoly_ctx_t ctx; - ordering_t ord = ORD_LEX; - fmpz_mpoly_t A, B; - fmpz_mpoly_ctx_init(ctx, 2, ord); - fmpz_mpoly_init(A, ctx); - fmpz_mpoly_init(B, ctx); - - get_mpoly_from_file(file, A, ctx); - get_mpoly_from_file(file, B, ctx); - - fmpz_poly_t *bA = make_bpoly_from_mpoly2(A, B, ctx, degA, degB); - - fmpz_mpoly_clear(A, ctx); - fmpz_mpoly_clear(B, ctx); - fmpz_mpoly_ctx_clear(ctx); - return bA; -} - -static void display_fmpz_poly_to_usolve(FILE *file, fmpz_poly_t res){ - fprintf(file, "%ld\n", res->length-1); - fmpz_t c; - fmpz_init(c); - if(res->length==0){ - fprintf(file,"%d\n", 0); - return; - } - for(ulong i=0; i < res->length; i++){ - fmpz_poly_get_coeff_fmpz(c, res, i); - fmpz_fprint(file, c); - fprintf(file, "\n"); - } - fmpz_clear(c); -} - -static void display_fmpz_poly_binary_to_usolve(FILE *file, fmpz_poly_t res){ - return; - /* const long length = res->length; */ - /* if(res->length==0){ */ - /* mpz_t * tab = (mpz_t *)(malloc(sizeof(mpz_t) )); */ - /* mpz_init(tab[0]); */ - /* mpz_set_ui(tab[0], 0); */ - /* mpz_t p; */ - /* binary_write_INT(file, p);//cette fonction fait un mpz_clear(p) */ - /* binary_write(file, tab, length); */ - /* mpz_clear(tab[0]); */ - /* free(tab); */ - /* return; */ - /* } */ - /* mpz_t * tab = (mpz_t *)(malloc(sizeof(mpz_t) * length)); */ - /* for(long i=0; i < length; i++){ */ - /* mpz_init(tab[i]); */ - /* fmpz_get_mpz(tab[i], res->coeffs+i); */ - /* } */ - /* mpz_t p; */ - /* binary_write_INT(file, p);//cette fonction fait un mpz_clear(p) */ - /* binary_write(file, tab, length); */ - /* for(long i=0; i < length; i++){ */ - /* mpz_clear(tab[i]); */ - /* } */ - /* free(tab); */ -} - - -static char *getoptions(int argc, char **argv, bsolve_flags * flags){ - int optch, errflag = 0, fflag = 1; - extern int opterr; - - char options[] = "rqhbf:o:v:"; - char *filename = NULL; - opterr = 1; - - while ((optch = getopt(argc, argv, options)) != -1) - switch (optch) { - case 'b': - flags->binary = 1; - break; - case 'f': - fflag = 0; - flags->input_file = optarg; - optind--; - break; - case 'h': - display_help(argv); - exit(1); - case 'o': - flags->output_file = optarg; - optind--; - break; - case 'q': - flags->task = 2; - break; - case 'r': - flags->task = 1; - break; - case 'v': - flags->verb = strtol(optarg, NULL, 10); - optind--; - break; - default: - errflag++; - break; - } - if(fflag){ - fprintf(stderr,"No given file\n"); - fprintf(stderr,"%s -f file_name\n", argv[0]); - exit(1); - } - if(errflag){ - fprintf(stderr,"Invalid usage\n"); - fprintf(stderr,"%s -f file_name\n", argv[0]); - exit(1); - } - return filename; -} - -static bsolve_flags *allocate_initialize_flags(){ - bsolve_flags *flags = malloc(sizeof(bsolve_flags)); - flags->verb=0; - flags->task = 0; - flags->binary = 0; - flags->input_file = NULL; - flags->output_file = NULL; - - return flags; -} - -static void free_flags(bsolve_flags * flags){ - free(flags); -} - -static inline void display_resutant(fmpz_poly_t res, bsolve_flags *flags, - int binary_format){ - if(flags->output_file!=NULL){ - FILE *outputfile = fopen(flags->output_file,"w"); - if(binary_format==0){ - display_fmpz_poly_to_usolve(outputfile, res); - } - else{ - display_fmpz_poly_binary_to_usolve(outputfile, res); - } - fclose(outputfile); - } - else{ - display_fmpz_poly_to_usolve(stdout, res); - } -} - diff --git a/src/connectivity/src/resultant/main.c b/src/connectivity/src/resultant/main.c deleted file mode 100644 index 4f39f54..0000000 --- a/src/connectivity/src/resultant/main.c +++ /dev/null @@ -1,1550 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "flint/flint.h" -#include "flint/ulong_extras.h" -#include "flint/mpn_extras.h" -#include "flint/fmpz.h" -#include "flint/fmpz_poly.h" -#include "flint/nmod_vec.h" -#include "flint/nmod_poly.h" -#include "flint/fmpz_mpoly.h" - -#define nthreads 1 - -#define LOG2(X) ((unsigned) (8*sizeof (unsigned long long) - __builtin_clzll((X)) - 1)) -#define MIN(a,b) (((a)<(b))?(a):(b)) - -#define DEBUG 2 - -#include "data.c" -#include "ratreconstruct.c" -#include "io.c" -#include "flint_euclide.c" - -//taken from FLINT -typedef unsigned int UDItype __attribute__ ((mode(DI))); -#define umul_ppmm2(w1, w0, u, v) \ - __asm__ ("mul{q} %3" \ - : "=a" ((UDItype) (w0)), \ - "=d" ((UDItype) (w1)) \ - : "%0" ((UDItype) (u)), \ - "rm" ((UDItype) (v))) - -#define NMOD_DIVREM_DIVCONQUER_CUTOFF 300 - - -/* -Input: Les coeffs des polynomes sont stockes du plus petit au plus grand degre - -pol devient un polynome de degre deg, coeffs de taille bits aleatoires - -*/ -static void fmpz_poly_random_dense(fmpz_poly_t pol, slong deg, mp_bitcnt_t bits, flint_rand_t state){ - - fmpz_t coeff; - fmpz_init(coeff); - - // flint_randseed(state, (ulong) time(NULL), (ulong) clock()); - - long i; - flint_randseed(state, (ulong) clock(), (ulong)(10000*clock())); - - for(i=0;i<=deg;i++){ - fmpz_randbits(coeff, state, bits); - fmpz_poly_set_coeff_fmpz(pol, i, coeff); - flint_randseed(state, (ulong) (i), (ulong)(10000*clock()*(i+1))); - } - fmpz_clear(coeff); -} - -/* -bivarpol est un tableau de taille degmain + 1 et dont les elements sont -des pointeurs sur tableau de taille degvar + 1 - -Les coefficients sont donnes du plus petit au plus grand degre -*/ -static void fmpz_bpoly_random_dense(fmpz_poly_t *bivarpol, - slong degmain, - mp_bitcnt_t bits, flint_rand_t state){ - for(slong i = 0; i <= degmain; i++){ - fmpz_poly_random_dense(bivarpol[i], degmain - i, bits, state); - } -} - -/* - -A est un polynome a coefficients dans Z et prime est un nbre premier (qui tient sur un mot-machine) - -a_mod contiendra A mod prime - -*/ -static void make_nmod_poly(nmod_poly_t a_mod, fmpz_poly_t A, mp_limb_t prime){ - a_mod->mod.n = prime; - a_mod->mod.ninv = n_preinvert_limb(prime); - flint_clz(a_mod->mod.norm); - a_mod->length = 0; - for(unsigned long int i=0; ilength; i++){ - nmod_poly_set_coeff_ui(a_mod, i, fmpz_fdiv_ui(A->coeffs+i, prime)); - } -} - -//On calcule A mod prime qu'on met dans a (a est suppose deja alloue) -static void make_nmod_bpoly(nmod_poly_t *a, fmpz_poly_t *A, unsigned long int deg, mp_limb_t prime){ - for(unsigned long int i = 0; i <= deg; i++){ - make_nmod_poly(a[i], A[i], prime); - } -} - - -static void nmod_bpoly_fast_eval_nmod_2_pols(mp_ptr *a_s_ptr, mp_ptr *b_s_ptr, - nmod_poly_t *a, const slong degA, - nmod_poly_t *b, const slong degB, - const mp_ptr eval_points, const ulong n, - mp_ptr * tree){ - nmod_t mod = a[0]->mod; - _nmod_poly_tree_build(tree, eval_points, n, mod); - - for(ulong i = 0; i <= degA; i++){ - _nmod_poly_evaluate_nmod_vec_fast_precomp(a_s_ptr[i], a[i]->coeffs, a[i]->length, tree, n, mod); - } - for(ulong i = 0; i <= degB; i++){ - _nmod_poly_evaluate_nmod_vec_fast_precomp(b_s_ptr[i], b[i]->coeffs, b[i]->length, tree, n, mod); - } - -} - - -static void nmod_bpoly_eval_nmod(nmod_poly_t a_s, - nmod_poly_t *a, const slong degmain, - const mp_limb_t eval_point){ - for(ulong i = 0; i <=degmain; i++){ - a_s->coeffs[i] = nmod_poly_evaluate_nmod(a[i], eval_point); - } - a_s->length = degmain + 1; -} - - -/* -res contiendra le resultat -a et b sont des pointeurs sur tableaux de nmod_poly_t de longueur degmain+1 -(degmain = degre de la variable principale) - -Chaque nmod_poly_t est de degre degvar - -numpoints est le nombre de points d'interpolation dont on a besoin ; il doit etre precalcule - */ -static void nmod_bpoly_resultant(nmod_poly_t res, nmod_poly_t *a, const slong degA, nmod_poly_t *b, - const slong degB, const ulong numpoints, - nmod_poly_t *a_s_ptr, nmod_poly_t *b_s_ptr, - mp_ptr restable, mp_ptr eval_points){ - - ulong count_points = 0, i = 0; - while(count_points < numpoints){ - if(nmod_poly_evaluate_nmod(a[degA], i) != 0){ - eval_points[count_points] = i; - count_points++; - i++; - } - else{ - i++; - } - } - mp_limb_t prime = a[0]->mod.n; - - mp_limb_t ninv = n_preinvert_limb(prime); - - a_s_ptr[0]->mod.n = prime; - a_s_ptr[0]->mod.ninv = ninv; - flint_clz(a_s_ptr[0]->mod.norm); - a_s_ptr[0]->length = 0; - - b_s_ptr[0]->mod.n = prime; - b_s_ptr[0]->mod.ninv = ninv; - flint_clz(b_s_ptr[0]->mod.norm); - b_s_ptr[0]->length = 0; - - // nmod_poly_init2(a_s, prime, degA+1); - // nmod_poly_init2(b_s, prime, degB+1); - // mp_limb_t * restable = (mp_limb_t *)(malloc(sizeof(mp_limb_t)*numpoints)); - // nmod_poly_evaluate_nmod_vec(); - - for(i = 0; i < numpoints; i++){ - nmod_bpoly_eval_nmod(a_s_ptr[0], a, degA, eval_points[i]); - nmod_bpoly_eval_nmod(b_s_ptr[0], b, degB, eval_points[i]); - restable[i] = nmod_poly_resultant(a_s_ptr[0], b_s_ptr[0]); - } - - nmod_poly_interpolate_nmod_vec(res, eval_points, restable, numpoints); -#ifdef DEBUG - char str[1]= {"x"}; - nmod_poly_fprint_pretty(stderr, res, str);fprintf(stderr, "\n"); -#endif - return; -} - - -static inline void get_coeffs_from_eval(nmod_poly_t a_s, mp_ptr *a_s_ptr, ulong deg, slong n){ - for(ulong i=0; i <= deg; i++){ - a_s->coeffs[i] = a_s_ptr[i][n]; - } -} - - - -//calcul du resultant par evaluation interpolation. -//on suppose que le tableau des points d'evaluation ne contient pas que des 0 et est deja alloue -//les donnees necessaires au calcul sont deja allouees egalement. -static void nmod_bpoly_resultant_allocated_feval(data_heap_t *heap, - slong mdegA, slong mdegB, - int pos){ - //a ameliorer - ulong count_points = 0, i = 0; - while(count_points < heap->npts){ - if(nmod_poly_evaluate_nmod(heap->a_mod[mdegA], i) != 0 && nmod_poly_evaluate_nmod(heap->b_mod[mdegB], i) != 0){ - heap->ev_pts[count_points] = i; - count_points++; - i++; - } - else{ - i++; - } - } - - nmod_bpoly_fast_eval_nmod_2_pols(heap->a_mod_eval_all, heap->b_mod_eval_all, - heap->a_mod, mdegA, heap->b_mod, mdegB, - heap->ev_pts, heap->npts, heap->tree); - - for(ulong i = 0; i < heap->npts; i++){ - //On ne peut pas paralleliser a cause de w qui est partage. Il faudra modifier ca. - - get_coeffs_from_eval(heap->a_mod_eval, heap->a_mod_eval_all, mdegA, i); - get_coeffs_from_eval(heap->b_mod_eval, heap->b_mod_eval_all, mdegB, i); - heap->res_mod_eval[i] = _nmod_poly_resultant_euclidean_allocated(heap->a_mod_eval->coeffs, - heap->a_mod_eval->length, - heap->b_mod_eval->coeffs, - heap->b_mod_eval->length, - heap->a_mod_eval->mod, - heap->nmod_coeffs_array); - } - - nmod_poly_interpolate_nmod_vec(heap->res_mod_array[pos], heap->ev_pts, heap->res_mod_eval, heap->npts); - - return; -} - -//Fonction qui renvoie la partie square-free d'un polynome pol - -static void square_free_part_nmod_poly(nmod_poly_t pol, nmod_poly_factor_t sqf){ - - sqf->num = 0; - mp_limb_t lc = pol->coeffs[pol->length-1]; - - nmod_poly_factor_squarefree(sqf, pol); - nmod_poly_set(pol, sqf->p); - - for(ulong count = 1; count < sqf->num; count++){ - nmod_poly_mul(pol, pol, sqf->p+count); - } - - nmod_poly_scalar_mul_nmod(pol, pol, lc); - sqf->num = 0; -} - -static inline void nmod_poly_init_copy(nmod_poly_t *poly1, nmod_poly_t *poly2){ - (*poly1)->length = (*poly2)->length; - (*poly1)->alloc = (*poly2)->alloc; - (*poly1)->coeffs = (*poly2)->coeffs; -} - -static inline void nmod_poly_copy(nmod_poly_t poly1, nmod_poly_t poly2){ - (poly1)->length = (poly2)->length; - for(ulong i = 0; i < (poly1)->length; i++){ - (poly1)->coeffs[i] = (poly2)->coeffs[i]; - } -} - -//calcul d'une param rationnelle par evaluation interpolation. -//on suppose que le tableau des points d'evaluation ne contient pas que des 0 et est deja alloue -//les donnees necessaires au calcul sont deja allouees egalement. -//On renvoie 0 si il y a un probleme -//Notamment, on suppose que le resultant est square-free. -//Du coup, une seule parametrisation est construite dans nmod_all_params_table+pos -static int nmod_bpoly_param_allocated_feval_sqfree(data_heap_t *heap, - slong mdegA, slong mdegB, - int pos){ - - ulong count_points = 0, i = 0; - while(count_points < heap->npts){ - if(nmod_poly_evaluate_nmod(heap->a_mod[mdegA], i) != 0 && - nmod_poly_evaluate_nmod(heap->b_mod[mdegB], i) != 0){ - heap->ev_pts[count_points] = i; - count_points++; - i++; - } - else{ - i++; - } - } - - nmod_bpoly_fast_eval_nmod_2_pols(heap->a_mod_eval_all, - heap->b_mod_eval_all, - heap->a_mod, mdegA, - heap->b_mod, mdegB, - heap->ev_pts, - heap->npts, heap->tree); - for(ulong i = 0; i < heap->npts; i++){ - //On ne peut pas paralleliser a cause de w qui est partage. Il faudra modifier ca. - - get_coeffs_from_eval(heap->a_mod_eval, heap->a_mod_eval_all, mdegA, i); - get_coeffs_from_eval(heap->b_mod_eval, heap->b_mod_eval_all, mdegB, i); - - if(DEBUG > 3){ - fprintf(stderr, "ev_pt = %ld\n", heap->ev_pts[i]); - char str[1] = {"x"}; - nmod_poly_fprint_pretty(stderr, heap->a_mod_eval, str); - fprintf(stderr, "\n"); - nmod_poly_fprint_pretty(stderr, heap->b_mod_eval, str); - fprintf(stderr, "\n"); - } - heap->res_mod_eval[i] = - _nmod_poly_param_euclidean_allocated(heap->a_mod_eval->coeffs, - heap->a_mod_eval->length, - heap->b_mod_eval->coeffs, - heap->b_mod_eval->length, - heap->a_mod_eval->mod, - heap->nmod_coeffs_array, - heap->par_h_mod_eval + i, - heap->par_t_mod_eval + i); - if(DEBUG > 3){ - fprintf(stderr, "Computed resultant = %ld\n", - heap->res_mod_eval[i]); - fprintf(stderr, "head -> %ld\n", - heap->par_h_mod_eval[i]); - fprintf(stderr, "tail -> %ld\n", - heap->par_t_mod_eval[i]); - } - } - - nmod_poly_interpolate_nmod_vec(heap->nmod_lparams_array[pos]->params[0]->elim, - heap->ev_pts, heap->res_mod_eval, heap->npts); - - nmod_poly_interpolate_nmod_vec(heap->nmod_lparams_array[pos]->params[0]->denom, - heap->ev_pts, heap->par_h_mod_eval, heap->npts); - - nmod_poly_interpolate_nmod_vec(heap->nmod_lparams_array[pos]->params[0]->coords[0], - heap->ev_pts, heap->par_t_mod_eval, heap->npts); - //On suppose que le resultant est square-free. - - if(DEBUG > 3){ - for(ulong k = 0; k < heap->npts; k++){ - fprintf(stderr, "%lu ", heap->par_t_mod_eval[k]); - } - fprintf(stderr, "\n"); - for(ulong k = 0; k < heap->npts; k++){ - fprintf(stderr, "%lu ", heap->ev_pts[k]); - } - fprintf(stderr, "\n"); - char str[1] = {"x"}; - fprintf(stderr, "degree = %ld\n", heap->par_t_mod_array[pos]->length - 1); - nmod_poly_fprint_pretty(stderr, heap->par_t_mod_array[pos], str); - fprintf(stderr,"\n"); - fprintf(stderr, "degree = %ld\n", heap->par_h_mod_array[pos]->length - 1); - nmod_poly_fprint_pretty(stderr, heap->par_h_mod_array[pos], str); - fprintf(stderr,"\n\n"); - nmod_poly_fprint_pretty(stderr, heap->nmod_lparams_array[pos]->params[0]->coords[0], str); - fprintf(stderr,"\n"); - } - - if(DEBUG > 4){ - fprintf(stderr, "\nParametrization mod %ld\n", heap->primes_array[pos]); - print_nmod_param(stderr, heap->nmod_lparams_array[pos]->params[0]); - fprintf(stderr, "prime in param struct = \n%ld, \n%ld\n", - heap->nmod_lparams_array[pos]->params[0]->denom->mod.n, - heap->nmod_lparams_array[pos]->params[0]->coords[0]->mod.n); - } - - return 1; -} - - -//calcul d'une param rationnelle par evaluation interpolation. -//on suppose que le tableau des points d'evaluation ne contient pas que des 0 et est deja alloue -//les donnees necessaires au calcul sont deja allouees egalement. -//On renvoie 0 si il y a un probleme -//Ici, on suppose que le resultant n'est pas square-free. - -static int nmod_bpoly_param_allocated_feval_nonsqfree(data_heap_t *heap, - slong mdegA, slong mdegB, - int pos){ - - ulong count_points = 0, i = 0; - while(count_points < heap->npts){ - if(nmod_poly_evaluate_nmod(heap->a_mod[mdegA], i) != 0 && - nmod_poly_evaluate_nmod(heap->b_mod[mdegB], i) != 0){ - heap->ev_pts[count_points] = i; - count_points++; - i++; - } - else{ - i++; - } - } - - nmod_bpoly_fast_eval_nmod_2_pols(heap->a_mod_eval_all, heap->b_mod_eval_all, - heap->a_mod, mdegA, heap->b_mod, mdegB, - heap->ev_pts, heap->npts, heap->tree); - for(ulong i = 0; i < heap->npts; i++){ - //On ne peut pas paralleliser a cause de w qui est partage. Il faudra modifier ca. - - get_coeffs_from_eval(heap->a_mod_eval, heap->a_mod_eval_all, mdegA, i); - get_coeffs_from_eval(heap->b_mod_eval, heap->b_mod_eval_all, mdegB, i); - - heap->res_mod_eval[i] = - _nmod_poly_param_euclidean_allocated(heap->a_mod_eval->coeffs, - heap->a_mod_eval->length, - heap->b_mod_eval->coeffs, - heap->b_mod_eval->length, - heap->a_mod_eval->mod, - heap->nmod_coeffs_array, - heap->par_h_mod_eval + i, - heap->par_t_mod_eval + i); - - } - - nmod_poly_interpolate_nmod_vec(heap->res_mod_array[pos], heap->ev_pts, heap->res_mod_eval, heap->npts); - nmod_poly_interpolate_nmod_vec(heap->par_h_mod_array[pos], - heap->ev_pts, heap->par_h_mod_eval, heap->npts); - nmod_poly_interpolate_nmod_vec(heap->par_t_mod_array[pos], - heap->ev_pts, heap->par_t_mod_eval, heap->npts); - - heap->sqf_part->num = 0; - nmod_poly_factor_squarefree(heap->sqf_part, heap->res_mod_array[pos]); - - for(ulong i = 0; i < heap->sqf_part->num; i++){ - nmod_poly_copy(heap->nmod_lparams_array[pos]->params[i]->elim, - heap->sqf_part->p+i); - - if(nmod_poly_invmod(heap->GCDINV[pos], - heap->par_h_mod_array[pos], - heap->nmod_lparams_array[pos]->params[i]->elim)){ - - nmod_poly_derivative(heap->nmod_lparams_array[pos]->params[i]->denom, - heap->nmod_lparams_array[pos]->params[i]->elim); - - nmod_poly_mul(heap->nmod_lparams_array[pos]->params[i]->coords[0], - heap->par_t_mod_array[pos], - heap->GCDINV[pos]); - - nmod_poly_rem(heap->nmod_lparams_array[pos]->params[i]->coords[0], - heap->nmod_lparams_array[pos]->params[i]->coords[0], - heap->nmod_lparams_array[pos]->params[i]->elim); - nmod_poly_mul(heap->nmod_lparams_array[pos]->params[i]->coords[0], - heap->nmod_lparams_array[pos]->params[i]->coords[0], - heap->nmod_lparams_array[pos]->params[i]->denom - ); - - nmod_poly_rem(heap->nmod_lparams_array[pos]->params[i]->coords[0], - heap->nmod_lparams_array[pos]->params[i]->coords[0], - heap->nmod_lparams_array[pos]->params[i]->elim); - } - else{ - fprintf(stderr, "Pas d'inversion possible\n"); - return 0; - } - } - - if(DEBUG>2){ - fprintf(stderr, "Prime = %ld\n", heap->primes_array[pos]); - print_nmod_all_params_pretty(stderr, heap->nmod_lparams_array[pos]); - } - - return 1; -} - -static void fmpz_bpoly_resultant_deterministic(fmpz_poly_t res, - fmpz_poly_t *A, slong degA, - fmpz_poly_t *B, slong degB){ - slong totaldegA = get_total_degree(A, degA); - slong totaldegB = get_total_degree(B, degB); - - fprintf(stderr, "Total degrees : %ld %ld\n", totaldegA, totaldegB); - //maximum degree in the variable that is not eliminated - slong degAx = get_partial_degree(A, degA); - slong degBx = get_partial_degree(B, degB); - - ulong numpoints = MIN(totaldegA * totaldegB + 1, degB * degAx + degA * degBx + 1); - ulong nbitsA = nbits_bound_fmpz_bvar_poly(A, degA); - ulong nbitsB = nbits_bound_fmpz_bvar_poly(B, degB); - fprintf(stderr, "Max nbits : %lu %lu\n", nbitsA, nbitsB); - ulong i; - - //Hadamard-type bound (Goldstein-Graham) - ulong bound_nbits = nbitsA*(degB) + nbitsB*(degA); - fprintf(stderr, "Bound (nbits) = %lu\n", bound_nbits); - - mp_limb_t prime = 1073741827; - prime = n_nextprime(1152921504606847009, 0); - // prime = n_nextprime(prime, 0); - ulong nbits_prime = LOG2(prime); - - nmod_poly_t *a = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * (degA + 1))); - nmod_poly_t *b = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * (degB + 1))); - - for(i = 0; i <= degA; i++){ - nmod_poly_init(a[i], prime); - make_nmod_poly(a[i], A[i], prime); - } - for(i = 0; i <= degB; i++){ - nmod_poly_init(b[i], prime); - make_nmod_poly(b[i], B[i], prime); - } - - //data for calling nmod_bpoly_resultant - //a_s_ptr contiendra la specialisation des coefficients de a en un point. - nmod_poly_t *a_s_ptr = malloc(sizeof(nmod_poly_t)); - nmod_poly_init2(a_s_ptr[0], prime, degA+1); - - nmod_poly_t *b_s_ptr = malloc(sizeof(nmod_poly_t)); - nmod_poly_init2(b_s_ptr[0], prime, degB+1); - - //contiendra les valeurs des resultants modulo des premiers - mp_limb_t * restable = (mp_limb_t *)(malloc(sizeof(mp_limb_t)*numpoints)); - //contiendra les points d'evaluation - mp_limb_t * eval_points = (mp_limb_t *)(malloc(sizeof(mp_limb_t)*numpoints)); - ////////////////////////////////// - - ulong count_nprimes = 1; - - nmod_poly_t *res_mod_table = (nmod_poly_t *)(malloc(sizeof(nmod_poly_t) * (bound_nbits / nbits_prime + 1) )); - mp_limb_t *primes_table = (mp_limb_t *)(malloc(sizeof(mp_limb_t) * (bound_nbits / nbits_prime + 1))); - double e = omp_get_wtime(); - nbits_prime = 0; - - fmpz_t *prod_mod = malloc(sizeof(fmpz_t)); - fmpz_init(prod_mod[0]); - while(nbits_prime < bound_nbits){ - for(i = 0; i <= degA; i++){ - make_nmod_poly(a[i], A[i], prime); - } - for(i = 0; i <= degB; i++){ - make_nmod_poly(b[i], B[i], prime); - } - if(a[degA]->length>0 && b[degB]->length>0){ - nmod_poly_init(res_mod_table[count_nprimes-1], prime); - primes_table[count_nprimes-1] = prime; - nmod_bpoly_resultant(res_mod_table[count_nprimes-1], a, degA, b, degB, numpoints, - a_s_ptr, b_s_ptr, restable, eval_points); - prime = n_nextprime(prime, 0); - nbits_prime += LOG2(prime); - count_nprimes++; - } - else{ - prime = n_nextprime(prime, 0); - } - } - count_nprimes--; - fprintf(stderr, "Number of used primes = %lu\n", count_nprimes); - fprintf(stderr, "Elapsed time (mod comp.): %f\n", omp_get_wtime() - e); - - e=omp_get_wtime(); - crt_lift_resultant(res, res_mod_table, primes_table, count_nprimes, prod_mod); - fprintf(stderr, "Elapsed time (CRT comp.): %f\n", omp_get_wtime() - e); - fprintf(stderr, "Final size coeffs: %ld\n", FLINT_ABS(_fmpz_vec_max_bits(res->coeffs, res->length))); - fprintf(stderr, "Degree of the output: %ld\n", res->length-1); - - fmpz_clear(prod_mod[0]); - free(prod_mod); - nmod_poly_clear(a_s_ptr[0]); - nmod_poly_clear(b_s_ptr[0]); - free(a_s_ptr); - free(b_s_ptr); - free(eval_points); - - for(i = 0; i< count_nprimes; i++){ - nmod_poly_clear(res_mod_table[i]); - } - for(i = 0; i <= degA; i++){ - nmod_poly_clear(a[i]); - } - for(i = 0; i <= degB; i++){ - nmod_poly_clear(b[i]); - } - free(res_mod_table); - free(restable); - free(primes_table); - free(a); - free(b); - return; -} - -/* - Input: dans res_mod_table on a N = size_table images modulaires de resultant - (modulo les premiers de primes_table). - - On vĂ©rifie que res modulo ces premiers correspond aux elements de res_mod_table -*/ -/* static int check_modular_images_old(fmpz_poly_t res, nmod_poly_t res_mod, nmod_poly_t *res_mod_table, */ -/* mp_limb_t *primes_table, int size_table, slong *max_degree){ */ -/* for(int i = 0; i < size_table; i++){ */ -/* if(*max_degree < res_mod_table[i]->length - 1){ */ -/* *max_degree = res_mod_table[i]->length - 1; */ -/* } */ -/* } */ -/* for(int i = 0; i < size_table; i++){ */ -/* make_nmod_poly(res_mod, res, primes_table[i]); */ -/* if(!nmod_poly_equal(res_mod, res_mod_table[i])){ */ -/* return 0; */ -/* } */ -/* } */ -/* return 1; */ -/* } */ - -/* - Input: dans res_mod_table on a N = size_table images modulaires de resultant - (modulo les premiers de primes_table). - - On vĂ©rifie que res modulo ces premiers correspond aux elements de res_mod_table -*/ -static int check_modular_images(fmpz_poly_t res, - data_heap_t *heap, - int size_table, slong *max_degree){ - for(int i = 0; i < size_table; i++){ - if(*max_degree < heap->res_mod_array[i]->length - 1){ - *max_degree = heap->res_mod_array[i]->length - 1; - } - } - for(int i = 0; i < size_table; i++){ - make_nmod_poly(heap->res_mod[0], res, heap->primes_array[i]); - if(!nmod_poly_equal(heap->res_mod[0], heap->res_mod_array[i])){ - return 0; - } - } - return 1; -} - - -static void update_poly_tables_with_prime(data_heap_t *heap, - int pos, mp_limb_t prime){ - mp_limb_t p = n_preinvert_limb(prime); - heap->primes_array[pos] = prime; - - heap->GCDINV[pos]->mod.n = prime; - heap->GCDINV[pos]->mod.ninv = p; - flint_clz(heap->GCDINV[pos]->mod.norm); - - heap->res_mod_array[pos]->mod.n = prime; - heap->res_mod_array[pos]->mod.ninv = p; - flint_clz(heap->res_mod_array[pos]->mod.norm); - - heap->par_t_mod_array[pos]->mod.n = prime; - heap->par_t_mod_array[pos]->mod.ninv = p; - flint_clz(heap->par_t_mod_array[pos]->mod.norm); - - heap->par_h_mod_array[pos]->mod.n = prime; - heap->par_h_mod_array[pos]->mod.ninv = p; - flint_clz(heap->par_h_mod_array[pos]->mod.norm); - - heap->a_mod_eval->mod.n = prime; - heap->a_mod_eval->mod.ninv = p; - flint_clz(heap->a_mod_eval->mod.norm); - - heap->b_mod_eval->mod.n = prime; - heap->b_mod_eval->mod.ninv = p; - flint_clz(heap->b_mod_eval->mod.norm); - -} - -static void update_nmod_param_with_prime(nmod_all_params_t *lparams, - mp_limb_t prime){ - mp_limb_t p = n_preinvert_limb(prime); - - for(int i = 0; i nparams; i++){ - nmod_param_t *param = lparams->params[i]; - param->denom->mod.n = prime; - param->denom->mod.ninv = p; - flint_clz(param->denom->mod.norm); - - param->elim->mod.n = prime; - param->elim->mod.ninv = p; - flint_clz(param->elim->mod.norm); - - for(int j = 0; j < param->nvars; j++){ - param->coords[j]->mod.n = prime; - param->coords[j]->mod.ninv = p; - flint_clz(param->coords[j]->mod.norm); - } - } -} - - -//Fonction qui teste si pol est square-free -//renvoie 0 si pol est square-free, un entier >= 1 sinon -static slong is_non_square_free(nmod_poly_t pol, nmod_poly_factor_t sqf){ - nmod_poly_factor_squarefree(sqf, pol); - int nf = sqf->num ; - sqf->num = 0; - return nf - 1; -} - - -static void get_degrees_and_nbits(fmpz_poly_t *A, slong mdegA, - fmpz_poly_t *B, slong mdegB, - slong *tdegA, slong *tdegB, - slong *sdegA, slong *sdegB, - ulong *nbitsA, ulong *nbitsB){ - //total degrees - *tdegA = get_total_degree(A, mdegA); - *tdegB = get_total_degree(B, mdegB); - - //maximum degree in the variable that is not eliminated - *sdegA = get_partial_degree(A, mdegA); - *sdegB = get_partial_degree(B, mdegB); - - *nbitsA = nbits_bound_fmpz_bvar_poly(A, mdegA); - *nbitsB = nbits_bound_fmpz_bvar_poly(B, mdegB); -} - -//renvoie 0 si on a encore besoin de lifter les coefficients -static inline int check_param_modular_images(fmpz_param_t *param, - data_heap_t *heap, int size){ - for(ulong i = 0; i < size; i++){ - //on verifie le polynome eliminant - make_nmod_poly(heap->res_mod[0], param->elim, heap->primes_array[i]); - if(!nmod_poly_equal(heap->res_mod[0], - heap->nmod_lparams_array[i]->params[0]->elim)){ - return 0; - } - make_nmod_poly(heap->res_mod[0], param->denom, heap->primes_array[i]); - //on verifie le polynome denominateur - if(!nmod_poly_equal(heap->res_mod[0], - heap->nmod_lparams_array[i]->params[0]->denom)){ - return 0; - } - //on verifie les coordonnees - make_nmod_poly(heap->res_mod[0], param->coords[0], heap->primes_array[i]); - if(!nmod_poly_equal(heap->res_mod[0], - heap->nmod_lparams_array[i]->params[0]->coords[0])){ - return 0; - } - } - return 1; -} - - -//renvoie 0 si on a encore besoin de lifter les coefficients -static inline int check_all_params_modular_image(fmpz_all_params_t *all_params, - data_heap_t *heap, int size){ - int nparams = all_params->nparams; - for(int i = 0; i < nparams; i++){ - if(!check_param_modular_images(all_params->params[i], heap, size)){ - return 0; - } - } - return 1; -} - -static inline void integer_param_crt_lifting_all_params(fmpz_all_params_t *all_params, - data_heap_t *heap, int size){ - slong maxdegree = -1; - fmpz_param_t *param = all_params->params[0]; - for(ulong i = 0; i < size; i++){ - if(heap->nmod_lparams_array[0]->params[0]->elim->length - 1 > maxdegree){ - maxdegree = heap->nmod_lparams_array[0]->params[0]->elim->length - 1; - } - } - if((param)->elim->length-1!=maxdegree){ - fprintf(stderr, "Error with degree estimates in integer_param_crt_lifting\n"); - fprintf(stderr, "maxdegree = %ld\n", maxdegree); - fprintf(stderr, "First param of degree = %ld\n", (param)->elim->length-1); - exit(1); - } - - if(DEBUG>=5){ - for(int i = 0; i < size; i++){ - fprintf(stderr, "prime = %ld\n", heap->primes_array[i]); - print_nmod_param(stderr, (heap->nmod_lparams_array[i]->params[0])); - fprintf(stderr, "\n"); - } - } - - for(ulong j = 0; j <= maxdegree; j++){ - for(ulong i = 0; i < size; i++){ - - fmpz_CRT_ui(((param)->elim->coeffs)+j, ((param)->elim->coeffs)+j, - heap->prod_primes[i], - (heap->nmod_lparams_array[i]->params[0]->elim->coeffs)[j], - heap->primes_array[i], 1); - - fmpz_CRT_ui(((param)->denom->coeffs)+j, ((param)->denom->coeffs)+j, - heap->prod_primes[i], - (heap->nmod_lparams_array[i]->params[0]->denom->coeffs)[j], - heap->primes_array[i], 1); - - fmpz_CRT_ui(((param)->coords[0]->coeffs)+j, ((param)->coords[0]->coeffs)+j, - heap->prod_primes[i], - (heap->nmod_lparams_array[i]->params[0]->coords[0]->coeffs)[j], - heap->primes_array[i], 1); - - } - } - -} - -static inline int rational_param_lifting(fmpz_param_t *param, - data_heap_t *heap, - int size, int mul){ - int b = 1; - - ulong deg = heap->nmod_lparams_array[0]->params[mul]->elim->length - 1; - if(param->rec_elim < deg){ - for(ulong j = 0; j <= deg; j++){ - for(ulong i = 0; i < size; i++){ - fmpz_CRT_ui(((param)->elim->coeffs)+j, ((param)->elim->coeffs)+j, - heap->prod_primes[i], - (heap->nmod_lparams_array[i]->params[mul]->elim->coeffs)[j], - heap->primes_array[i], 1); - } - } - fprintf(stderr, "Lifting the elimination polynomial\n"); - if(rat_recon(param->elim, param->elim_num, param->elim_den, param->elim_lcm, - heap, deg, &(param->rec_elim)) == 0){ - b = 0; - } - } - - deg = (heap->nmod_lparams_array[0]->params[mul]->coords[0]->length) - 1; - if(param->rec_coords[0] < deg){ - for(ulong j = 0; j <= deg; j++){ - for(ulong i = 0; i < size; i++){ - fmpz_CRT_ui(((param)->coords[0]->coeffs)+j, ((param)->coords[0]->coeffs)+j, - heap->prod_primes[i], - (heap->nmod_lparams_array[i]->params[mul]->coords[0]->coeffs)[j], - heap->primes_array[i], 1); - } - } - if(b==0){ - return b; - } - fprintf(stderr, "Lifting of the parametrization\n"); - if(rat_recon(param->coords[0], param->coords_num[0], param->coords_den[0], - param->coords_lcm[0], - heap, deg, param->rec_coords) == 0){ - b = 0; - } - } - fprintf(stderr, "LCM = "); - fmpz_fprint(stderr, param->coords_lcm[0]); - fprintf(stderr, "\n"); - - return b; -} - -//attention : ici le denominateur sera de tout de maniere la derivee du polynome -//eliminant -static inline int rational_param_lifting_all_params(fmpz_all_params_t *all_params, - data_heap_t *heap, int size){ - int b = 1; - for(ulong i = 0; i < all_params->nparams; i++){ - fmpz_param_t *param = all_params->params[i]; - if(param->recons == 0){ - if(rational_param_lifting(param, heap, size, i)==0){ - b = 0; - } - else{ - param->recons = 1; - } - } - } - return b; -} - - -static inline void copy_coeffs_poly(fmpz_poly_t poly1, fmpz_poly_t poly2){ - - for(ulong i = 0; i < poly2->length; i++){ - fmpz_poly_set_coeff_fmpz(poly1, i, poly2->coeffs + i); - } -} - -static inline bsolve_fmpz_param_t *copy_to_final_parametrization(fmpz_param_t *param){ - bsolve_fmpz_param_t *bs_param = malloc(sizeof(bsolve_fmpz_param_t)); - bs_param->nvars = param->nvars; - bs_param->sepelem = malloc(sizeof(mp_limb_t) * 2); - bs_param->cfs = malloc(sizeof(fmpz_t) * param->nvars); - - for(int i = 0; i < 2; i++){ - bs_param->sepelem[i] = param->sepelem[i]; - } - fmpz_poly_init2(bs_param->elim, param->elim_num->length); - - copy_coeffs_poly(bs_param->elim, param->elim_num); - - bs_param->coords = malloc(sizeof(fmpz_poly_t) * param->nvars); - - for(int i = 0; i < param->nvars; i++){ - fmpz_poly_init2(bs_param->coords[i], param->coords_num[i]->length); - copy_coeffs_poly(bs_param->coords[i], param->coords_num[i]); - fmpz_init(bs_param->cfs[i]); - fmpz_set(bs_param->cfs[i], param->coords_lcm[i]); - fprintf(stderr, "Warning: changing cfs\n"); - fmpz_set_ui(bs_param->cfs[i], 1); - } - fmpz_poly_init2(bs_param->denom, param->elim_num->length - 1); - - for(ulong i = 0; i < param->elim_num->length - 1; i++){ - fmpz_poly_set_coeff_ui(bs_param->denom, i, 1); - fmpz_mul_ui(bs_param->denom->coeffs + i, bs_param->elim->coeffs + (i+1), i+1); - } - return bs_param; -} - -static inline void copy_to_final_all_params(bsolve_fmpz_all_params_t *bs_params, - fmpz_all_params_t *params){ - bs_params->nparams = params->nparams; - fprintf(stderr, "Number of parametrizations = %d\n", params->nparams); - bs_params->params = malloc(sizeof(bsolve_fmpz_param_t *) * params->nparams); - for(int i = 0; i < params->nparams; i++){ - bs_params->params[i] = copy_to_final_parametrization(params->params[i]); - } -} - -//retourne 1 si il y a une param. rat. des solutions -//sinon retourne 0 - -/* output parametrization will be stored in bs_param */ -static int _fmpz_bpoly_param_probabilistic(bsolve_fmpz_all_params_t *bs_param, - fmpz_poly_t *A, slong mdegA, - fmpz_poly_t *B, slong mdegB){ - slong tdegA, tdegB, sdegA, sdegB; - ulong nbitsA, nbitsB; - int size_table = 8; - /* - tdegA and degB will be the total degrees of A and B - - sdegA and sdegB will be the partial degrees of A and B - in the variable that is kept. - - nbitsA and nbitsB are the max bit size coeffs of A and B - */ - get_degrees_and_nbits(A, mdegA, - B, mdegB, - &tdegA, &tdegB, - &sdegA, &sdegB, - &nbitsA, &nbitsB); - - data_heap_t *heap = allocate_data_heap(tdegA, tdegB, - mdegA, mdegB, - sdegA, sdegB, - size_table); - - fprintf(stderr, "Total degrees : %ld %ld\n", tdegA, tdegB); - fprintf(stderr, "Main degrees : %ld %ld\n", mdegA, mdegB); - fprintf(stderr, "Bit sizes : %lu %lu\n", nbitsA, nbitsB); - fprintf(stderr, "numpoints = %lu\n", heap->npts); - - /*Hadamard-type (Goldstein-Graham) to obtain a bound on the - bit size of the resultant - */ - ulong bound_nbits = nbitsA*(mdegB) + nbitsB*(mdegA); - - fprintf(stderr, "Bound (nbits) = %lu\n", bound_nbits); - - mp_limb_t prime = 1073741827; - prime = n_nextprime(1152921504606847009, 0); - ulong nbits_prime = LOG2(prime); - - ulong count_nprimes = 1; - - double e = omp_get_wtime(); - nbits_prime = 0; - - - double e_mod = 0; - - //On teste si le resultant est square-free - make_nmod_bpoly(heap->a_mod, A, mdegA, prime); - make_nmod_bpoly(heap->b_mod, B, mdegB, prime); - - update_poly_tables_with_prime(heap, 0, prime); - nmod_bpoly_param_allocated_feval_sqfree(heap, - mdegA, mdegB, 0); - - fprintf(stderr, "Degree of the resultant is %ld\n", heap->nmod_lparams_array[0]->params[0]->elim->length - 1); - - /* resultant is a non-zero constant -> no solution */ - if(heap->nmod_lparams_array[0]->params[0]->elim->length == 1){ -#if(DEBUG > 3) - char str[1] = {"x"}; - fprintf(stderr, "elim = "); - nmod_poly_fprint_pretty(stderr, - heap->nmod_lparams_array[0]->params[0]->elim, - str); - fprintf(stderr, "\n"); - fprintf(stderr, "denom = "); - nmod_poly_fprint_pretty(stderr, - heap->nmod_lparams_array[0]->params[0]->denom, - str); - fprintf(stderr, "\n"); -#endif - bs_param->nparams = 1; - bs_param->params = malloc(sizeof(bsolve_fmpz_param_t *)); - bs_param->params[0] = malloc(sizeof(bsolve_fmpz_param_t)); - bs_param->params[0]->nvars = 1; - - bs_param->params[0]->sepelem = malloc(sizeof(mp_limb_t) * 2); - bs_param->params[0]->sepelem[0] = 0; - bs_param->params[0]->sepelem[1] = 1; - - bs_param->params[0]->coords = malloc(sizeof(fmpz_poly_t) ); - - fmpz_poly_init2(bs_param->params[0]->elim, 1); - fmpz_poly_set_ui(bs_param->params[0]->elim, 1); - fmpz_poly_init2(bs_param->params[0]->coords[0], 1); - fmpz_poly_set_ui(bs_param->params[0]->coords[0], 0); - return 1; - } - if(DEBUG>3){ - char str[1] = {"x"}; - nmod_poly_fprint_pretty(stderr, *heap->res_mod_array, str); - fprintf(stderr, "\n"); - fprintf(stderr, "RESULTANT = "); - nmod_poly_fprint_pretty(stderr, heap->nmod_lparams_array[0]->params[0]->elim, str); - fprintf(stderr, "\n"); - } - - heap->sqf_part->num = 0; - nmod_poly_factor_squarefree(heap->sqf_part, heap->nmod_lparams_array[0]->params[0]->elim); - - int nb_sqfree = heap->sqf_part->num; - int is_sqf = 0; - if(nb_sqfree==1 && (heap->sqf_part->p)->length == heap->nmod_lparams_array[0]->params[0]->elim->length) - { - fprintf(stderr, "Resultant is square-free\n"); - is_sqf = 1; - } - else{ - fprintf(stderr, "Resultant is not square-free\n"); - fprintf(stderr, "Array of degree/multiplicity is ["); - for(int i = 0; i < nb_sqfree-1; i++){ - fprintf(stderr, "[%lu, %lu], ", (heap->sqf_part->p+i)->length - 1, (heap->sqf_part->exp[i])); - } - fprintf(stderr, "[%lu, %lu]]\n", (heap->sqf_part->p+(nb_sqfree-1))->length - 1, (heap->sqf_part->exp[nb_sqfree-1])); - } - - if(nmod_poly_invmod(heap->GCDINV[0], - heap->nmod_lparams_array[0]->params[0]->denom, - heap->nmod_lparams_array[0]->params[0]->elim) - == 0){ - - fprintf(stderr, "The input system is not in generic position\n"); - - return 0; - } - mp_ptr sepelem = malloc(sizeof(mp_limb_t) * 2); - sepelem[0]=0; - sepelem[1]=1; - - for(int i = 0; i < size_table; i++){ - heap->nmod_lparams_array[i] = allocate_degrees_sepelem_nmod_all_params(heap, sepelem, - nb_sqfree, 1, - prime); - } - - fmpz_all_params_t *param = malloc(sizeof(fmpz_all_params_t)); - allocate_degrees_sepelem_fmpz_all_params(param, heap, sepelem, - nb_sqfree, 1); - fprintf(stderr, "Allocation done\n"); - fprintf(stderr, "First param of degree = %ld\n", param->params[0]->elim->length-1); - - prime = n_nextprime(prime, 0); - int boo = 1; - while(boo){ - int pos = 0; - - while(pos < size_table){ - - make_nmod_bpoly(heap->a_mod, A, mdegA, prime); - make_nmod_bpoly(heap->b_mod, B, mdegB, prime); - - if(heap->a_mod[mdegA]->length>0 && heap->b_mod[mdegB]->length>0){ - - double start_mod = omp_get_wtime(); - update_poly_tables_with_prime(heap, pos, prime); - //Ici on met a jour nmod_all_primes_table avec prime - update_nmod_param_with_prime(heap->nmod_lparams_array[pos], prime); - - if(is_sqf==1){ - nmod_bpoly_param_allocated_feval_sqfree(heap, - mdegA, mdegB, pos); - } - else{ - if(nmod_bpoly_param_allocated_feval_nonsqfree(heap, - mdegA, mdegB, pos)==0){ - return 0; - } - } - -#if(DEBUG>2) - char str[1] = {"x"}; - fprintf(stderr, "prime = %ld\n", prime); - fprintf(stderr, "RESULTANT = "); - nmod_poly_fprint_pretty(stderr, heap->nmod_lparams_array[pos]->params[0]->elim, str); - fprintf(stderr, "\n"); -#endif - e_mod += (omp_get_wtime() - start_mod); - pos++; - fmpz_mul_ui(heap->prod_primes[pos], heap->prod_primes[pos - 1], prime); - - nbits_prime += LOG2(prime); - prime = n_nextprime(prime, 0); - count_nprimes++; - } - else{ - prime = n_nextprime(prime, 0); - } - } - - if(nb_sqfree==1){ - if(check_all_params_modular_image(param, heap, size_table) == 0){ - //Il faut continuer la construction - integer_param_crt_lifting_all_params(param, heap, - size_table); - fmpz_set(heap->prod_primes[0], heap->prod_primes[size_table]); - if(DEBUG>1){ - if(check_all_params_modular_image(param, heap, size_table)==0){ - fprintf(stderr, "Error in lifting\n"); - exit(1); - } - } - } - else{ - boo = 0; - } - } - else{ - if(rational_param_lifting_all_params(param, heap, size_table) == 0){ - fmpz_set(heap->prod_primes[0], heap->prod_primes[size_table]); - } - else{ - boo = 0; - } - } - } - copy_to_final_all_params(bs_param, param); - count_nprimes--; - fprintf(stderr, "Number of used primes = %lu\n", count_nprimes); - fprintf(stderr, "Elapsed time (modp): %f\n", e_mod); - fprintf(stderr, "Elapsed time (total): %f\n", omp_get_wtime() - e); - - free(sepelem); -// free_fmpz_all_params(all_params); - free_data_heap(mdegA, mdegB, size_table, heap); - - return 1; -} - -static int fmpz_bpoly_param(bsolve_fmpz_all_params_t *bs_param, - fmpz_poly_t *A, slong mdegA, - fmpz_poly_t *B, slong mdegB){ - if(mdegA < mdegB){ - return _fmpz_bpoly_param_probabilistic(bs_param, - B, mdegB, - A, mdegA); - } - else{ - return _fmpz_bpoly_param_probabilistic(bs_param, - A, mdegA, - B, mdegB); - } -} - - - -static void _fmpz_bpoly_resultant_probabilistic(fmpz_poly_t res, - fmpz_poly_t *A, slong mdegA, - fmpz_poly_t *B, slong mdegB){ - slong tdegA, tdegB, sdegA, sdegB; - ulong nbitsA, nbitsB; - int size_table = 4; - fprintf(stderr, "ici on est la\n"); - get_degrees_and_nbits(A, mdegA, - B, mdegB, - &tdegA, &tdegB, - &sdegA, &sdegB, - &nbitsA, &nbitsB); - fprintf(stderr, "allocation starts\n"); - data_heap_t *heap = allocate_data_heap(tdegA, tdegB, - mdegA, mdegB, - sdegA, sdegB, - size_table); - fprintf(stderr, "allocation done\n"); - - fprintf(stderr, "Total degrees : %ld %ld\n", tdegA, tdegB); - fprintf(stderr, "numpoints = %lu\n", heap->npts); - - //Hadamard-type (Goldstein-Graham) - ulong bound_nbits = nbitsA*(mdegB) + nbitsB*(mdegA); - - fprintf(stderr, "Bound (nbits) = %lu\n", bound_nbits); - - mp_limb_t prime = 1073741827; - prime = n_nextprime(1152921504606847009, 0); - // prime = 4611686018427388039; // prime = n_nextprime(prime, 0); - ulong nbits_prime = LOG2(prime); - - ulong count_nprimes = 1; - - //max degree reached during multi-mod computation - slong maxdegree = -1; - - - double e = omp_get_wtime(); - nbits_prime = 0; - - fmpz_t coeff; - fmpz_init(coeff); - - double e_mod = 0; - - //On teste si le resultant est square-free - make_nmod_bpoly(heap->a_mod, A, mdegA, prime); - make_nmod_bpoly(heap->b_mod, B, mdegB, prime); - - update_poly_tables_with_prime(heap, 0, prime); - nmod_bpoly_resultant_allocated_feval(heap, mdegA, mdegB, 0); - - fprintf(stderr, "prime = %lu\n", prime); - fprintf(stderr, "Degree of the resultant is %ld\n", heap->res_mod_array[0]->length - 1); - prime = n_nextprime(prime, 0); - double e_res = 0; - int boo = 1; - while(nbits_prime < bound_nbits && boo){ - int pos = 0; - - while(pos < size_table){ - make_nmod_bpoly(heap->a_mod, A, mdegA, prime); - make_nmod_bpoly(heap->b_mod, B, mdegB, prime); - - if(heap->a_mod[mdegA]->length>0 && heap->b_mod[mdegB]->length>0){ - - double start_mod = omp_get_wtime(); - update_poly_tables_with_prime(heap, pos, prime); - double t = omp_get_wtime(); - nmod_bpoly_resultant_allocated_feval(heap, mdegA, mdegB, pos); - e_res += (omp_get_wtime() - t); - e_mod += (omp_get_wtime() - start_mod); - pos++; - fmpz_mul_ui(heap->prod_primes[pos], heap->prod_primes[pos - 1], prime); - - nbits_prime += LOG2(prime); - prime = n_nextprime(prime, 0); - count_nprimes++; - } - else{ - prime = n_nextprime(prime, 0); - } - } - - //on verifie si les images modulaires collent au resultant qu'on a calcule - if(check_modular_images(res, heap, size_table, &maxdegree)){ - fprintf(stderr, "\n\nfinal prime = %lu\n\n", prime); - boo = 0; - } - else{//ca colle pas, on continue la reconstruction. - fmpz_poly_fit_length(res, maxdegree+1); - fmpz_one(coeff); - for(ulong j = 0; j <= maxdegree; j++){ - fmpz_set(coeff, res->coeffs + j); - for(int i = 0; i < size_table; i++){ - myfmpz_CRT_ui(coeff, coeff, - heap->prod_primes[i], (heap->res_mod_array[i]->coeffs)[j], heap->primes_array[i], 1, heap->prod_mod); - } - fmpz_poly_set_coeff_fmpz(res, j, coeff); - } - fmpz_set(heap->prod_primes[0], heap->prod_primes[size_table]); - } - } - - fprintf(stderr, "Wall time spent in modular resultant = %f\n", e_res); - count_nprimes--; - fprintf(stderr, "Number of used primes = %lu\n", count_nprimes); - fprintf(stderr, "Elapsed time (modp): %f\n", e_mod); - fprintf(stderr, "Elapsed time (total): %f\n", omp_get_wtime() - e); - - fprintf(stderr, "Final size coeffs: %ld\n", FLINT_ABS(_fmpz_vec_max_bits(res->coeffs, res->length))); - fprintf(stderr, "Degree of the output: %ld\n", res->length-1); - - fmpz_clear(coeff); - free_data_heap(mdegA, mdegB, size_table, heap); - return; -} - - -static void _fmpz_bpoly_sqfree_resultant_probabilistic(fmpz_poly_t res, - fmpz_poly_t *A, slong mdegA, - fmpz_poly_t *B, slong mdegB){ - - slong tdegA, tdegB, sdegA, sdegB; - ulong nbitsA, nbitsB; - get_degrees_and_nbits(A, mdegA, - B, mdegB, - &tdegA, &tdegB, - &sdegA, &sdegB, - &nbitsA, &nbitsB); - int size_table = 4; - data_heap_t *heap = allocate_data_heap(tdegA, tdegB, - mdegA, mdegB, - sdegA, sdegB, - size_table); - - fprintf(stderr, "Total degrees : %ld %ld\n", tdegA, tdegB); - fprintf(stderr, "numpoints = %lu\n", heap->npts); - - //Hadamard-type (Goldstein-Graham) - ulong bound_nbits = nbitsA*(mdegB) + nbitsB*(mdegA); - - fprintf(stderr, "Bound (nbits) = %lu\n", bound_nbits); - - mp_limb_t prime = 1073741827; - //On devrait mettre un peu d'alea - prime = n_nextprime(1152921504606847009, 0); - ulong nbits_prime = LOG2(prime); - - ulong count_nprimes = 1; - - //max degree reached during multi-mod computation - slong maxdegree = -1; - - double e = omp_get_wtime(); - nbits_prime = 0; - - fmpz_t coeff; - fmpz_init(coeff); - - double e_mod = 0; - - //On teste si le resultant est square-free - make_nmod_bpoly(heap->a_mod, A, mdegA, prime); - make_nmod_bpoly(heap->b_mod, B, mdegB, prime); - - update_poly_tables_with_prime(heap, 0, prime); - nmod_bpoly_resultant_allocated_feval(heap, mdegA, mdegB, 0); - - fprintf(stderr, "prime = %lu\n", prime); - fprintf(stderr, "Degree of the resultant is %ld\n", heap->res_mod_array[0]->length - 1); - if(!is_non_square_free(heap->res_mod_array[0], heap->sqf_part)){ - fprintf(stderr, "The resultant is square-free\n"); - - free_data_heap(mdegA, mdegB, size_table, heap); - fprintf(stderr, "free heap done\n"); - _fmpz_bpoly_resultant_probabilistic(res, - A, mdegA, - B, mdegB); - return; - } - fprintf(stderr, "The resultant is not square-free\n"); - prime = n_nextprime(prime, 0); - - while(nbits_prime < bound_nbits || 0 == 0){ - int pos = 0; - - while(pos < size_table){ - make_nmod_bpoly(heap->a_mod, A, mdegA, prime); - make_nmod_bpoly(heap->b_mod, B, mdegB, prime); - - if(heap->a_mod[mdegA]->length>0 && heap->b_mod[mdegB]->length>0){ - - double start_mod = omp_get_wtime(); - update_poly_tables_with_prime(heap, pos, prime); - nmod_bpoly_resultant_allocated_feval(heap, mdegA, mdegB, pos); - - square_free_part_nmod_poly(heap->res_mod_array[pos], heap->sqf_part); - - e_mod += (omp_get_wtime() - start_mod); - pos++; - fmpz_mul_ui(heap->prod_primes[pos], heap->prod_primes[pos - 1], prime); - nbits_prime += LOG2(prime); - prime = n_nextprime(prime, 0); - count_nprimes++; - } - else{ - prime = n_nextprime(prime, 0); - } - } - - //on verifie si les images modulaires collent au resultant qu'on a calcule - if(check_modular_images(res, heap, size_table, &maxdegree)){ - fprintf(stderr, "\n\nfinal prime = %lu\n\n", prime); - break; - } - else{//ca colle pas, on continue la reconstruction. - fmpz_poly_fit_length(res, maxdegree+1); - fmpz_one(coeff); - for(ulong j = 0; j <= maxdegree; j++){ - fmpz_set(coeff, res->coeffs + j); - for(int i = 0; i < size_table; i++){ - myfmpz_CRT_ui(coeff, coeff, - heap->prod_primes[i], (heap->res_mod_array[i]->coeffs)[j], heap->primes_array[i], 1, heap->prod_mod); - } - fmpz_poly_set_coeff_fmpz(res, j, coeff); - // fmpz_print(coeff);fprintf(stdout, "\n"); - } - fmpz_set(heap->prod_primes[0], heap->prod_primes[size_table]); - } - } - - count_nprimes--; - fprintf(stderr, "Number of used primes = %lu\n", count_nprimes); - fprintf(stderr, "Elapsed time (modp): %f\n", e_mod); - fprintf(stderr, "Elapsed time (total): %f\n", omp_get_wtime() - e); - - fprintf(stderr, "Final size coeffs: %ld\n", FLINT_ABS(_fmpz_vec_max_bits(res->coeffs, res->length))); - fprintf(stderr, "Degree of the output: %ld\n", res->length-1); - - fmpz_clear(coeff); - free_data_heap(mdegA, mdegB, size_table, heap); - return; -} - -/* /\* */ -/* Input: A et B sont des pointeurs sur tableaux de fmpz_poly_t de */ -/* tailles respectives degA + 1 et degB + 1 */ - -/* *\/ */ - - -static void fmpz_bpoly_sqfree_resultant_probabilistic(fmpz_poly_t res, - fmpz_poly_t *A, slong degA, - fmpz_poly_t *B, slong degB){ - if(degA < degB){ - _fmpz_bpoly_sqfree_resultant_probabilistic(res, B, degB, A, degA); - } - else{ - _fmpz_bpoly_sqfree_resultant_probabilistic(res, - A, degA, - B, degB); - } -} - - -static void fmpz_bpoly_resultant_probabilistic(fmpz_poly_t res, - fmpz_poly_t *A, slong degA, - fmpz_poly_t *B, slong degB){ - if(degA < degB){ - _fmpz_bpoly_resultant_probabilistic(res, B, degB, A, degA); - } - else{ - _fmpz_bpoly_resultant_probabilistic(res, - A, degA, - B, degB); - } -} - - -int main(int argc, char **argv){ - - bsolve_flags * flags = allocate_initialize_flags(); - - int binary_format = 0; - getoptions(argc, argv, flags); - - FILE *file = fopen(flags->input_file,"r"); - - if(file==NULL){ - fprintf(stderr, "No such file\n"); - return 1; - } - slong degA = 0, degB = 0; - //Array est un tableau de fmpz_poly_t de lgr degA + degB + 1 - fmpz_poly_t *Array = get_input_polynomials(file, °A, °B); - fmpz_poly_t *bA = Array; - fmpz_poly_t *bB = Array + (degA + 1); - fclose(file); - - if(DEBUG >= 2){ - - fprintf(stderr, "\nA := "); - fmpz_bpoly_fprint_pretty(stderr, bA, degA); - fprintf(stderr, "\n"); - fflush(stderr); - fprintf(stderr, "B := "); - fmpz_bpoly_fprint_pretty(stderr, bB, degB); - fprintf(stderr, "\n"); - fflush(stderr); - } - - - - if(0==1){ - flint_rand_t state; - flint_randinit(state); - fmpz_bpoly_random_dense(bA, degA, degA, state); - fmpz_bpoly_random_dense(bB, degB, degB, state); - flint_randclear(state); - } - - fprintf(stderr, "flags->task = %d\n", flags->task); - if(flags->task == 1){ - fmpz_poly_t res; - fmpz_poly_init(res); - fmpz_bpoly_resultant_probabilistic(res, bA, degA, bB, degB); - display_resutant(res, flags, binary_format); - fmpz_poly_clear(res); - } - if(flags->task == 2){ - fmpz_poly_t res; - fmpz_poly_init(res); - fmpz_bpoly_sqfree_resultant_probabilistic(res, bA, degA, bB, degB); - display_resutant(res, flags, binary_format); - fmpz_poly_clear(res); - } - if(DEBUG>10){ - fmpz_poly_t res; - fmpz_poly_init(res); - fmpz_bpoly_resultant_deterministic(res, bA, degA, bB, degB); - fmpz_poly_clear(res); - } - if(flags->task==0){ - bsolve_fmpz_all_params_t *bs_param = malloc(sizeof(bsolve_fmpz_all_params_t)); - if(fmpz_bpoly_param(bs_param, bA, degA, bB, degB)){ - if(flags->output_file != NULL){ - FILE *ofile = fopen(flags->output_file, "w"); - if(flags->binary){ - print_bs_fmpz_all_params_bin(ofile, bs_param); - } - else{ - print_bs_fmpz_all_params_pretty(ofile, bs_param); - } - fclose(ofile); - } - else{ - if(flags->binary){ - print_bs_fmpz_all_params_bin(stdout, bs_param); - } - else{ - print_bs_fmpz_all_params_pretty(stdout, bs_param); - } - } - - free_bsolve_fmpz_all_params(bs_param); - return 0; - } - free(bs_param); - return 0; - } - - for(ulong i = 0; i <= degA + degB + 1; i++){ - fmpz_poly_clear(Array[i]); - } - free(Array); - free_flags(flags); - return 0; -} diff --git a/src/connectivity/src/resultant/out.txt b/src/connectivity/src/resultant/out.txt deleted file mode 100644 index ce01362..0000000 --- a/src/connectivity/src/resultant/out.txt +++ /dev/null @@ -1 +0,0 @@ -hello diff --git a/src/connectivity/src/resultant/ratreconstruct.c b/src/connectivity/src/resultant/ratreconstruct.c deleted file mode 100644 index bb0fb6f..0000000 --- a/src/connectivity/src/resultant/ratreconstruct.c +++ /dev/null @@ -1,176 +0,0 @@ -#define ROT(u,v,t) \ - do { fmpz _t = *u; *u = *v; *v = *t; *t = _t; } while (0); - -void myfmpz_CRT_ui(fmpz_t out, const fmpz_t r1, const fmpz_t m1, - ulong r2, ulong m2, int sign, fmpz_t *m1m2) -{ - mp_limb_t c; - // fmpz_t m1m2; - - c = fmpz_fdiv_ui(m1, m2); - c = n_invmod(c, m2); - - if (c == 0) - { - flint_printf("Exception (fmpz_CRT_ui). m1 not invertible modulo m2.\n"); - flint_abort(); - } - - // fmpz_init(m1m2); - fmpz_mul_ui(m1m2[0], m1, m2); - - _fmpz_CRT_ui_precomp(out, r1, m1, r2, m2, n_preinvert_limb(m2), - m1m2[0], c, sign); - - // fmpz_clear(m1m2); -} - -int -_myfmpq_reconstruct_fmpz_2(fmpz_t n, fmpz_t d, - const fmpz_t a, const fmpz_t m, const fmpz_t N, const fmpz_t D) -{ - fmpz_t q, r, s, t; - int success = 0; - - /* Quickly identify small integers */ - if (fmpz_cmp(a, N) <= 0) - { - fmpz_set(n, a); - fmpz_one(d); - return 1; - } - fmpz_sub(n, a, m); - if(fmpz_cmp_ui(n, 0)>=0){ - if(fmpz_cmp(n, N) <= 0){ - fmpz_one(d); - return 1; - } - } - else{ - fmpz_neg(n, n); - if(fmpz_cmp(n, N) <= 0){ - fmpz_one(d); - fmpz_neg(n, n); - return 1; - } - } - /* if (fmpz_cmpabs(n, N) <= 0) */ - /* { */ - /* fmpz_one(d); */ - /* fprintf(stderr, "ici?\n"); */ - /* return 1; */ - /* } */ - - fmpz_init(q); - fmpz_init(r); - fmpz_init(s); - fmpz_init(t); - - fmpz_set(r, m); fmpz_zero(s); - fmpz_set(n, a); fmpz_one(d); - - while (fmpz_cmpabs(n, N) > 0) - { - fmpz_fdiv_q(q, r, n); - fmpz_mul(t, q, n); fmpz_sub(t, r, t); ROT(r, n, t); - fmpz_mul(t, q, d); fmpz_sub(t, s, t); ROT(s, d, t); - } - - if (fmpz_sgn(d) < 0) - { - fmpz_neg(n, n); - fmpz_neg(d, d); - } - - if (fmpz_cmp(d, D) <= 0) - { - fmpz_gcd(t, n, d); - success = fmpz_is_one(t); - } - - fmpz_clear(q); - fmpz_clear(r); - fmpz_clear(s); - fmpz_clear(t); - return success; -} - -int -myfmpq_reconstruct_fmpz_2(fmpq_t res, const fmpz_t a, const fmpz_t m, - const fmpz_t N, const fmpz_t D) -{ - return _myfmpq_reconstruct_fmpz_2(fmpq_numref(res), - fmpq_denref(res), a, m, N, D); -} - -int -_myfmpq_reconstruct_fmpz(fmpz_t n, fmpz_t d, - const fmpz_t a, const fmpz_t m) -{ - fmpz_t N; - int result; - - fmpz_init(N); - fmpz_fdiv_q_2exp(N, m, 1); - fmpz_sqrt(N, N); - result = _myfmpq_reconstruct_fmpz_2(n, d, a, m, N, N); - fmpz_clear(N); - - return result; -} - -int -myfmpq_reconstruct_fmpz(mpz_rat_t *res, fmpz_t a, const fmpz_t m) -{ - if(fmpz_cmp_ui(a, 0)>=0){ - return _myfmpq_reconstruct_fmpz(res->numer, - res->denom, a, m); - } - else{ - while(fmpz_cmp_ui(a, 0) < 0){ - // fmpz_fprint(stderr, a); fprintf(stderr, "\n"); - fmpz_add(a, a, m); - } - int b = _myfmpq_reconstruct_fmpz(res->numer, - res->denom, a, m); - return b; - } -} - -/* returns 0 if the rational reconstruction failed */ -int rat_recon(fmpz_poly_t poly, fmpz_poly_t poly_num, fmpz_poly_t poly_den, fmpz_t lcm, - data_heap_t *heap, ulong deg, ulong *rec_poly){ - fprintf(stderr, "[%lu, %lu] ", (*rec_poly), deg); - ulong size = heap->size_mod_array; - fmpz_mul_ui(heap->h_prod, heap->prod_primes[size-1], heap->primes_array[size-1]); - int b = myfmpq_reconstruct_fmpz(heap->coef, poly->coeffs+(*rec_poly), heap->h_prod); - fmpz_lcm(lcm, lcm, heap->coef->denom); - fmpz_set(poly_num->coeffs + (*rec_poly), heap->coef->numer); - fmpz_set(poly_den->coeffs + (*rec_poly), heap->coef->denom); - if(b==0){ - (*rec_poly) = 0; - fmpz_one(lcm); - fprintf(stderr, "--> [%lu, %lu]\n", (*rec_poly), deg); - return b; - } - for(ulong i = (*rec_poly) + 1; i <= deg; i++){ - b = myfmpq_reconstruct_fmpz(heap->coef, poly->coeffs+i, heap->h_prod); - if(b == 0){ - (*rec_poly) = i-1; - fprintf(stderr, "--> [%lu, %lu]\n", (*rec_poly), deg); - return b; - } - fmpz_lcm(lcm, lcm, heap->coef->denom); - fmpz_set(poly_num->coeffs + i, heap->coef->numer); - fmpz_set(poly_den->coeffs + i, heap->coef->denom); - } - (*rec_poly) = deg; - for(ulong i = 0; i <= deg; i++){ - fmpz_divexact(heap->coef->numer, lcm, poly_den->coeffs + i); - fmpz_mul(poly_num->coeffs + i, poly_num->coeffs + i, heap->coef->numer); - } - fprintf(stderr, "--> [%lu, %lu]\n", (*rec_poly), deg); - return b; -} - - diff --git a/src/connectivity/src/usolve/usolve b/src/connectivity/src/usolve/usolve deleted file mode 100755 index e72d6fca0e5a16eb2d97642ed6871a346a615803..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2969640 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%0DnDP%Qu)!U{D{u=VoP<5mwzM^f8Fu` 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%0A>GmTh>an?HdMB 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 z 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

}f|S`~&ZP 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�FUTjP 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ξvTgtvg|AJAuy5C^H{F0>LiTP*3 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

CTAC+|}GOvBAyKTMtfs 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‎Q=27oUq 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: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

jxtpij}#!qk*ZUTmwFF$RgCm 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�_~mESmX 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∈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 x -> split(x, ": ")[end] * "s") - #elseif v == 2 - # println(stderr(out)) - #end - Ls = usolve_out_to_tuple(fname2) - Is = tuple_to_inter(Ls) - if output == "inter" - return Is - else - ff = open(fname2, "r") - return Ls, Is - end -end - - -#using Nemo -#R, (x,y) = polynomial_ring(ZZ, [:x,:y]) -#f = x^2+5*x-4 diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index 3a0c8cc..f2d7515 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -35,7 +35,7 @@ function trimat_rand(A, n; up=true, range=-100:100) end function int_coeffs(F::Vector{P} where P <: Union{QQMPolyRingElem, QQPolyRingElem}) - CD = [ lcm(map(denominator, collect(coefficients(f)))) for f in F ] + CD = [ iszero(f) ? f : lcm(map(denominator, collect(coefficients(f)))) for f in F ] return (F .* CD) end From 5e5af35bf884005a4ffe594fc2644480a11b60cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Thu, 9 Apr 2026 17:34:43 +0200 Subject: [PATCH 135/180] optimize subresultant for finite field --- Manifest.toml | 45 ++++++++++++++++-- Project.toml | 2 + src/connectivity/subresultants.jl | 76 +++++++++++++++++++++++-------- src/exports.jl | 2 +- 4 files changed, 102 insertions(+), 23 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index b99aa50..0c5efb6 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.12.5" manifest_format = "2.0" -project_hash = "2c4a2b32eac43961eadb14cefb3546541a48cf2b" +project_hash = "df55572e31ee2a4a5a0c44bb96cd0c13ec9af668" [[deps.AbstractAlgebra]] deps = ["LinearAlgebra", "MacroTools", "PrecompileTools", "Preferences", "Random", "RandomExtensions", "SparseArrays"] @@ -15,7 +15,7 @@ weakdeps = ["Test"] TestExt = "Test" [[deps.AlgebraicSolving]] -deps = ["Colors", "LinearAlgebra", "Logging", "Markdown", "Nemo", "Primes", "Printf", "Random", "StaticArrays", "msolve_jll"] +deps = ["Colors", "LinearAlgebra", "Logging", "Markdown", "Nemo", "Plots", "Primes", "Printf", "Random", "StaticArrays", "msolve_jll"] path = "." uuid = "66b61cbe-0446-4d5d-9090-1ff510639f9d" version = "0.10.4" @@ -38,6 +38,12 @@ version = "1.11.0" uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" version = "1.11.0" +[[deps.BenchmarkTools]] +deps = ["Compat", "JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] +git-tree-sha1 = "6876e30dc02dc69f0613cb6ece242144f2ca9e56" +uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +version = "1.7.0" + [[deps.BitFlags]] git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" @@ -95,6 +101,16 @@ git-tree-sha1 = "37ea44092930b1811e666c3bc38065d7d87fcc74" uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" version = "0.13.1" +[[deps.Compat]] +deps = ["TOML", "UUIDs"] +git-tree-sha1 = "9d8a54ce4b17aa5bdce0ea5c34bc5e7c340d16ad" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.18.1" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" + [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" @@ -174,7 +190,7 @@ uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" version = "0.4.5" [[deps.FFMPEG_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libva_jll", "libvorbis_jll", "x264_jll", "x265_jll"] git-tree-sha1 = "01ba9d15e9eae375dc1eb9589df76b3572acd3f2" uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" version = "8.0.1+0" @@ -674,6 +690,11 @@ deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" version = "1.11.0" +[[deps.Profile]] +deps = ["StyledStrings"] +uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" +version = "1.11.0" + [[deps.PtrArrays]] git-tree-sha1 = "4fbbafbc6251b883f4d2705356f3641f3652a7fe" uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" @@ -1023,6 +1044,12 @@ git-tree-sha1 = "7ed9347888fac59a618302ee38216dd0379c480d" uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" version = "0.9.12+0" +[[deps.Xorg_libpciaccess_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "4909eb8f1cbf6bd4b1c30dd18b2ead9019ef2fad" +uuid = "a65dc6b1-eb27-53a1-bb3e-dea574b5389e" +version = "0.18.1+0" + [[deps.Xorg_libxcb_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXau_jll", "Xorg_libXdmcp_jll"] git-tree-sha1 = "bfcaf7ec088eaba362093393fe11aa141fa15422" @@ -1135,6 +1162,12 @@ git-tree-sha1 = "9bf7903af251d2050b467f76bdbe57ce541f7f4f" uuid = "1183f4f0-6f2a-5f1a-908b-139f9cdfea6f" version = "0.2.2+0" +[[deps.libdrm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libpciaccess_jll"] +git-tree-sha1 = "63aac0bcb0b582e11bad965cef4a689905456c03" +uuid = "8e53e030-5e6c-5a89-a30b-be5b7263a166" +version = "2.4.125+1" + [[deps.libevdev_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] git-tree-sha1 = "56d643b57b188d30cccc25e331d416d3d358e557" @@ -1159,6 +1192,12 @@ git-tree-sha1 = "e015f211ebb898c8180887012b938f3851e719ac" uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" version = "1.6.55+0" +[[deps.libva_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "libdrm_jll"] +git-tree-sha1 = "7dbf96baae3310fe2fa0df0ccbb3c6288d5816c9" +uuid = "9a156e7d-b971-5f62-b2c9-67348b8fb97c" +version = "2.23.0+0" + [[deps.libvorbis_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll"] git-tree-sha1 = "11e1772e7f3cc987e9d3de991dd4f6b2602663a5" diff --git a/Project.toml b/Project.toml index 9f7e4dd..1b1790c 100644 --- a/Project.toml +++ b/Project.toml @@ -4,6 +4,7 @@ version = "0.10.4" authors = ["ederc ", "Mohab Safey El Din ", "RĂ©mi Prebet "] [deps] +BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" @@ -17,6 +18,7 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" msolve_jll = "6d01cc9a-e8f6-580e-8c54-544227e08205" [compat] +BenchmarkTools = "1.7.0" LinearAlgebra = "1.6" Logging = "1.6" Markdown = "1.6" diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index 046286d..f307ff5 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -69,59 +69,96 @@ function array_to_poly(LP, A) return finish(C) end -# Univariate resultant +""" + subresultants(P, Q) +Compute the subresultant polynomial remainder sequence (PRS) of two univariate polynomials. + +Returns a vector `[S0, S1, ..., Sk]` where: +- S0 = Q (after possible swap) +- each Si is a subresultant +- sequence ends when remainder becomes zero or constant +""" + function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingElement + return _subresultants(P, Q, false) +end + +function subresultants(P::FqPolyRingElem, Q::FqPolyRingElem) + return _subresultants(P, Q, true) +end + +function _subresultants(P::Union{PolyRingElem{T}, FqPolyRingElem}, Q::Union{PolyRingElem{T}, FqPolyRingElem}, Fq::Bool) where T <: RingElement + + # Ensure deg(P) >= deg(Q) if degree(P) < degree(Q) P, Q = Q, P end - S = [Q] - s = leading_coefficient(Q)^(degree(P)-degree(Q)) + + S = Vector{typeof(Q)}() + push!(S, Q) + + # Initial scaling factor (controls normalization of pseudo-remainders) + s = leading_coefficient(Q)^(degree(P) - degree(Q)) + + # rem is faster when working with finite fields (relies on FLINT) A = Q - B = pseudorem(P,-Q) - ring = parent(P) + B = Fq ? (-leading_coefficient(Q))^(degree(P) - degree(Q) + 1) * rem(P, Q) : pseudorem(P, -Q) + while true d = degree(A) e = degree(B) - #println("($d,$e)") + # Termination: exact division reached if iszero(B) return S end - pushfirst!(S, copy(B)) - delta = d - e + pushfirst!(S, B) # prepend current remainder + delta = d - e # degree drop + # --- Compute normalization factor C --- if delta > 1 if length(S) > 1 + # Use previous subresultants to stabilize scaling n = degree(S[2]) - degree(S[1]) - 1 if n == 0 - C = copy(S[1]) + C = S[1] else x = leading_coefficient(S[1]) y = leading_coefficient(S[2]) + + # fast exponentiation (binary powering) a = 1 << (length(bits(ZZ(n))) - 1) c = x - n = n - a + n -= a while a > 1 - a /= 2 + a >>= 1 c = c^2 / y if n >= a c = c * x / y - n = n - a + n -= a end end + C = c * S[1] / y end else - C = leading_coefficient(B)^(delta-1) * B / s^(delta-1) + # First step: fallback normalization + C = leading_coefficient(B)^(delta - 1) * B / s^(delta - 1) end - pushfirst!(S, copy(C)) + pushfirst!(S, C) else - C = copy(B) + C = B end + + # Termination: constant polynomial if e == 0 return S end - #@time - B = pseudorem(A,-B) / (s^delta * leading_coefficient(A)) - A = copy(C) + + # --- Next pseudo-remainder --- + B = Fq ? (-leading_coefficient(B))^(d - e + 1)* rem(A, B) : pseudorem(A, -B) + B /= (s^delta * leading_coefficient(A)) + + # Shift sequence + A = C s = leading_coefficient(A) end end @@ -568,4 +605,5 @@ end return filter(p->length(p[2][1])>0, param_crit) end -param_crit_split(f; v=1) = param_crit_split(f, zero(parent(f)), v=v, detect_app=false) \ No newline at end of file +param_crit_split(f; v=1) = param_crit_split(f, zero(parent(f)), v=v, detect_app=false) + diff --git a/src/exports.jl b/src/exports.jl index ce4142a..9764da9 100644 --- a/src/exports.jl +++ b/src/exports.jl @@ -6,4 +6,4 @@ export polynomial_ring, MPolyRing, GFElem, MPolyRingElem, equidimensional_decomposition, homogenize, dimension, FqMPolyRingElem, hilbert_series, hilbert_dimension, hilbert_degree, hilbert_polynomial, rational_curve_parametrization, roadmap, computepolar, all_eqs, - all_base_pts, nb_nodes + all_base_pts, nb_nodes, subresultants \ No newline at end of file From bb5ab5d8d57cf3c88fa9d09ec4d02f3dd6cf8e0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Fri, 10 Apr 2026 11:02:59 +0200 Subject: [PATCH 136/180] start cleaning auxiliary functions --- src/connectivity/arbtools.jl | 2 +- src/connectivity/boxes.jl | 94 +++++++++++++++--------------------- src/connectivity/isolate.jl | 17 ++----- src/exports.jl | 2 +- 4 files changed, 47 insertions(+), 68 deletions(-) diff --git a/src/connectivity/arbtools.jl b/src/connectivity/arbtools.jl index 9f176cf..c7ab533 100644 --- a/src/connectivity/arbtools.jl +++ b/src/connectivity/arbtools.jl @@ -16,7 +16,7 @@ end Convert rational interval (x1, x2) to Arb ball. """ -function rat_to_arb(interval, field::ArbField) +function rat_to_arb(interval::Vector{QQFieldElem}, field::ArbField) x1, x2 = interval @assert x1 <= x2 "Invalid interval: x1 > x2" diff --git a/src/connectivity/boxes.jl b/src/connectivity/boxes.jl index 11d9713..36eca89 100644 --- a/src/connectivity/boxes.jl +++ b/src/connectivity/boxes.jl @@ -1,63 +1,49 @@ -function in_inter(I, J) - return J[1] <= I[1] && I[2] <= J[2] -end +in_inter(I, J) = J[1] <= I[1] && I[2] <= J[2] +overlap_inter(I,J) = max(I[1], J[1]) <= min(I[2], J[2]) -function overlap_inter(I,J) - return max(I[1], J[1]) <= min(I[2], J[2]) -end +# Helper function to process a single edge of the box +function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v; max_retries=5) + prec = initial_prec -# To try/do : isolate with usolve, call msolve with only one variable -function intersect_box(f, B; prec=100, v=0) - L = Array{Any}(undef, 4) - for i in 1:2 - # Lxi - L[i] = Array{Any}(undef,2) - compt = 0 - while compt < 5 - flag = false - L[i][1] = isolate_eval(f, 2, B[2][i], prec=prec) - L[i][2] = [] - for (j, l) in pairs(L[i][1]) - if in_inter(l, B[1]) - push!(L[i][2], j) - elseif overlap_inter(l, B[1]) - prec *= 2 - v > 0 && println("Increase precision to ", prec) - flag = true - compt += 1 - break - end - end - flag || break - end - if compt >= 5 - error("Problem when isolating on one side of a box") - end - # Lyi - L[i+2] = Array{Any}(undef,2) - compt = 0 - while compt < 5 - flag = false - L[i+2][1] = isolate_eval(f, 1, B[1][i], prec=prec) - L[i+2][2] = [] - for (j, l) in pairs(L[i+2][1]) - if in_inter(l, B[2]) - push!(L[i+2][2], j) - elseif overlap_inter(l, B[2]) - prec *= 2 - v > 0 && println("Increase precision to ", prec) - flag = true - compt += 1 - break - end + for _ in 1:max_retries + roots = isolate_eval(f, fixed_dim, fixed_val, prec=prec) + valid_indices = Int[] + overlap_found = false + + for (j, l) in pairs(roots) + if in_inter(l, target_interval) + push!(valid_indices, j) + elseif overlap_inter(l, target_interval) + prec *= 2 + v > 0 && println("Increase precision to ", prec) + overlap_found = true + break # Break inner for-loop to restart with higher precision end - flag || break end - if compt >= 5 - error("Problem when isolating on one side of a box") + + # If we successfully processed all roots without overlap, return the results + if !overlap_found + return (roots, valid_indices) end end - return L + + error("Problem when isolating on one side of a box after $max_retries attempts") +end + + +function intersect_box(f, B; prec=100, v=0) + # B[1] represents x-bounds, B[2] represents y-bounds + + # Evaluate horizontal edges (fix y to B[2][1] and B[2][2], target x-interval B[1]) + edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v) + edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v) + + # Evaluate vertical edges (fix x to B[1][1] and B[1][2], target y-interval B[2]) + edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v) + edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v) + + # Return as a typed array of Tuples + return [edge_y1, edge_y2, edge_x1, edge_x2] end function refine_xboxes(f::T where T<:Union{PolyRingElem, MPolyRingElem}, LB, prec) diff --git a/src/connectivity/isolate.jl b/src/connectivity/isolate.jl index f292456..f9209be 100644 --- a/src/connectivity/isolate.jl +++ b/src/connectivity/isolate.jl @@ -1,10 +1,8 @@ function isolate(f; prec = 32) - #println(f) - # Univariate isolation using usolve - if total_degree(f) == 0 - return [] - end + # Univariate isolation with msolve + total_degree(f) == 0 && return [] @assert is_univariate(f) "Not univariate polynomial" + sols = real_solutions(Ideal([change_ringvar(f)]), precision=prec, interval=true, info_level=0) return getindex.(sols, 1) end @@ -12,12 +10,7 @@ end function isolate_eval(f, ivar, val; prec=64) # univariate isolation of roots of a bivariate polynomial f # whose ivar-th variable is evaluated at val - # uses msolve fev = change_ringvar(evaluate(f, [ivar], [val])) - CD = lcm(map(denominator, collect(coefficients(fev)))) - fev *= CD - - tmp = isolate(fev, prec=prec) - return tmp - + #fev *= fev |> coefficients .|> denominator |> lcm + return isolate(fev, prec=prec) end \ No newline at end of file diff --git a/src/exports.jl b/src/exports.jl index 9764da9..f1d3afa 100644 --- a/src/exports.jl +++ b/src/exports.jl @@ -6,4 +6,4 @@ export polynomial_ring, MPolyRing, GFElem, MPolyRingElem, equidimensional_decomposition, homogenize, dimension, FqMPolyRingElem, hilbert_series, hilbert_dimension, hilbert_degree, hilbert_polynomial, rational_curve_parametrization, roadmap, computepolar, all_eqs, - all_base_pts, nb_nodes, subresultants \ No newline at end of file + all_base_pts, nb_nodes, subresultants, change_ringvar \ No newline at end of file From 4e55cd6070a7b4d07f4234ab490ba75b01cb9ab5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Fri, 10 Apr 2026 15:39:27 +0200 Subject: [PATCH 137/180] continue cleaning, debug and code factoring --- src/connectivity/arbtools.jl | 29 ++---- src/connectivity/boxes.jl | 80 --------------- src/connectivity/connectcurves.jl | 85 +++++----------- src/connectivity/isolate.jl | 16 --- src/connectivity/isolateboxes.jl | 161 ++++++++++++++++++++++++++++++ src/connectivity/tools.jl | 5 +- 6 files changed, 201 insertions(+), 175 deletions(-) delete mode 100644 src/connectivity/boxes.jl delete mode 100644 src/connectivity/isolate.jl create mode 100644 src/connectivity/isolateboxes.jl diff --git a/src/connectivity/arbtools.jl b/src/connectivity/arbtools.jl index c7ab533..4f03aea 100644 --- a/src/connectivity/arbtools.jl +++ b/src/connectivity/arbtools.jl @@ -7,12 +7,12 @@ function arb_to_rat(x::ArbFieldElem) r = radius(x) lo = x - 2r hi = x + 2r - return (simplest_rational_inside(lo), simplest_rational_inside(hi)) + return Vector{QQFieldElem}([simplest_rational_inside(lo), simplest_rational_inside(hi)]) end """ - rat_to_arb(interval::Tuple, field::ArbField) -> ArbFieldElem + rat_to_arb(interval::Vector{QQFieldElem}, field::ArbField) -> ArbFieldElem Convert rational interval (x1, x2) to Arb ball. """ @@ -28,23 +28,12 @@ end """ - evaluate_arb(f, x::ArbFieldElem) - -Evaluate polynomial f at x using Arb arithmetic. -""" -function evaluate_arb(f, x::ArbFieldElem) - is_zero(f) && return zero(parent(x)) - cf = coefficients_of_univariate(f) - return evalpoly(x, cf) -end - - -""" - evaluate_arb(f, g, x::ArbFieldElem) + evaluate_arb(f, g, x::Vector{QQFieldElem}) Evaluate rational function f/g at x. +Return a rational interval enclosing the result, computed using Arb. """ -function evaluate_arb(f, g, x::ArbFieldElem) +function evaluate_arb(f, g, x::Vector{QQFieldElem}, field::ArbField) @assert !is_zero(g) "Denominator must be non-zero" is_zero(f) && return zero(parent(x)) @@ -52,10 +41,11 @@ function evaluate_arb(f, g, x::ArbFieldElem) cf = coefficients_of_univariate(f) cg = coefficients_of_univariate(g) - num = evalpoly(x, cf) - den = evalpoly(x, cg) + x_arb = rat_to_arb(x, field) + num = evalpoly(x_arb, cf) + den = evalpoly(x_arb, cg) - return num / den + return arb_to_rat(num / den) end @@ -63,6 +53,7 @@ end arb_eval(f, B::Vector{Tuple}, prec::Int) Evaluate polynomial f over interval box B. +Return an Arb ball containing the image of B by f. """ function arb_eval(f, B::Vector{Tuple}, field::ArbField) BA = Vector{ArbFieldElem}(undef, length(B)) diff --git a/src/connectivity/boxes.jl b/src/connectivity/boxes.jl deleted file mode 100644 index 36eca89..0000000 --- a/src/connectivity/boxes.jl +++ /dev/null @@ -1,80 +0,0 @@ -in_inter(I, J) = J[1] <= I[1] && I[2] <= J[2] -overlap_inter(I,J) = max(I[1], J[1]) <= min(I[2], J[2]) - -# Helper function to process a single edge of the box -function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v; max_retries=5) - prec = initial_prec - - for _ in 1:max_retries - roots = isolate_eval(f, fixed_dim, fixed_val, prec=prec) - valid_indices = Int[] - overlap_found = false - - for (j, l) in pairs(roots) - if in_inter(l, target_interval) - push!(valid_indices, j) - elseif overlap_inter(l, target_interval) - prec *= 2 - v > 0 && println("Increase precision to ", prec) - overlap_found = true - break # Break inner for-loop to restart with higher precision - end - end - - # If we successfully processed all roots without overlap, return the results - if !overlap_found - return (roots, valid_indices) - end - end - - error("Problem when isolating on one side of a box after $max_retries attempts") -end - - -function intersect_box(f, B; prec=100, v=0) - # B[1] represents x-bounds, B[2] represents y-bounds - - # Evaluate horizontal edges (fix y to B[2][1] and B[2][2], target x-interval B[1]) - edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v) - edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v) - - # Evaluate vertical edges (fix x to B[1][1] and B[1][2], target y-interval B[2]) - edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v) - edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v) - - # Return as a typed array of Tuples - return [edge_y1, edge_y2, edge_x1, edge_x2] -end - -function refine_xboxes(f::T where T<:Union{PolyRingElem, MPolyRingElem}, LB, prec) - # Refine LB along first axis, being roots of f - xnew = isolate(f, prec=prec) - for i in eachindex(xnew) - if xnew[i][1]==xnew[i][2] - xnew[i] = [xnew[i][1]-1//ZZ(1)< 1 && println(f) + precx = precx <= 1 ? 2 : precx v > 0 && println("Compute parametrization of critical pts...") @iftime (v > 0) params = param_crit_split(f,g,v=v-1, detect_app=true) @@ -34,51 +34,12 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen params[-i] = [ [C[i][1] |> intC], C[i][2], C[i][3] ] end - compt = 0 - xcrit, xcritpermut, LBcrit = Dict(), Dict(), Dict() - while compt < 5 - try - # TODO : check that no overlap between different isolations - v > 0 && println("\nIsolating critical values with precision ", precx,"..") - @iftime (v > 0) begin - xcrit = Dict(p[1]=> reduce(vcat, [isolate(pp, prec=precx) for pp in p[2][1]]) for p in params) - # Enlarge exact isolating root intervals - for i in eachindex(xcrit) - for j in eachindex(xcrit[i]) - if xcrit[i][j][1]==xcrit[i][j][2] - xcrit[i][j] = [xcrit[i][j][1]-1//ZZ(1)< 0 && println("Computing isolating critical boxes") + LBcrit = Dict() + @iftime (v > 0) xcritpermut, precx = compute_crit_boxes(params, LBcrit, precx, v) + xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in eachindex(LBcrit)) - v > 0 && println("\nComputing isolating critical boxes using Arb with precision ",precx,"..") - @iftime (v > 0) begin - arbField = ArbField(precx) - Pcrit = Dict( i => [[xc, evaluate_arb(params[i][2], params[i][3], rat_to_arb(xc, arbField))] for xc in xcrit[i]] for i in eachindex(xcrit)) - LBcrit = Dict( i=> [[ map(QQ, pc[1]), map(QQ, arb_to_rat(pc[2])) ] for pc in pcrit] for (i, pcrit) in Pcrit) - # Enlarge exact isolating box vertical side (horizontal lines) - for i in eachindex(LBcrit) - for j in eachindex(LBcrit[i]) - if LBcrit[i][j][2][1]==LBcrit[i][j][2][2] - LBcrit[i][j][2] = [LBcrit[i][j][2][1]-1//ZZ(2)< 0 && println("\nRefine x-precision to $precx") - compt += 1 - else - break - end - end - # TODO: limite du compteur pertinent ? - if compt >= 5 - error("Problem in isolating critical boxes") - end + # println("LBcrit: ", LBcrit) v > 0 && println("\nTest for identifying singular boxes") @iftime (v > 0) begin @@ -88,28 +49,35 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen arbField = ArbField(precx) Lfyk = diff_list(f, 2, max(maximum(eachindex(LBcrit)),2)) for ind in eachindex(LBcrit) - (ind < 0 && ind == 1) && continue # extreme and control pts - m = ind==0 ? 2 : ind # nodes have mult 2 - while true - flag = false + ind < 0 && continue # control pts + m = ind <= 1 ? 2 : ind # nodes and extrems have mult 2 + noisolate = false + for _ in 1:5 + noisolate = false for j in eachindex(LBcrit[ind]) pcrit = [ rat_to_arb(c, arbField) for c in LBcrit[ind][j] ] # Check if the the mult(pcrit)-th derivative of f vanishes on pcrit if contains_zero(evaluate(Lfyk[m+1], pcrit)) - (v > 0) && println("Refine singular boxes of multiplicity ", m) - # TODO refine_boxes(params[k], LBcrit[k]) - #flag = true + # TODO refine only boxes associated to multiplicity m + precx *= 2 + (v > 0) && println("Refine singular boxes of index $ind to $precx bits precision") + xcritpermut, precx = compute_crit_boxes(params, LBcrit, precx, v-1) + xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in eachindex(LBcrit)) + noisolate = true break end end - flag || break + noisolate || break + end + if noisolate + error("Problem in singular boxes refinement") end end end v > 0 && println("\nCompute intersections with critical boxes..") @iftime (v > 0) begin - ## TODO : Refine only the intervals that need to be refined? + ## TODO : Refine only the intervals that need to be refined? only the factor that defines the intervals LPCside = Dict{Int,Any}() ndig = maximum([ndigits(length(LBcrit[i])) for i in eachindex(LBcrit)]) for i in eachindex(LBcrit) @@ -122,14 +90,15 @@ end compt = 0 while compt < 5 flag = false + # println(LBcrit[i]) for j in eachindex(LBcrit[i]) v > 0 && print("$Ptype=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp,v=v) npcside = [length(n) for (I, n) in pcside] - #println("($i, $j): $npcside") + # println("($i, $j): $npcside") if (i == 1 && sum(npcside) > 2) || (i != 1 && sum(npcside[1:2]) != 0) precxtmp *= 2 - v > 0 && println("\nRefine boxes along x-axis to precision ", precxtmp) + v > 0 && println("\nRefine boxes along x-axis to $precxtmp bits precision") refine_xboxes(params[i][1], LBcrit[i], precxtmp) flag = true compt += 1 diff --git a/src/connectivity/isolate.jl b/src/connectivity/isolate.jl deleted file mode 100644 index f9209be..0000000 --- a/src/connectivity/isolate.jl +++ /dev/null @@ -1,16 +0,0 @@ -function isolate(f; prec = 32) - # Univariate isolation with msolve - total_degree(f) == 0 && return [] - @assert is_univariate(f) "Not univariate polynomial" - - sols = real_solutions(Ideal([change_ringvar(f)]), precision=prec, interval=true, info_level=0) - return getindex.(sols, 1) -end - -function isolate_eval(f, ivar, val; prec=64) - # univariate isolation of roots of a bivariate polynomial f - # whose ivar-th variable is evaluated at val - fev = change_ringvar(evaluate(f, [ivar], [val])) - #fev *= fev |> coefficients .|> denominator |> lcm - return isolate(fev, prec=prec) -end \ No newline at end of file diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl new file mode 100644 index 0000000..3c6525a --- /dev/null +++ b/src/connectivity/isolateboxes.jl @@ -0,0 +1,161 @@ +in_inter(I, J) = J[1] <= I[1] && I[2] <= J[2] +overlap_inter(I,J) = max(I[1], J[1]) <= min(I[2], J[2]) + + # Function that isolate roots of a multivariate polynomial with a + # single variable +function isolate(f; prec = 32) + total_degree(f) == 0 && return [] + @assert is_univariate(f) "Not univariate polynomial" + + sols = real_solutions(Ideal([change_ringvar(f)]), precision=prec, interval=true, info_level=0) + return getindex.(sols, 1) +end + +# univariate isolation of roots of a bivariate polynomial f whose +# ivar-th variable is evaluated at val +function isolate_eval(f, ivar, val; prec=64) + fev = change_ringvar(evaluate(f, [ivar], [val])) + # fev *= fev |> coefficients .|> denominator |> lcm + return isolate(fev, prec=prec) +end + +""" + _expand_degenerate_intervals!(xnew, prec) + +Expand intervals where lower == upper to avoid zero-width boxes. +""" +function _expand_degenerate_intervals!(xnew, prec) + d = 1 // (ZZ(1) << prec) + for i in eachindex(xnew) + if xnew[i][1] == xnew[i][2] + x = xnew[i][1] + xnew[i] = [x - d, x + d] + end + end + return xnew +end + +# TODO: add the singularity check here, probably just by calling a function +# make sure we refine only the boxes that need to be refined +function compute_crit_boxes(params, LBcrit, precx, v, max_attempts=5) + compt = 0 + xcrit = Dict() + while compt <= max_attempts + try + v > 0 && compt > 0 && println("ComputeBoxes: refine x-precision to $precx bits") + # TODO : check that no overlap between different isolations + xcrit = Dict(i=> reduce(vcat, [isolate(pp, prec=precx) for pp in p[1]]) for (i, p) in params) + # Enlarge exact isolating root intervals + for xvals in values(xcrit) + _expand_degenerate_intervals!(xvals, precx) + end + arbField = ArbField(precx) + for i in keys(xcrit) + xvals = xcrit[i] + ycrit = [ + evaluate_arb(params[i][2], params[i][3], xc, arbField) + for xc in xvals + ] + _expand_degenerate_intervals!(ycrit, precx) + @inbounds LBcrit[i] = [ + [xvals[j], ycrit[j]] for j in eachindex(ycrit) + ] + end + catch e + precx *= 2 + v > 1 && println("Error in isolating critical boxes: ", e) + compt += 1 + else + break + end + end + # TODO: is that a relevant upper bound? + if compt > max_attempts + error("Problem in isolating critical boxes") + end + + return (order_permut2d(xcrit), precx) +end + +# Helper function to process a single edge of the box +function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v; max_retries=5) + prec = initial_prec + + for _ in 1:max_retries + roots = isolate_eval(f, fixed_dim, fixed_val, prec=prec) + valid_indices = Int[] + overlap_found = false + + for (j, l) in pairs(roots) + if in_inter(l, target_interval) + push!(valid_indices, j) + elseif overlap_inter(l, target_interval) + prec *= 2 + v > 0 && println("IntersectBox: increase precision to $prec bits") + overlap_found = true + break # Break inner for-loop to restart with higher precision + end + end + + # If we successfully processed all roots without overlap, return the results + if !overlap_found + return (roots, valid_indices) + end + end + + error("Problem when isolating on one side of a box after $max_retries attempts") +end + +# Function that computes the intersection of a curve with a box by isolating roots on the edges +function intersect_box(f, B; prec=100, v=0) + # B[1] represents x-bounds, B[2] represents y-bounds + + # Evaluate horizontal edges (fix y to B[2][1] and B[2][2], target x-interval B[1]) + edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v) + edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v) + + # Evaluate vertical edges (fix x to B[1][1] and B[1][2], target y-interval B[2]) + edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v) + edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v) + + # Return as a typed array of Tuples + return [edge_y1, edge_y2, edge_x1, edge_x2] +end + + +""" + _update_LB_first_axis!(LB, xnew) + +Replace first coordinate of each box in LB with corresponding xnew interval. +""" +function _update_LB_first_axis!(LB, xnew) + @inbounds for i in eachindex(LB) + LB[i][1] = xnew[i] + end + return LB +end + +""" + refine_xboxes(f, LB, prec) + +Refine LB along first axis using roots of polynomials in F +The order in F is assumed to match the one in LB +""" +function refine_xboxes(F::Vector{T} where T<:Union{PolyRingElem, MPolyRingElem}, LB, prec) + # Concatenate all roots from isolating each polynomial in F + xnew = reduce(vcat, [isolate(f, prec=prec) for f in F]) + + _expand_degenerate_intervals!(xnew, prec) + return _update_LB_first_axis!(LB, xnew) +end + +""" + refine_ith_xboxes(f, LB, i, prec) + +Refine only the i-th box along first axis using i-th root of f. +""" +function refine_ith_xboxes(f, LB, i, prec) + xnew = isolate(f, prec=prec) + @inbounds LB[i] = [xnew[i], LB[i][2]] + return LB +end \ No newline at end of file diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index f2d7515..4c69d3f 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -19,9 +19,10 @@ function diff(p, v, n) end function diff_list(p, v, n) - Ldp = [p] + Ldp = Vector{typeof(p)}(undef, n+1) + Ldp[1] = p for j in 1:n - push!(Ldp, derivative(Ldp[end], v)) + Ldp[j+1] = derivative(Ldp[j], v) end return Ldp end From 7e66f6c9e94d4fae03d398a272a703299ac8fb27 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 13 Apr 2026 13:02:55 +0200 Subject: [PATCH 138/180] improve and factor build poly --- src/connectivity/arbtools.jl | 2 +- src/connectivity/buildpoly.jl | 212 +++++++++++++----------------- src/connectivity/subresultants.jl | 15 ++- 3 files changed, 104 insertions(+), 125 deletions(-) diff --git a/src/connectivity/arbtools.jl b/src/connectivity/arbtools.jl index 4f03aea..3134133 100644 --- a/src/connectivity/arbtools.jl +++ b/src/connectivity/arbtools.jl @@ -7,7 +7,7 @@ function arb_to_rat(x::ArbFieldElem) r = radius(x) lo = x - 2r hi = x + 2r - return Vector{QQFieldElem}([simplest_rational_inside(lo), simplest_rational_inside(hi)]) + return [simplest_rational_inside(lo), simplest_rational_inside(hi)] end diff --git a/src/connectivity/buildpoly.jl b/src/connectivity/buildpoly.jl index ae668c6..9fa8b42 100644 --- a/src/connectivity/buildpoly.jl +++ b/src/connectivity/buildpoly.jl @@ -1,140 +1,116 @@ -# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables -function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} - R = parent(first(F)) - # Locate variables of R in newvarias - to_varias = Vector{Int}(undef,0) - for v in newvarias_S - ind = findfirst(x->x==v, R.S) - push!(to_varias, typeof(ind)==Nothing ? length(R.S)+1 : ind) - end - - ind_novarias = setdiff(eachindex(R.S), to_varias) - newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) +""" + change_ringvar(F, new_S::Vector{Symbol}) - res = typeof(first(F))[] - ctx = MPolyBuildCtx(newR) +Inject polynomial(s) into a new multivariate polynomial ring defined by `new_S`. +Uses the direct ring constructor `R(coeffs, exps)` to automatically handle +monomial ordering, coalescing, and zero-term removal. +""" +function change_ringvar(F::AbstractVector{<:Union{PolyRingElem, MPolyRingElem}}, new_S::Vector{Symbol}) + isempty(F) && return typeof(first(F))[] - for f in F - for (e, c) in zip(exponent_vectors(f), coefficients(f)) - @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") - push!(e, 0) - push_term!(ctx, c, [e[i] for i in to_varias ]) - end - push!(res, finish(ctx)) - end - - return res -end - -function change_ringvar(F::Vector{P}, newvarias_S::Vector{Symbol}) where {P <: PolyRingElem} R = parent(first(F)) - to_varias = [ v==R.S ? 1 : 2 for v in newvarias_S] - newR, = polynomial_ring(base_ring(R), newvarias_S) - - res = typeof(zero(newR))[] - ctx = MPolyBuildCtx(newR) - - LcF = [ filter!(t->t[2]!=0, collect(enumerate(coefficients(f)))) for f in F ] - for f in LcF - for (ef, c) in f - e = [ef-1, 0] - push_term!(ctx, c, [e[i] for i in to_varias ]) + old_S = symbols(R) + newR, _ = polynomial_ring(base_ring(R), new_S) + + # Pre-calculate index mapping: old_index -> new_index (0 if removed) + idx_map = [isnothing(idx) ? 0 : idx for idx in (findfirst(==(v), new_S) for v in old_S)] + + T = typeof(zero(base_ring(R))) + n_vars = length(new_S) + + return map(F) do f + coeffs = T[] + exps = Vector{Int}[] + + if f isa MPolyRingElem + for (e, c) in zip(exponent_vectors(f), coefficients(f)) + e_new = zeros(Int, n_vars) + for (i, power) in enumerate(e) + if power > 0 + @assert idx_map[i] != 0 "Occurrence of removed variable '$(old_S[i])' found!" + e_new[idx_map[i]] = power + end + end + push!(coeffs, c) + push!(exps, e_new) + end + else # PolyRingElem + @assert idx_map[1] != 0 "Occurrence of removed variable '$(old_S[1])' found!" + for (deg_plus_1, c) in enumerate(coefficients(f)) + if !iszero(c) + e_new = zeros(Int, n_vars) + if deg_plus_1 > 1 + e_new[idx_map[1]] = deg_plus_1 + end + push!(coeffs, c) + push!(exps, e_new) + end + end end - push!(res, finish(ctx)) - end - - return res -end -function change_ringvar(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) - return first(change_ringvar([f], newvarias_S)) -end - -function change_ringvar(F::Vector{P}, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {P <: MPolyRingElem, I <: Int64} - R = parent(first(F)) - return change_ringvar(F, [R.S[i] for i in ind_newvarias]) -end - -function change_ringvar(f::MPolyRingElem, ind_newvarias::Union{Vector{I}, UnitRange{I}}) where {I <: Int64} - R = parent(f) - return first(change_ringvar([f], [R.S[i] for i in ind_newvarias])) -end - -# Return the polynomials in F, but injected in the polynomial ring with the variables occuring in F -function change_ringvar(F::Vector{P}) where {P <: MPolyRingElem} - union_varias = Set{Symbol}() - for f in F - union!(union_varias, map(Symbol, vars(f)) ) + # Create the new polynomial associated to f + return newR(coeffs, exps) end - return change_ringvar(F, collect(union_varias)) end -function change_ringvar(f::MPolyRingElem) - return first(change_ringvar([f])) -end +# Dispatch for a single polynomial +change_ringvar(f::Union{PolyRingElem, MPolyRingElem}, new_S::Vector{Symbol}) = change_ringvar([f], new_S)[1] -# Return the polynomials in F, but injected in the polynomial ring with newvarias_S as new variables -function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: MPolyRingElem} - R = parent(first(F)) - # Locate variables of R in newvarias - to_varias = Vector{Int}(undef,0) - for v in newvarias_S - ind = findfirst(x->x==v, oldvarias_S) - push!(to_varias, typeof(ind)==Nothing ? length(oldvarias_S)+1 : ind) - end +# Dispatch for variable indices instead of symbols +# change_ringvar(F::AbstractVector{<:MPolyRingElem}, ind::Union{AbstractVector{<:Integer}, UnitRange{<:Integer}}) = +# change_ringvar(F, [symbols(parent(first(F)))[i] for i in ind]) - ind_novarias = setdiff(eachindex(oldvarias_S), to_varias) - newR, newvarias = polynomial_ring(base_ring(R), newvarias_S) +# change_ringvar(f::MPolyRingElem, ind::Union{AbstractVector{<:Integer}, UnitRange{<:Integer}}) = +# change_ringvar([f], ind)[1] - res = typeof(first(F))[] - ctx = MPolyBuildCtx(newR) +# """ +# change_ringvar(F) - for f in F - for (e, c) in zip(exponent_vectors(f), coefficients(f)) - @assert(all([ e[i]==0 for i in ind_novarias ]), "Occurence of old variable.s found!") - push!(e, 0) - push_term!(ctx, c, [e[i] for i in to_varias ]) - end - push!(res, finish(ctx)) - end +# Automatically detect all unique variables present in the polynomials and inject them +# into a ring containing only those variables. +# """ +# function change_ringvar(F::AbstractVector{<:MPolyRingElem}) +# used_vars = unique(reduce(vcat, [Symbol.(vars(f)) for f in F])) +# return change_ringvar(F, used_vars) +# end - return res -end +# change_ringvar(f::MPolyRingElem) = change_ringvar([f])[1] -function change_ringvar_mod(F::Vector{P}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) where {P <: PolyRingElem} - R = parent(first(F)) - A, (x,) = polynomial_ring(base_ring(R), oldvarias_S) - return change_ringvar_mod([ evaluate(f, x) for f in F ], newvarias_S, oldvarias_S) -end -function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}, oldvarias_S::Vector{Symbol}) - return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) -end +""" + MPolyBuild(F::Vector{Vector{RingElem}}, new_S::Vector{Symbol}, idx::Int) -#function change_ringvar_mod(f::Union{MPolyRingElem, PolyRingElem}, newvarias_S::Vector{Symbol}) -# return first(change_ringvar_mod([f], newvarias_S, oldvarias_S)) -#end +Construct multivariate polynomials in a single variable. +`F` is a list of coefficient lists in degree-increasing order. +The polynomial will use the variable at index `idx` in `new_S`. +""" +function MPolyBuild(F::AbstractVector{<:AbstractVector{<:RingElement}}, new_S::Vector{Symbol}, idx::Int) + isempty(F) && return [] -function MPolyBuild(F::Vector{Vector{P}}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} A = parent(first(first(F))) - R, = polynomial_ring(A, newvarias_S) - to_varias = [ i==idx ? 1 : 2 for i in eachindex(newvarias_S) ] - - res = typeof(zero(R))[] - ctx = MPolyBuildCtx(R) - - LcF = [ filter!(t->t[2]!=0, collect(enumerate(f))) for f in F ] - for f in LcF - for (ef, c) in f - e = [ef-1, 0] - push_term!(ctx, c, [e[i] for i in to_varias ]) + R, _ = polynomial_ring(A, new_S) + + T = typeof(zero(A)) + n_vars = length(new_S) + + return map(F) do f_coeffs + coeffs = T[] + exps = Vector{Int}[] + + # Construct coeff/exp lists + for (deg_plus_1, c) in enumerate(f_coeffs) + if !iszero(c) + e_new = zeros(Int, n_vars) + e_new[idx] = deg_plus_1 - 1 + push!(coeffs, c) + push!(exps, e_new) + end end - push!(res, finish(ctx)) - end - return res + # Create the polynomial associated to f_coeffs + return R(coeffs, exps) + end end -function MPolyBuild(f::Vector{P}, newvarias_S::Vector{Symbol}, idx::Int) where {P <: RingElem} - return first(MPolyBuild([f], newvarias_S, idx)) -end \ No newline at end of file +# Dispatch for a single coefficient vector +MPolyBuild(f::AbstractVector{<:RingElement}, new_S::Vector{Symbol}, idx::Int) = MPolyBuild([f], new_S, idx)[1] \ No newline at end of file diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index f307ff5..e3c3c9b 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -335,7 +335,7 @@ function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=fa v>1 && println("Convert the coefficients into polynomials") L1Q = [ [QQ.(ss) for ss in s ] for s in L1 ] - @iftime v>0 sr = [ MPolyBuild(s, parent(P).S, (idx+1)%2) for s in L1Q ] + @iftime v>0 sr = [ MPolyBuild(s, symbols(parent(P)), (idx+1)%2) for s in L1Q ] return sr end @@ -352,7 +352,7 @@ end function mmod_param_crit(P::ZZMPolyRingElem, Q::ZZMPolyRingElem; n_threads=Threads.nthreads(), v=0, detect_app=true) prim = ZZ(1)<<(61) - RS = parent(P).S + RS = P |> parent |> symbols L1, L1f, primprod = [], [], ZZ(1) Ltemp = Vector{Vector{Vector{Vector{ZZRingElem}}}}(undef,n_threads+1) dP = derivative(P, 2) @@ -420,7 +420,10 @@ function mmod_param_crit(P::ZZMPolyRingElem, Q::ZZMPolyRingElem; n_threads=Threa v>1 && println("Convert the coefficients into polynomials") L1Q = [ [ QQ.(poly) for poly in param ] for param in L1f ] - @iftime v>0 param = Dict( m => vcat([[int_coeffs(MPolyBuild(param[1], parent(P).S, 1))]], [ int_coeffs(MPolyBuild(poly, parent(P).S, 1)) for poly in param[2:end] ]) for (m, param) in zip([-1,1], L1Q)) + @iftime v>0 param = Dict( m => vcat( + [[int_coeffs(MPolyBuild(param[1], symbols(parent(P)), 1))]], + [ int_coeffs(MPolyBuild(poly, symbols(parent(P)), 1)) for poly in param[2:end] ]) + for (m, param) in zip([-1,1], L1Q)) return param end @@ -465,7 +468,7 @@ function num_biv_rat_mod(A, P, RS) Ahmod = change_coefficient_ring(U, Ah1) Aeval = evaluate(Ahmod, [amod, bmod]) - return change_ringvar_mod(lift(Aeval), RS, newv) + return change_ringvar(lift(Aeval), RS) end function intersect_biv_mod(P::Vector{T} where T<:Any, A::MPolyRingElem, RS::Vector{Symbol}) @@ -480,7 +483,7 @@ function intersect_biv(P::Vector{T} where T<:Any, A::MPolyRingElem) return P[1] end compt = 0 - RS = parent(A).S + RS = A |> parent |> symbols dA, dAf = [], [] pprod, p = 1, ZZ(1) << 60 while compt<12 @@ -521,7 +524,7 @@ end function param_crit_split(f, g; v=0, detect_app=true, RS = nothing) @assert (f|>parent|>base_ring|>characteristic == 0 || !isnothing(RS)) "Variable names must be provided when char>0" if f|>parent|>base_ring|>characteristic == 0 - RS = parent(f).S + RS = f |> parent |> symbols end # Compute subresultants and factor the first subresultant v>0 && println("Compute subresultant sequence") From 70ccebb52f7a08090e3733e7f455ef0b30131220 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 13 Apr 2026 14:50:54 +0200 Subject: [PATCH 139/180] factor compute insulating boxes --- src/connectivity/buildpoly.jl | 26 +++---- src/connectivity/connectcurves.jl | 50 +++---------- src/connectivity/isolateboxes.jl | 120 +++++++++++++++++++++++++++++- 3 files changed, 138 insertions(+), 58 deletions(-) diff --git a/src/connectivity/buildpoly.jl b/src/connectivity/buildpoly.jl index 9fa8b42..c0da303 100644 --- a/src/connectivity/buildpoly.jl +++ b/src/connectivity/buildpoly.jl @@ -56,25 +56,17 @@ end # Dispatch for a single polynomial change_ringvar(f::Union{PolyRingElem, MPolyRingElem}, new_S::Vector{Symbol}) = change_ringvar([f], new_S)[1] -# Dispatch for variable indices instead of symbols -# change_ringvar(F::AbstractVector{<:MPolyRingElem}, ind::Union{AbstractVector{<:Integer}, UnitRange{<:Integer}}) = -# change_ringvar(F, [symbols(parent(first(F)))[i] for i in ind]) + """ + change_ringvar(F) -# change_ringvar(f::MPolyRingElem, ind::Union{AbstractVector{<:Integer}, UnitRange{<:Integer}}) = -# change_ringvar([f], ind)[1] - -# """ -# change_ringvar(F) - -# Automatically detect all unique variables present in the polynomials and inject them -# into a ring containing only those variables. -# """ -# function change_ringvar(F::AbstractVector{<:MPolyRingElem}) -# used_vars = unique(reduce(vcat, [Symbol.(vars(f)) for f in F])) -# return change_ringvar(F, used_vars) -# end +Automatically detect all unique variables present in the polynomials and inject them into a ring containing only those variables. +""" +function change_ringvar(F::AbstractVector{<:MPolyRingElem}) + used_vars = unique(reduce(vcat, [Symbol.(vars(f)) for f in F])) + return change_ringvar(F, used_vars) +end -# change_ringvar(f::MPolyRingElem) = change_ringvar([f])[1] +change_ringvar(f::MPolyRingElem) = change_ringvar([f])[1] """ diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 3c4b61b..788cc28 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -34,47 +34,15 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen params[-i] = [ [C[i][1] |> intC], C[i][2], C[i][3] ] end - v > 0 && println("Computing isolating critical boxes") - LBcrit = Dict() - @iftime (v > 0) xcritpermut, precx = compute_crit_boxes(params, LBcrit, precx, v) - xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in eachindex(LBcrit)) - - # println("LBcrit: ", LBcrit) - - v > 0 && println("\nTest for identifying singular boxes") -@iftime (v > 0) begin - ######################################################## - # For each mult of sing pts (keys) give the corresponding factors of the resultant (values) - ######################################################### - arbField = ArbField(precx) - Lfyk = diff_list(f, 2, max(maximum(eachindex(LBcrit)),2)) - for ind in eachindex(LBcrit) - ind < 0 && continue # control pts - m = ind <= 1 ? 2 : ind # nodes and extrems have mult 2 - noisolate = false - for _ in 1:5 - noisolate = false - for j in eachindex(LBcrit[ind]) - pcrit = [ rat_to_arb(c, arbField) for c in LBcrit[ind][j] ] - # Check if the the mult(pcrit)-th derivative of f vanishes on pcrit - if contains_zero(evaluate(Lfyk[m+1], pcrit)) - # TODO refine only boxes associated to multiplicity m - precx *= 2 - (v > 0) && println("Refine singular boxes of index $ind to $precx bits precision") - xcritpermut, precx = compute_crit_boxes(params, LBcrit, precx, v-1) - xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in eachindex(LBcrit)) - noisolate = true - break - end - end - noisolate || break - end - if noisolate - error("Problem in singular boxes refinement") - end + v > 0 && println("Computing insulating critical boxes") + @iftime (v > 0) + LBcrit, Lprecx = insulate_crit_boxes(f, params, precx) end -end + #println("LBcrit: ", LBcrit) + ############################# + # Compute boxes that intersect curve only on vertical sides + ############################## v > 0 && println("\nCompute intersections with critical boxes..") @iftime (v > 0) begin ## TODO : Refine only the intervals that need to be refined? only the factor that defines the intervals @@ -158,7 +126,9 @@ end # Graph computation fct, typeout = outf ? (Float64, Float64) : (identity, QQFieldElem) - + # Critical values and their order + xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in eachindex(LBcrit)) + xcritpermut = order_permut2d(xcrit) # List of vertex: at index i is the tuple of the coordinates of the i-th vertex Vert = Vector{Tuple{typeout, typeout}}() # List of edges: a tuple (i,j) is an edge between the i-th and j-th vertices diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index 3c6525a..46aeebd 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -74,9 +74,127 @@ function compute_crit_boxes(params, LBcrit, precx, v, max_attempts=5) error("Problem in isolating critical boxes") end - return (order_permut2d(xcrit), precx) + return precx end +function compute_singular_boxes(f, LBcrit, params, precx) + arbField = ArbField(precx) + Lfyk = diff_list(f, 2, max(maximum(eachindex(LBcrit)),2)) + for ind in eachindex(LBcrit) + ind < 0 && continue # control pts + m = ind <= 1 ? 2 : ind # nodes and extrems have mult 2 + noisolate = false + for _ in 1:5 + noisolate = false + for j in eachindex(LBcrit[ind]) + pcrit = [ rat_to_arb(c, arbField) for c in LBcrit[ind][j] ] + # Check if the the mult(pcrit)-th derivative of f vanishes on pcrit + if contains_zero(evaluate(Lfyk[m+1], pcrit)) + # TODO refine only boxes associated to multiplicity m + precx *= 2 + (v > 0) && println("Refine singular boxes of index $ind to $precx bits precision") + precx = compute_crit_boxes(params, LBcrit, precx, v-1) + noisolate = true + break + end + end + noisolate || break + end + if noisolate + error("Problem in singular boxes refinement") + end + end + return precx +end + +###################################3 +# File: critical_boxes.jl + +""" + _compute_boxes_for_index!(i, params, LBcrit, precx) + +Compute isolating boxes for a single index i. +""" +function _compute_boxes_for_index!(i, params, LBcrit, precx) + xvals = reduce(vcat, (isolate(pp, prec=precx) for pp in params[i][1])) + _expand_degenerate_intervals!(xvals, precx) + + arbField = ArbField(precx) + + yvals = [ + evaluate_arb(params[i][2], params[i][3], xc, arbField) + for xc in xvals + ] + _expand_degenerate_intervals!(yvals, precx) + + @inbounds LBcrit[i] = [[xvals[j], yvals[j]] for j in eachindex(xvals)] +end + + +""" + _needs_refinement(i, f, LBcrit, precx) + +Check if boxes at index i require refinement. +""" +function _needs_refinement(i, f, LBcrit, precx) + arbField = ArbField(precx) + m = i <= 1 ? 2 : i + # TODO: input, compute once for all i + Lfyk = diff_list(f, 2, max(i, 2)) + + for box in LBcrit[i] + pcrit = [rat_to_arb(c, arbField) for c in box] + + if contains_zero(evaluate(Lfyk[m+1], pcrit)) + return true + end + end + return false +end + + +""" + compute_crit_and_singular_boxes!(f, params, LBcrit, precx; max_attempts=5, v=0) + +Compute and refine critical boxes per index independently. +""" +function insulate_crit_boxes(f, params, precx; max_attempts=5, v=0) + LBcrit, Lprecx = Dict(), Dict() + + for i in keys(params) + attempts, precxi = 0, precx + while attempts <= max_attempts + try + attempts > 0 && v > 0 && + println("Refining index $i -> prec = $precxi") + + _compute_boxes_for_index!(i, params, LBcrit, precxi) + + # singularity check + if ! needs_refinement(i, f, LBcrit, precxi, params) + break + end + + # refine ONLY this index + precxi *= 2 + attempts += 1 + + catch e + precxi *= 2 + attempts += 1 + v > 1 && println("Error at index $i: ", e) + end + end + attempts > max_attempts && + error("Failed to isolate boxes for index $i") + + Lprecx[i] = precxi + end + + return LBcrit, Lprecx +end +####################################################### + # Helper function to process a single edge of the box function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v; max_retries=5) prec = initial_prec From a4770c51003928923526f2d1a7168e71366dab32 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 13 Apr 2026 15:57:19 +0200 Subject: [PATCH 140/180] factor and improve box intersection --- src/connectivity/connectcurves.jl | 88 +---------- src/connectivity/isolateboxes.jl | 233 ++++++++++++++++++++++++++++-- 2 files changed, 221 insertions(+), 100 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 788cc28..f45ba72 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -35,94 +35,10 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen end v > 0 && println("Computing insulating critical boxes") - @iftime (v > 0) - LBcrit, Lprecx = insulate_crit_boxes(f, params, precx) - end - #println("LBcrit: ", LBcrit) + @iftime (v > 0) LBcrit, Lprecx = insulate_crit_boxes(f, params, precx) - ############################# - # Compute boxes that intersect curve only on vertical sides - ############################## v > 0 && println("\nCompute intersections with critical boxes..") -@iftime (v > 0) begin - ## TODO : Refine only the intervals that need to be refined? only the factor that defines the intervals - LPCside = Dict{Int,Any}() - ndig = maximum([ndigits(length(LBcrit[i])) for i in eachindex(LBcrit)]) - for i in eachindex(LBcrit) - LPCside[i] = Array{Any}(undef, length(LBcrit[i])) - # Data printing part - ndigi = ndigits(length(LBcrit[i])) - Ptype = (i > length(LBcrit)-length(C)) ? "Pcon" : "mult" - ### - precxtmp = precx - compt = 0 - while compt < 5 - flag = false - # println(LBcrit[i]) - for j in eachindex(LBcrit[i]) - v > 0 && print("$Ptype=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") - pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp,v=v) - npcside = [length(n) for (I, n) in pcside] - # println("($i, $j): $npcside") - if (i == 1 && sum(npcside) > 2) || (i != 1 && sum(npcside[1:2]) != 0) - precxtmp *= 2 - v > 0 && println("\nRefine boxes along x-axis to $precxtmp bits precision") - refine_xboxes(params[i][1], LBcrit[i], precxtmp) - flag = true - compt += 1 - break - end - LPCside[i][j] = pcside - end - flag || break - end - v > 0 && println("") - if compt >= 5 - error("Problem in computing intersections with boxes") - end - end - LnPCside = Dict(i => [[length(indI) for (L, indI) in PB] for PB in LPCside[i]] for i in eachindex(LPCside)) - - # Update extreme boxes - if haskey(LBcrit, 1) - for j in eachindex(LBcrit[1]) - # If the curve does not intersect the box only on vertical sides - if !(LnPCside[1][j][1:2] == [0, 0]) - PCside, nPCside = LPCside[1][j], LnPCside[1][j] - I = [ l[1] for l in PCside[3:end] ] - nI = [ l[2] for l in PCside[3:end] ] - # Locate the orientation of the extreme point - # s is the index on the side where there are more branches - # s=1: left; s=2: right - s = argmax([length(I[1]), length(I[2])]) - # Ordinate range of the extreme point - ycrit = LBcrit[1][j][2] - # If it intersects on the bottom side - if nPCside[1] == 1 - # yinf: the intersection with the vertical side just below the extreme point - yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[1]]) - # We vertically enlarge the box until it intersects on the horizontal side - push!(LPCside[1][j][s + 2][2], yinf) - LPCside[1][j][1][2] = [] - # We update the intersection numbers - LnPCside[1][j][s + 2] += 1 - LnPCside[1][j][1] = 0 - end - # If it intersects on the top side - if nPCside[2] == 1 - # ymax: the intersection with the vertical side just above the extreme point - ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[2]]) - # We vertically enlarge the box until it intersects on the horizontal side - push!(LPCside[1][j][s + 2][2], ymax) - LPCside[1][j][2][2] = [] - # We update the intersection numbers - LnPCside[1][j][s + 2] += 1 - LnPCside[1][j][2] = 0 - end - end - end - end -end + @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(LBcrit, params, Lprecx) # Graph computation fct, typeout = outf ? (Float64, Float64) : (identity, QQFieldElem) diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index 46aeebd..4ce431f 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -1,3 +1,8 @@ +const Side = Tuple{Vector{QQFieldElem}, Vector{Int}} +const Sides = NTuple{4, Side} +const Boxes = Vector{Side} + + in_inter(I, J) = J[1] <= I[1] && I[2] <= J[2] overlap_inter(I,J) = max(I[1], J[1]) <= min(I[2], J[2]) @@ -229,15 +234,15 @@ function intersect_box(f, B; prec=100, v=0) # B[1] represents x-bounds, B[2] represents y-bounds # Evaluate horizontal edges (fix y to B[2][1] and B[2][2], target x-interval B[1]) - edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v) - edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v) + edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v)::Side + edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v)::Side # Evaluate vertical edges (fix x to B[1][1] and B[1][2], target y-interval B[2]) - edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v) - edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v) + edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v)::Side + edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v)::Side - # Return as a typed array of Tuples - return [edge_y1, edge_y2, edge_x1, edge_x2] + # Return as a 4-Tuple of 2-Tuples + return (edge_y1, edge_y2, edge_x1, edge_x2) end @@ -267,13 +272,213 @@ function refine_xboxes(F::Vector{T} where T<:Union{PolyRingElem, MPolyRingElem}, return _update_LB_first_axis!(LB, xnew) end -""" - refine_ith_xboxes(f, LB, i, prec) +## TODO : Refine only the intervals that need to be refined? only the factor that defines the intervals + + +function intersect_vertical_boxes(LBcrit, params, Lprecx) + LPCside = Dict{Int,Any}() + ndig = maximum([ndigits(length(LBcrit[i])) for i in eachindex(LBcrit)]) + for i in eachindex(LBcrit) + LPCside[i] = Array{Any}(undef, length(LBcrit[i])) + # Data printing part + ndigi = ndigits(length(LBcrit[i])) + Ptype = (i > length(LBcrit)-length(C)) ? "Pcon" : "mult" + ### + precxtmp = Lprecx[i] + compt = 0 + while compt < 5 + flag = false + # println(LBcrit[i]) + for j in eachindex(LBcrit[i]) + v > 0 && print("$Ptype=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") + pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp,v=v) + npcside = [length(n) for (I, n) in pcside] + # println("($i, $j): $npcside") + if (i == 1 && sum(npcside) > 2) || (i != 1 && sum(npcside[1:2]) != 0) + precxtmp *= 2 + v > 0 && println("\nRefine boxes along x-axis to $precxtmp bits precision") + refine_xboxes(params[i][1], LBcrit[i], precxtmp) + flag = true + compt += 1 + break + end + LPCside[i][j] = pcside + end + flag || break + end + v > 0 && println("") + if compt >= 5 + error("Problem in computing intersections with boxes") + end + Lprecx[i] = precxtmp + end + LnPCside = Dict(i => [[length(indI) for (L, indI) in PB] for PB in LPCside[i]] for i in eachindex(LPCside)) + + # Update extreme boxes + if haskey(LBcrit, 1) + for j in eachindex(LBcrit[1]) + # If the curve does not intersect the box only on vertical sides + if !(LnPCside[1][j][1:2] == [0, 0]) + PCside, nPCside = LPCside[1][j], LnPCside[1][j] + # Get the left and right sides + I = [ l[1] for l in PCside[3:end] ] + nI = [ l[2] for l in PCside[3:end] ] + # Locate the orientation of the extreme point + # s is the index on the side where there are more branches + # s=1: left; s=2: right + s = argmax([length(I[1]), length(I[2])]) + # Ordinate range of the extreme point + ycrit = LBcrit[1][j][2] + # If it intersects on the bottom side + if nPCside[1] == 1 + # yinf: the intersection with the vertical side just below the extreme point + yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[1]]) + # We vertically enlarge the box until it intersects on the horizontal side + push!(LPCside[1][j][s + 2][2], yinf) + LPCside[1][j][1][2] = [] + # We update the intersection numbers + LnPCside[1][j][s + 2] += 1 + LnPCside[1][j][1] = 0 + end + # If it intersects on the top side + if nPCside[2] == 1 + # ymax: the intersection with the vertical side just above the extreme point + ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[2]]) + # We vertically enlarge the box until it intersects on the horizontal side + push!(LPCside[1][j][s + 2][2], ymax) + LPCside[1][j][2][2] = [] + # We update the intersection numbers + LnPCside[1][j][s + 2] += 1 + LnPCside[1][j][2] = 0 + end + end + end + end + return LPCside, LnPCside +end -Refine only the i-th box along first axis using i-th root of f. -""" -function refine_ith_xboxes(f, LB, i, prec) - xnew = isolate(f, prec=prec) - @inbounds LB[i] = [xnew[i], LB[i][2]] - return LB +############################### + + + +function intersect_vertical_boxes_bis(LBcrit, params, Lprecx; max_attempts=5, v=0) + + LPCside = Dict{Int, Boxes}() + + for (i, boxes) in pairs(LBcrit) + prec = Lprecx[i] + n = length(boxes) + + sides_vec = Vector{Sides}(undef, n) + + for attempt in 1:max_attempts + refined = false + + @inbounds for j in 1:n + v > 0 && print("i=$i ($j/$n)\r") + + pc = intersect_box(f, boxes[j], prec=prec, v=v)::Sides + + c1 = length(pc[1][2]) + c2 = length(pc[2][2]) + c3 = length(pc[3][2]) + c4 = length(pc[4][2]) + + if (i == 1 && (c1 + c2 + c3 + c4 > 2)) || + (i != 1 && (c1 != 0 || c2 != 0)) + + prec *= 2 + v > 0 && println("\nRefine -> prec = $prec") + + refine_xboxes(params[i][1], boxes, prec) + + refined = true + break + end + + sides_vec[j] = pc + end + + refined || break + attempt == max_attempts && + error("Problem in computing intersections (i=$i)") + end + + LPCside[i] = sides_vec + Lprecx[i] = prec + + v > 0 && println() + end + + # ---- Counts (type-stable) ---- + LnPCside = Dict{Int, Vector{NTuple{4, Int}}}() + + for (i, vec) in pairs(LPCside) + LnPCside[i] = [ + ( + length(pc[1][2]), + length(pc[2][2]), + length(pc[3][2]), + length(pc[4][2]) + ) + for pc in vec + ] + end + + # ---- Extremal case (i == 1) ---- + if haskey(LBcrit, 1) + boxes = LBcrit[1] + pcs = LPCside[1] + cnts = LnPCside[1] + + @inbounds for j in eachindex(boxes) + c1, c2, c3, c4 = cnts[j] + + (c1 == 0 && c2 == 0) && continue + + pc = pcs[j] + ycrit = boxes[j][2] + + I1 = pc[3][1] # left + I2 = pc[4][1] # right + + # Orientation of the curve left(s=1)/right(s=2) + s = length(I1) >= length(I2) ? 1 : 2 + + # ---- intersection on bottom ---- + if c1 == 1 + # Attach to the max intersection below the bow on the correct side + yinf = maximum(i for (i, yy) in pairs((s == 1 ? I1 : I2)) if yy[1] < ycrit[1]) + + push!(pc[s+2][2], yinf) + pc[1][2] = Int[] + + cnts[j] = ( + 0, + c2, + s == 1 ? c3 + 1 : c3, + s == 2 ? c4 + 1 : c4 + ) + + c1, c2, c3, c4 = cnts[j] # for next step + end + + # ---- intersection on top ---- + if c2 == 1 + ymax = minimum(i for (i, yy) in pairs((s == 1 ? I1 : I2)) if yy[2] > ycrit[2]) + + push!(pc[s+2][2], ymax) + pc[2][2] = Int[] + + cnts[j] = ( + c1, + 0, + s == 1 ? c3 + 1 : c3, + s == 2 ? c4 + 1 : c4 + ) + end + end + end + + return LPCside, LnPCside end \ No newline at end of file From 5322f8470ac10ae267846da931410522bedc3a81 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 13 Apr 2026 16:28:14 +0200 Subject: [PATCH 141/180] small trucs --- src/connectivity/subresultants.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index e3c3c9b..c99fc1f 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -477,6 +477,7 @@ function intersect_biv_mod(P::Vector{T} where T<:Any, A::MPolyRingElem, RS::Vect end function intersect_biv(P::Vector{T} where T<:Any, A::MPolyRingElem) + # TODO: test the reconstruction # P = [Lq, a, b] encodes sets (x,a(x)/b(x)) where Lq[i](x)=0 # Compute divisor dA of q that encodes intersection with A(x,y)=0 if iszero(A) From eb687794ada2c2ee1acf0e24665404981df0d280 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Mon, 13 Apr 2026 20:44:17 +0200 Subject: [PATCH 142/180] fixes and TODOs --- src/connectivity/connectcurves.jl | 7 +- src/connectivity/isolateboxes.jl | 193 +++--------------------------- src/connectivity/subresultants.jl | 3 + 3 files changed, 22 insertions(+), 181 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index f45ba72..a87ee59 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -29,16 +29,15 @@ function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); gen v > 0 && println("Compute parametrization of critical pts...") @iftime (v > 0) params = param_crit_split(f,g,v=v-1, detect_app=true) #@iftime (v > 0) params = mmod_param_crit(f, g,v=v-1, detect_app=true) - for i in 1:length(C) params[-i] = [ [C[i][1] |> intC], C[i][2], C[i][3] ] end v > 0 && println("Computing insulating critical boxes") - @iftime (v > 0) LBcrit, Lprecx = insulate_crit_boxes(f, params, precx) + @iftime (v > 0) LBcrit, Lprecx = insulate_crit_boxes(f, params, precx, v=v-1) - v > 0 && println("\nCompute intersections with critical boxes..") - @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(LBcrit, params, Lprecx) + v > 0 && println("Compute intersections with critical boxes..") + @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(f, params, LBcrit, Lprecx, v=v-1) # Graph computation fct, typeout = outf ? (Float64, Float64) : (identity, QQFieldElem) diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index 4ce431f..9e2cc8e 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -1,6 +1,6 @@ -const Side = Tuple{Vector{QQFieldElem}, Vector{Int}} -const Sides = NTuple{4, Side} -const Boxes = Vector{Side} +const side = Tuple{Vector{Vector{QQFieldElem}}, Vector{Int}} +const Sides = NTuple{4, side} +const Boxes = Vector{Sides} in_inter(I, J) = J[1] <= I[1] && I[2] <= J[2] @@ -40,81 +40,6 @@ function _expand_degenerate_intervals!(xnew, prec) return xnew end -# TODO: add the singularity check here, probably just by calling a function -# make sure we refine only the boxes that need to be refined -function compute_crit_boxes(params, LBcrit, precx, v, max_attempts=5) - compt = 0 - xcrit = Dict() - while compt <= max_attempts - try - v > 0 && compt > 0 && println("ComputeBoxes: refine x-precision to $precx bits") - # TODO : check that no overlap between different isolations - xcrit = Dict(i=> reduce(vcat, [isolate(pp, prec=precx) for pp in p[1]]) for (i, p) in params) - # Enlarge exact isolating root intervals - for xvals in values(xcrit) - _expand_degenerate_intervals!(xvals, precx) - end - arbField = ArbField(precx) - for i in keys(xcrit) - xvals = xcrit[i] - ycrit = [ - evaluate_arb(params[i][2], params[i][3], xc, arbField) - for xc in xvals - ] - _expand_degenerate_intervals!(ycrit, precx) - @inbounds LBcrit[i] = [ - [xvals[j], ycrit[j]] for j in eachindex(ycrit) - ] - end - catch e - precx *= 2 - v > 1 && println("Error in isolating critical boxes: ", e) - compt += 1 - else - break - end - end - # TODO: is that a relevant upper bound? - if compt > max_attempts - error("Problem in isolating critical boxes") - end - - return precx -end - -function compute_singular_boxes(f, LBcrit, params, precx) - arbField = ArbField(precx) - Lfyk = diff_list(f, 2, max(maximum(eachindex(LBcrit)),2)) - for ind in eachindex(LBcrit) - ind < 0 && continue # control pts - m = ind <= 1 ? 2 : ind # nodes and extrems have mult 2 - noisolate = false - for _ in 1:5 - noisolate = false - for j in eachindex(LBcrit[ind]) - pcrit = [ rat_to_arb(c, arbField) for c in LBcrit[ind][j] ] - # Check if the the mult(pcrit)-th derivative of f vanishes on pcrit - if contains_zero(evaluate(Lfyk[m+1], pcrit)) - # TODO refine only boxes associated to multiplicity m - precx *= 2 - (v > 0) && println("Refine singular boxes of index $ind to $precx bits precision") - precx = compute_crit_boxes(params, LBcrit, precx, v-1) - noisolate = true - break - end - end - noisolate || break - end - if noisolate - error("Problem in singular boxes refinement") - end - end - return precx -end - -###################################3 -# File: critical_boxes.jl - """ _compute_boxes_for_index!(i, params, LBcrit, precx) @@ -159,9 +84,12 @@ end """ - compute_crit_and_singular_boxes!(f, params, LBcrit, precx; max_attempts=5, v=0) + compute_crit_and_singular_boxes(f, params, precx; max_attempts=5, v=0) -Compute and refine critical boxes per index independently. +Compute insulating boxes for critical points, refining precision if necessary. +Insulating means that each box contains a single critical point and +all branches of the curve intersecting the box are incident to this +critical point. """ function insulate_crit_boxes(f, params, precx; max_attempts=5, v=0) LBcrit, Lprecx = Dict(), Dict() @@ -176,7 +104,7 @@ function insulate_crit_boxes(f, params, precx; max_attempts=5, v=0) _compute_boxes_for_index!(i, params, LBcrit, precxi) # singularity check - if ! needs_refinement(i, f, LBcrit, precxi, params) + if !_needs_refinement(i, f, LBcrit, precxi) break end @@ -234,12 +162,12 @@ function intersect_box(f, B; prec=100, v=0) # B[1] represents x-bounds, B[2] represents y-bounds # Evaluate horizontal edges (fix y to B[2][1] and B[2][2], target x-interval B[1]) - edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v)::Side - edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v)::Side + edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v)::side + edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v)::side # Evaluate vertical edges (fix x to B[1][1] and B[1][2], target y-interval B[2]) - edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v)::Side - edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v)::Side + edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v)::side + edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v)::side # Return as a 4-Tuple of 2-Tuples return (edge_y1, edge_y2, edge_x1, edge_x2) @@ -272,96 +200,7 @@ function refine_xboxes(F::Vector{T} where T<:Union{PolyRingElem, MPolyRingElem}, return _update_LB_first_axis!(LB, xnew) end -## TODO : Refine only the intervals that need to be refined? only the factor that defines the intervals - - -function intersect_vertical_boxes(LBcrit, params, Lprecx) - LPCside = Dict{Int,Any}() - ndig = maximum([ndigits(length(LBcrit[i])) for i in eachindex(LBcrit)]) - for i in eachindex(LBcrit) - LPCside[i] = Array{Any}(undef, length(LBcrit[i])) - # Data printing part - ndigi = ndigits(length(LBcrit[i])) - Ptype = (i > length(LBcrit)-length(C)) ? "Pcon" : "mult" - ### - precxtmp = Lprecx[i] - compt = 0 - while compt < 5 - flag = false - # println(LBcrit[i]) - for j in eachindex(LBcrit[i]) - v > 0 && print("$Ptype=$i ; $(j)/$(length(LBcrit[i]))$(repeat(" ", ndig-ndigi+1))pts","\r") - pcside = intersect_box(f, LBcrit[i][j], prec=precxtmp,v=v) - npcside = [length(n) for (I, n) in pcside] - # println("($i, $j): $npcside") - if (i == 1 && sum(npcside) > 2) || (i != 1 && sum(npcside[1:2]) != 0) - precxtmp *= 2 - v > 0 && println("\nRefine boxes along x-axis to $precxtmp bits precision") - refine_xboxes(params[i][1], LBcrit[i], precxtmp) - flag = true - compt += 1 - break - end - LPCside[i][j] = pcside - end - flag || break - end - v > 0 && println("") - if compt >= 5 - error("Problem in computing intersections with boxes") - end - Lprecx[i] = precxtmp - end - LnPCside = Dict(i => [[length(indI) for (L, indI) in PB] for PB in LPCside[i]] for i in eachindex(LPCside)) - - # Update extreme boxes - if haskey(LBcrit, 1) - for j in eachindex(LBcrit[1]) - # If the curve does not intersect the box only on vertical sides - if !(LnPCside[1][j][1:2] == [0, 0]) - PCside, nPCside = LPCside[1][j], LnPCside[1][j] - # Get the left and right sides - I = [ l[1] for l in PCside[3:end] ] - nI = [ l[2] for l in PCside[3:end] ] - # Locate the orientation of the extreme point - # s is the index on the side where there are more branches - # s=1: left; s=2: right - s = argmax([length(I[1]), length(I[2])]) - # Ordinate range of the extreme point - ycrit = LBcrit[1][j][2] - # If it intersects on the bottom side - if nPCside[1] == 1 - # yinf: the intersection with the vertical side just below the extreme point - yinf = maximum([i for (i, yy) in pairs(I[s]) if yy[1] < ycrit[1]]) - # We vertically enlarge the box until it intersects on the horizontal side - push!(LPCside[1][j][s + 2][2], yinf) - LPCside[1][j][1][2] = [] - # We update the intersection numbers - LnPCside[1][j][s + 2] += 1 - LnPCside[1][j][1] = 0 - end - # If it intersects on the top side - if nPCside[2] == 1 - # ymax: the intersection with the vertical side just above the extreme point - ymax = minimum([i for (i, yy) in pairs(I[s]) if yy[2] > ycrit[2]]) - # We vertically enlarge the box until it intersects on the horizontal side - push!(LPCside[1][j][s + 2][2], ymax) - LPCside[1][j][2][2] = [] - # We update the intersection numbers - LnPCside[1][j][s + 2] += 1 - LnPCside[1][j][2] = 0 - end - end - end - end - return LPCside, LnPCside -end - -############################### - - - -function intersect_vertical_boxes_bis(LBcrit, params, Lprecx; max_attempts=5, v=0) +function intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0) LPCside = Dict{Int, Boxes}() @@ -375,7 +214,7 @@ function intersect_vertical_boxes_bis(LBcrit, params, Lprecx; max_attempts=5, v= refined = false @inbounds for j in 1:n - v > 0 && print("i=$i ($j/$n)\r") + v >= 0 && print("i=$i ($j/$n)\r") pc = intersect_box(f, boxes[j], prec=prec, v=v)::Sides @@ -407,7 +246,7 @@ function intersect_vertical_boxes_bis(LBcrit, params, Lprecx; max_attempts=5, v= LPCside[i] = sides_vec Lprecx[i] = prec - v > 0 && println() + v >= 0 && println() end # ---- Counts (type-stable) ---- diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index c99fc1f..6c19a48 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -528,6 +528,7 @@ function param_crit_split(f, g; v=0, detect_app=true, RS = nothing) RS = f |> parent |> symbols end # Compute subresultants and factor the first subresultant + # TODO: factor f before computing subresultants or at least divide by content v>0 && println("Compute subresultant sequence") if total_degree(f) > 30 && f|>parent|>base_ring|>characteristic == 0 @iftime v>0 sr = mmod_subresultants(f, derivative(f, 2), 2, list=true, n_ssr=2, v=v-1) @@ -539,6 +540,8 @@ function param_crit_split(f, g; v=0, detect_app=true, RS = nothing) return Dict() end + # TODO: sr is univariate? check what's called + # TODO: try full factorization? v>1 && println("Square-free factorization") @iftime v>1 sqr = collect(factor_squarefree(sr[1][1])) From a6ddb2d25824bf9c3495b13bda81dfd089fb364e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Mon, 13 Apr 2026 21:32:38 +0200 Subject: [PATCH 143/180] start plot export --- src/connectivity/connectcurves.jl | 2 +- src/connectivity/plots.jl | 97 +++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 1 deletion(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index a87ee59..a79168e 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -1,6 +1,6 @@ export compute_graph, connected_components, number_connected_components, group_by_component, merge_graphs, - plot_graph, plot_graphs, plot_graph_comp, Bresultant, param_crit_split + plot_graph, plot_graphs, plot_graph_comp, Bresultant, param_crit_split, build_graph_components_data, build_graphs_data, build_graph_data # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index ba1f3c6..e0b28f9 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -79,4 +79,101 @@ function replace_width_height_in_file(filename, x, y) # Write the modified content back to the file write(filename, content) +end + +# ---------- TYPES ---------- + +struct EdgeGroup + edges::Vector{Tuple{Vector{Float64}, Vector{Float64}}} + color::Int64#NTuple{3,Float64} + width::Float64 +end + +struct PointGroup + vertices::Tuple{Vector{Float64}, Vector{Float64}} # (x, y) + color::Int64#NTuple{3,Float64} + marker::Symbol +end + +struct GraphPlotData + edge_groups::Vector{EdgeGroup} + point_groups::Vector{PointGroup} +end + +# ---------- HELPERS ---------- + +function normalize_vemph(Vemph) + if Vemph isa Vector{Vector} + return Vemph + elseif Vemph isa Vector + return [Vemph] + elseif Vemph isa Dict + return collect(values(Vemph)) + else + return Vector{Vector{Int}}() + end +end + +# ---------- CORE BUILDERS ---------- +# TODO: remove the sequence in edge_groups as there should be only one, right? (same for point_groups in build_graph_data) + +function build_graph_data(G, Vemph=Vector{Vector{Int}}(); width=3.0, vert=true) + Vemph = normalize_vemph(Vemph) + V, E = G + + # edges + edges = [ + begin + v1, v2 = [map(Float64, V[idx]) for idx in e] + ([v1[1], v2[1]], [v1[2], v2[2]]) + end + for e in E + ] + + edge_groups = [EdgeGroup(edges, rand(1:666), width)] + + #point groups + point_groups = PointGroup[] + + if vert + vx = map(v -> Float64(v[1]), V) + vy = map(v -> Float64(v[2]), V) + push!(point_groups, PointGroup((vx, vy), rand(1:666), :diamond)) + end + + for group in Vemph + hx = map(j -> Float64(V[j][1]), group) + hy = map(j -> Float64(V[j][2]), group) + push!(point_groups, PointGroup((hx, hy), rand(1:666), :diamond)) + end + + return GraphPlotData(edge_groups, point_groups) +end + +# ---------- MULTI GRAPHS ---------- + +function build_graphs_data(CG; width=3.0, vert=true) + results = GraphPlotData[] + + for item in CG + + G, Vemph = length(item) == 2 ? item : item, Vector{Int}() + data = build_graph_data(G, Vemph; width=width, vert=vert) + + # override edge color per graph + for eg in data.edge_groups + eg = EdgeGroup(eg.edges, rand(1:666), eg.width) + end + + push!(results, data) + end + + return results +end + +# ---------- CONNECTED COMPONENTS ---------- + +function build_graph_components_data(G, Vemph=Vector{Int}(); width=3.0, vert=true) + CG = connected_components(G, Vemph) + return build_graphs_data(CG; width=width, vert=vert) end \ No newline at end of file From 54bea33bfee06be4c06372b1cc949664971f7ff3 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 14 Apr 2026 01:51:50 +0200 Subject: [PATCH 144/180] todo notes --- src/connectivity/isolateboxes.jl | 2 +- src/connectivity/subresultants.jl | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index 9e2cc8e..d5b2fc4 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -4,7 +4,7 @@ const Boxes = Vector{Sides} in_inter(I, J) = J[1] <= I[1] && I[2] <= J[2] -overlap_inter(I,J) = max(I[1], J[1]) <= min(I[2], J[2]) +overlap_inter(I, J) = max(I[1], J[1]) <= min(I[2], J[2]) # Function that isolate roots of a multivariate polynomial with a # single variable diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index 6c19a48..4ffdaf7 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -564,6 +564,7 @@ function param_crit_split(f, g; v=0, detect_app=true, RS = nothing) end # Nodes : multiplicity 2 in res + # TODO: first test with interval arithmetics? Most of the time this will suffice v>0 && println("Compute apparent singularities") if 2 in sqrmult if detect_app From f52a0112ac99d9319e6bb1fe258294aaff4247f3 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 14 Apr 2026 16:00:35 +0200 Subject: [PATCH 145/180] plot ok, without removing previous --- Manifest.toml | 4 ++-- src/connectivity/connectcurves.jl | 7 +++++++ src/connectivity/isolateboxes.jl | 2 +- src/connectivity/plots.jl | 35 ++++++++----------------------- 4 files changed, 19 insertions(+), 29 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 0c5efb6..43a90bf 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.12.5" +julia_version = "1.12.6" manifest_format = "2.0" project_hash = "df55572e31ee2a4a5a0c44bb96cd0c13ec9af668" @@ -15,7 +15,7 @@ weakdeps = ["Test"] TestExt = "Test" [[deps.AlgebraicSolving]] -deps = ["Colors", "LinearAlgebra", "Logging", "Markdown", "Nemo", "Plots", "Primes", "Printf", "Random", "StaticArrays", "msolve_jll"] +deps = ["BenchmarkTools", "Colors", "LinearAlgebra", "Logging", "Markdown", "Nemo", "Plots", "Primes", "Printf", "Random", "StaticArrays", "msolve_jll"] path = "." uuid = "66b61cbe-0446-4d5d-9090-1ff510639f9d" version = "0.10.4" diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index a79168e..00d3395 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -15,6 +15,13 @@ include("plots.jl") include("arbtools.jl") include("buildpoly.jl") +# Input: +# The space curve is given by f(x,y) = 0 and (df/dy)(x,y)*z = g(x,y) +# it is assumed in generic position of put it using generic parameter +# for now f is assumed to be square-free (future feature) +# C is a list of parametrization [p,a,b] of plane pts i.e. such that p(x)=0,y=a(x)/b(x) +# these points must be on the curve +# Output: Computes a graph homeomorphic to the curve, identitying point in C function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, int_coeff=true, outf=true) where (P <: MPolyRingElem) R = parent(f) x, y = gens(R) diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index d5b2fc4..c8cbe9a 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -318,6 +318,6 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0 end end end - + #TODO: by design bottom/top sides in LnPCside are [0,0] -> remove return LPCside, LnPCside end \ No newline at end of file diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index e0b28f9..c2e8a42 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -96,11 +96,11 @@ struct PointGroup end struct GraphPlotData - edge_groups::Vector{EdgeGroup} + edge_groups::EdgeGroup point_groups::Vector{PointGroup} end -# ---------- HELPERS ---------- +# ---------- HELPER ---------- function normalize_vemph(Vemph) if Vemph isa Vector{Vector} @@ -115,9 +115,7 @@ function normalize_vemph(Vemph) end # ---------- CORE BUILDERS ---------- -# TODO: remove the sequence in edge_groups as there should be only one, right? (same for point_groups in build_graph_data) - -function build_graph_data(G, Vemph=Vector{Vector{Int}}(); width=3.0, vert=true) +function build_graph_data(G, Vemph=Vector{Vector{Int}}(); width=3.0, vert=true, color=rand(1:666)) Vemph = normalize_vemph(Vemph) V, E = G @@ -129,25 +127,24 @@ function build_graph_data(G, Vemph=Vector{Vector{Int}}(); width=3.0, vert=true) end for e in E ] + edge_group = EdgeGroup(edges, color, width) - edge_groups = [EdgeGroup(edges, rand(1:666), width)] - - #point groups + #points point_groups = PointGroup[] if vert vx = map(v -> Float64(v[1]), V) vy = map(v -> Float64(v[2]), V) - push!(point_groups, PointGroup((vx, vy), rand(1:666), :diamond)) + push!(point_groups, PointGroup((vx, vy), 17, :diamond)) end for group in Vemph hx = map(j -> Float64(V[j][1]), group) hy = map(j -> Float64(V[j][2]), group) - push!(point_groups, PointGroup((hx, hy), rand(1:666), :diamond)) + push!(point_groups, PointGroup((hx, hy), color, :diamond)) end - return GraphPlotData(edge_groups, point_groups) + return GraphPlotData(edge_group, point_groups) end # ---------- MULTI GRAPHS ---------- @@ -156,24 +153,10 @@ function build_graphs_data(CG; width=3.0, vert=true) results = GraphPlotData[] for item in CG - G, Vemph = length(item) == 2 ? item : item, Vector{Int}() - data = build_graph_data(G, Vemph; width=width, vert=vert) - - # override edge color per graph - for eg in data.edge_groups - eg = EdgeGroup(eg.edges, rand(1:666), eg.width) - end + data = build_graph_data(G, Vemph; width=width, vert=vert, color=rand(1:666)) push!(results, data) end - return results -end - -# ---------- CONNECTED COMPONENTS ---------- - -function build_graph_components_data(G, Vemph=Vector{Int}(); width=3.0, vert=true) - CG = connected_components(G, Vemph) - return build_graphs_data(CG; width=width, vert=vert) end \ No newline at end of file From 3a0be5ff566f431b3c6be818814b9dbc232e3d01 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 14 Apr 2026 19:08:42 +0200 Subject: [PATCH 146/180] big changes in progress --- src/connectivity/connectcurves.jl | 452 ++++++++++++++++++++---------- src/connectivity/datastruct.jl | 29 ++ src/connectivity/isolateboxes.jl | 334 ++++++++++++++++------ src/connectivity/newgraph.jl | 186 ++++++++++++ src/connectivity/plots.jl | 2 +- src/connectivity/tools.jl | 17 ++ 6 files changed, 791 insertions(+), 229 deletions(-) create mode 100644 src/connectivity/datastruct.jl create mode 100644 src/connectivity/newgraph.jl diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 00d3395..150f0c1 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -10,10 +10,11 @@ export compute_graph, connected_components, number_connected_components, group_b include("tools.jl") include("subresultants.jl") include("isolateboxes.jl") -include("graph.jl") +include("newgraph.jl") include("plots.jl") include("arbtools.jl") include("buildpoly.jl") +include("datastruct.jl") # Input: # The space curve is given by f(x,y) = 0 and (df/dy)(x,y)*z = g(x,y) @@ -22,201 +23,366 @@ include("buildpoly.jl") # C is a list of parametrization [p,a,b] of plane pts i.e. such that p(x)=0,y=a(x)/b(x) # these points must be on the curve # Output: Computes a graph homeomorphic to the curve, identitying point in C -function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, int_coeff=true, outf=true) where (P <: MPolyRingElem) +# function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, int_coeff=true, outf=true) where (P <: MPolyRingElem) +# R = parent(f) +# x, y = gens(R) +# intC = int_coeff ? int_coeffs : identity +# # Pre-processing the input +# f, g = intC([f,g]) +# changemat = generic ? [1 0; 0 1] : trimat_rand(QQ, 2, range=-100:100) +# f = evaluate(f, collect(changemat*[x; y])); +# v > 1 && println(f) +# precx = precx <= 1 ? 2 : precx + +# v > 0 && println("Compute parametrization of critical pts...") +# @iftime (v > 0) params = param_crit_split(f,g,v=v-1, detect_app=true) +# #@iftime (v > 0) params = mmod_param_crit(f, g,v=v-1, detect_app=true) +# for i in 1:length(C) +# params[-i] = [ [C[i][1] |> intC], C[i][2], C[i][3] ] +# end + +# v > 0 && println("Computing insulating critical boxes") +# @iftime (v > 0) LBcrit, Lprecx = insulate_crit_boxes(f, params, precx, v=v-1) + +# v > 0 && println("Compute intersections with critical boxes..") +# @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf, v=v-1) + +# # Graph computation +# fct, typeout = outf ? (Float64, Float64) : (identity, QQFieldElem) +# # Critical values and their order +# xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in eachindex(LBcrit)) +# xcritpermut = order_permut2d(xcrit) +# # List of vertex: at index i is the tuple of the coordinates of the i-th vertex +# Vert = Vector{Tuple{typeout, typeout}}() +# # List of edges: a tuple (i,j) is an edge between the i-th and j-th vertices +# Edg = Vector{Tuple{Int, Int}}() +# Corr = Dict( m => [[[], [[], [], []], []] for j in xcrit[m] ] for m in eachindex(xcrit)) +# Vcon = [ [] for _ in 1:length(C) ] + +# # Keep track of processed isolated & apparent singularities +# Lapp = [[],[]] + +# for ind in eachindex(xcritpermut) +# i, j = xcritpermut[ind] + +# if ind > 1 +# i1, j1 = xcritpermut[ind - 1] +# end +# if ind < length(xcritpermut) +# i2, j2 = xcritpermut[ind + 1] +# I2L, = LPCside[i2][j2][3] +# end + +# PCside = LPCside[i][j] +# I = [ l[1] for l in PCside[3:end] ] +# nI = [ l[2] for l in PCside[3:end] ] + +# xcmid = sum(LBcrit[i][j][1])//2 |> fct +# ycmid = sum(LBcrit[i][j][2])//2 |> fct + +# ymincrit = minimum(vcat(nI[1], nI[2], [length(I[1])+1])) +# # Construct vertices +# ########################### +# # On the vertical left side +# if ind > 1 +# for k in 1:length(I[1]) +# push!(Corr[i][j][1], Corr[i1][j1][3][k]) +# end +# else +# for k in 1:length(I[1]) +# push!(Vert, (xcrit[i][j][1], sum(I[1][k])//2) .|> fct) +# push!(Corr[i][j][1], length(Vert)) +# end +# end +# ########################### +# # On the vertical right side +# if ind < length(xcritpermut) +# for k in 1:length(I[2]) +# push!(Vert, ((xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4) .|> fct) +# push!(Corr[i][j][3], length(Vert)) +# end +# else +# for k in 1:length(I[2]) +# push!(Vert, (xcrit[i][j][2], sum(I[2][k])//2) .|> fct) +# push!(Corr[i][j][3], length(Vert)) +# end +# end +# ########################### +# # Below the critical point +# for k in 1:ymincrit-1 +# push!(Vert, (xcmid, sum(I[1][k] + I[2][k])// 4) .|> fct) +# push!(Corr[i][j][2][1], length(Vert)) +# push!(Edg, (Corr[i][j][1][k], length(Vert))) # left +# push!(Edg, (length(Vert), Corr[i][j][3][k])) # right +# end +# ########################### +# # The critical point +# ########################## +# # If we are dealing with a isolated node +# if i in [0,2] && isempty(nI[1]) && isempty(nI[2]) +# push!(Lapp[1], (i,j)) +# # If we are dealing with an apparent singularity +# elseif i == 0 +# # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 +# push!(Edg, (Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]])) +# push!(Edg, (Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]])) +# push!(Lapp[2], (i,j)) +# else +# # We can add the vertex +# push!(Vert, (xcmid, ycmid)) +# push!(Corr[i][j][2][2], length(Vert)) +# # We connect to the vertical left side of the critical box +# for k in nI[1] +# push!(Edg, (Corr[i][j][1][k], length(Vert))) +# end +# # We connect to the vertical right side of the critical box +# for k in nI[2] +# push!(Edg, (length(Vert), Corr[i][j][3][k])) +# end +# if i < 0 +# # If this is a control point +# push!(Vcon[-i], length(Vert)) +# end +# end +# ########################### +# # Above the critical point +# for k=(length(I[1]) - length(nI[1]) - ymincrit+1):-1:1 +# push!(Vert, (xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4) .|> fct) +# push!(Corr[i][j][2][3], length(Vert)) +# push!(Edg, (Corr[i][j][1][end - k + 1], length(Vert))) # left +# push!(Edg, (length(Vert), Corr[i][j][3][end - k + 1])) # right +# end +# end + +# if v > 0 && Lapp != [[],[]] +# println("Removed apparent singularities: $(length(Lapp[1])) isolated $(length(Lapp[2])) nodes") +# end + +# # Operate inverse change of variable if necessary +# if !(generic) +# for i in eachindex(Vert) +# vx,vy = Vert[i] +# vx,vy = fct.(changemat*[vx, vy]) +# Vert[i] = (vx, vy) +# end +# end + +# if length(C)>0 +# return (Vert, Edg), Vcon +# else +# return Vert, Edg +# end +# end + +# function compute_graph(f::P, g::P, C::Dict{Int,Vector{P}}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) +# G, Vcon = compute_graph(f, g, collect(values(C)), generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf) +# VC = Dict{Int64, Vector{Int}}([ k => Vcon[i] for (i,k) in enumerate(keys(C)) ]) +# return G, VC +# end + +# function compute_graph(f::P, g::P, C::Vector{P}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) +# G, (Vcon,) = compute_graph(f, g, [C], generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf = outf) +# return G, Vcon +# end + +# ################################################################ +# function group_by_component(f::P, C::Vector{P}; generic=true, precx=150, v=0, arb=true, int_coeff=false) where {P <: MPolyRingElem} +# # Compute a graph homeomorphic to Z(F) and return the vertices identified by Z(C) +# G, Vcon = compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff) +# # Compute the partition of the vertices in Vcon according to the connected component in G +# sort!(Vcon) +# CVcon = group_by_component(G, Vcon) + +# # Convert the partition into abscissa order +# index_map = Dict((val, idx) for (idx, val) in enumerate(Vcon)) +# return [map(v -> index_map[v], C) for C in CVcon] +# end + +# function plot_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) +# plot_graph(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +# end + +# function plot_graph(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) +# plot_graph(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +# end + +# function plot_graph_comp(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) +# plot_graph_comp(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +# end + +# function plot_graph_comp(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) +# plot_graph_comp(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +# end + +# function number_connected_components(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) +# number_connected_components(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +# end + +# function number_connected_components(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) +# number_connected_components(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +# end + +#################################### + +function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; + generic=true, precx=150, v=0, int_coeff=true, outf=true) where {P <: MPolyRingElem} + R = parent(f) x, y = gens(R) intC = int_coeff ? int_coeffs : identity + # Pre-processing the input - f, g = intC([f,g]) + f, g = intC([f, g]) changemat = generic ? [1 0; 0 1] : trimat_rand(QQ, 2, range=-100:100) - f = evaluate(f, collect(changemat*[x; y])); + f = evaluate(f, collect(changemat * [x; y])) + precx = max(2, precx) v > 1 && println(f) - precx = precx <= 1 ? 2 : precx v > 0 && println("Compute parametrization of critical pts...") - @iftime (v > 0) params = param_crit_split(f,g,v=v-1, detect_app=true) - #@iftime (v > 0) params = mmod_param_crit(f, g,v=v-1, detect_app=true) + @iftime (v > 0) params = param_crit_split(f, g, v=v-1, detect_app=true) for i in 1:length(C) - params[-i] = [ [C[i][1] |> intC], C[i][2], C[i][3] ] + params[-i] = [ [intC(C[i][1])], C[i][2], C[i][3] ] end v > 0 && println("Computing insulating critical boxes") @iftime (v > 0) LBcrit, Lprecx = insulate_crit_boxes(f, params, precx, v=v-1) - + println(LBcrit) v > 0 && println("Compute intersections with critical boxes..") - @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(f, params, LBcrit, Lprecx, v=v-1) - - # Graph computation - fct, typeout = outf ? (Float64, Float64) : (identity, QQFieldElem) + @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf, v=v-1) + println(LPCside) # Critical values and their order - xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in eachindex(LBcrit)) + xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in keys(LBcrit)) xcritpermut = order_permut2d(xcrit) - # List of vertex: at index i is the tuple of the coordinates of the i-th vertex - Vert = Vector{Tuple{typeout, typeout}}() - # List of edges: a tuple (i,j) is an edge between the i-th and j-th vertices - Edg = Vector{Tuple{Int, Int}}() - Corr = Dict( m => [[[], [[], [], []], []] for j in xcrit[m] ] for m in eachindex(xcrit)) - Vcon = [ [] for _ in 1:length(C) ] - # Keep track of processed isolated & apparent singularities - Lapp = [[],[]] + # Graph data + Vert = Tuple{QQFieldElem, QQFieldElem}[] # List of points (x,y) + Edg = Tuple{Int, Int}[] # List of tuples (idx, idy) + Vcon = Dict{Int, Vector{Int}}(k => Int[] for k in keys(C)) # Index of control vertices - for ind in eachindex(xcritpermut) - i, j = xcritpermut[ind] + Lapp_isolated = Tuple{Int, Int}[] + Lapp_nodes = Tuple{Int, Int}[] - if ind > 1 - i1, j1 = xcritpermut[ind - 1] - end - if ind < length(xcritpermut) - i2, j2 = xcritpermut[ind + 1] - I2L, = LPCside[i2][j2][3] - end + # Keep track of connection between all computed points when increasing x + Corr = Dict(m => [CriticalNodeConnections() for _ in xcrit[m]] for m in keys(xcrit)) + + for (ind, (i, j)) in enumerate(xcritpermut) + i1, j1 = ind > 1 ? xcritpermut[ind - 1] : (0, 0) # previous + i2, j2 = ind < length(xcritpermut) ? xcritpermut[ind + 1] : (0, 0) # next + # Current cylinder above xcrit[i][j] PCside = LPCside[i][j] - I = [ l[1] for l in PCside[3:end] ] - nI = [ l[2] for l in PCside[3:end] ] + I2L_points = ind < length(xcritpermut) ? LPCside[i2][j2].left.points : nothing + + # Midpoints of the critical box itself + xcmid = sum(LBcrit[i][j][1]) / 2 + ycmid = sum(LBcrit[i][j][2]) / 2 - xcmid = sum(LBcrit[i][j][1])//2 |> fct - ycmid = sum(LBcrit[i][j][2])//2 |> fct + nI_left = PCside.left.indices_inside + nI_right = PCside.right.indices_inside + ymincrit = minimum(vcat(nI_left, nI_right, [length(PCside.left.points) + 1])) - ymincrit = minimum(vcat(nI[1], nI[2], [length(I[1])+1])) - # Construct vertices - ########################### - # On the vertical left side + # 1. Left side vertices + # one-to-one connection with previous right side + # TODO: could be improved memory-wise if ind > 1 - for k in 1:length(I[1]) - push!(Corr[i][j][1], Corr[i1][j1][3][k]) + for k in 1:length(PCside.left.points) + push!(Corr[i][j].left, Corr[i1][j1].right[k]) end else - for k in 1:length(I[1]) - push!(Vert, (xcrit[i][j][1], sum(I[1][k])//2) .|> fct) - push!(Corr[i][j][1], length(Vert)) + for k in 1:length(PCside.left.points) + xval = xcrit[i][j][1] - 1 + yval = sum(PCside.left.points[k]) / 2 + push!(Vert, (xval, yval)) + push!(Corr[i][j].left, length(Vert)) end end - ########################### - # On the vertical right side + + # 2. Right side vertices if ind < length(xcritpermut) - for k in 1:length(I[2]) - push!(Vert, ((xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4) .|> fct) - push!(Corr[i][j][3], length(Vert)) + for k in 1:length(PCside.right.points) + xval = (xcrit[i][j][2] + xcrit[i2][j2][1]) / 2 + yval = sum(PCside.right.points[k] + I2L_points[k]) / 4 + push!(Vert, (xval, yval)) + push!(Corr[i][j].right, length(Vert)) end else - for k in 1:length(I[2]) - push!(Vert, (xcrit[i][j][2], sum(I[2][k])//2) .|> fct) - push!(Corr[i][j][3], length(Vert)) + for k in 1:length(PCside.right.points) + xval = xcrit[i][j][2] + yval = sum(PCside.right.points[k]) / 2 + push!(Vert, (xval, yval)) + push!(Corr[i][j].right, length(Vert)) end end - ########################### - # Below the critical point + + # 3. Below the critical point + # TODO: many vertices and edges could be removed here for k in 1:ymincrit-1 - push!(Vert, (xcmid, sum(I[1][k] + I[2][k])// 4) .|> fct) - push!(Corr[i][j][2][1], length(Vert)) - push!(Edg, (Corr[i][j][1][k], length(Vert))) # left - push!(Edg, (length(Vert), Corr[i][j][3][k])) # right + yval = sum(PCside.left.points[k] + PCside.right.points[k]) / 4 + push!(Vert, (xcmid, yval)) + push!(Corr[i][j].bottom, length(Vert)) + push!(Edg, (Corr[i][j].left[k], length(Vert))) + push!(Edg, (length(Vert), Corr[i][j].right[k])) end - ########################### - # The critical point - ########################## - # If we are dealing with a isolated node - if i in [0,2] && isempty(nI[1]) && isempty(nI[2]) - push!(Lapp[1], (i,j)) - # If we are dealing with an apparent singularity + + # 4. The critical point + if i == 0 && isempty(nI_left) && isempty(nI_right) + push!(Lapp_isolated, (i, j)) elseif i == 0 - # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 - push!(Edg, (Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]])) - push!(Edg, (Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]])) - push!(Lapp[2], (i,j)) + push!(Edg, (Corr[i][j].left[nI_left[1]], Corr[i][j].right[nI_right[2]])) + push!(Edg, (Corr[i][j].left[nI_left[2]], Corr[i][j].right[nI_right[1]])) + push!(Lapp_nodes, (i, j)) else - # We can add the vertex push!(Vert, (xcmid, ycmid)) - push!(Corr[i][j][2][2], length(Vert)) - # We connect to the vertical left side of the critical box - for k in nI[1] - push!(Edg, (Corr[i][j][1][k], length(Vert))) - end - # We connect to the vertical right side of the critical box - for k in nI[2] - push!(Edg, (length(Vert), Corr[i][j][3][k])) - end - if i < 0 - # If this is a control point + push!(Corr[i][j].center, length(Vert)) + + for k in nI_left; push!(Edg, (Corr[i][j].left[k], length(Vert))); end + for k in nI_right; push!(Edg, (length(Vert), Corr[i][j].right[k])); end + + if i < 0 # Control point push!(Vcon[-i], length(Vert)) end end - ########################### - # Above the critical point - for k=(length(I[1]) - length(nI[1]) - ymincrit+1):-1:1 - push!(Vert, (xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4) .|> fct) - push!(Corr[i][j][2][3], length(Vert)) - push!(Edg, (Corr[i][j][1][end - k + 1], length(Vert))) # left - push!(Edg, (length(Vert), Corr[i][j][3][end - k + 1])) # right - end - end - if v > 0 && Lapp != [[],[]] - println("Removed apparent singularities: $(length(Lapp[1])) isolated $(length(Lapp[2])) nodes") + # 5. Above the critical point + for k = (length(PCside.left.points) - length(nI_left) - ymincrit + 1):-1:1 + yval = sum(PCside.left.points[end-k+1] + PCside.right.points[end-k+1]) / 4 + push!(Vert, (xcmid, yval)) + push!(Corr[i][j].top, length(Vert)) + push!(Edg, (Corr[i][j].left[end-k+1], length(Vert))) + push!(Edg, (length(Vert), Corr[i][j].right[end-k+1])) + end end - # Operate inverse change of variable if necessary - if !(generic) + # Post processing the data + if !generic for i in eachindex(Vert) - vx,vy = Vert[i] - vx,vy = fct.(changemat*[vx, vy]) - Vert[i] = (vx, vy) + vx, vy = Vert[i] + Vert[i] = Tuple(changemat * [vx, vy]) end end - if length(C)>0 - return (Vert, Edg), Vcon - else - return Vert, Edg + if outf + Vert = [ (Float64(x), Float64(y)) for (x,y) in Vert ] + return CurveGraph{Float64}(Vert, Edg, Vcon) end -end - -function compute_graph(f::P, g::P, C::Dict{Int,Vector{P}}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) - G, Vcon = compute_graph(f, g, collect(values(C)), generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf) - VC = Dict{Int64, Vector{Int}}([ k => Vcon[i] for (i,k) in enumerate(keys(C)) ]) - return G, VC -end - -function compute_graph(f::P, g::P, C::Vector{P}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) - G, (Vcon,) = compute_graph(f, g, [C], generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf = outf) - return G, Vcon -end - -################################################################ -function group_by_component(f::P, C::Vector{P}; generic=true, precx=150, v=0, arb=true, int_coeff=false) where {P <: MPolyRingElem} - # Compute a graph homeomorphic to Z(F) and return the vertices identified by Z(C) - G, Vcon = compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff) - # Compute the partition of the vertices in Vcon according to the connected component in G - sort!(Vcon) - CVcon = group_by_component(G, Vcon) - - # Convert the partition into abscissa order - index_map = Dict((val, idx) for (idx, val) in enumerate(Vcon)) - return [map(v -> index_map[v], C) for C in CVcon] -end -function plot_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - plot_graph(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) + # Return the unified data structure + return CurveGraph{QQFieldElem}(Vert, Edg, Vcon) end -function plot_graph(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - plot_graph(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) -end +# Multi-dispatch wrappers returning the Graph Struct +compute_graph(f::P, g::P; kwargs...) where {P <: MPolyRingElem} = + _compute_graph_core(f, g, Vector{Vector{P}}(); kwargs...) -function plot_graph_comp(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - plot_graph_comp(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) -end - -function plot_graph_comp(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - plot_graph_comp(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) -end +compute_graph(f::P, g::P, C::Vector{Vector{P}}; kwargs...) where {P <: MPolyRingElem} = + _compute_graph_core(f, g, C; kwargs...) -function number_connected_components(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - number_connected_components(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) +function compute_graph(f::P, g::P, C::Dict{Int, Vector{P}}; kwargs...) where {P <: MPolyRingElem} + graph = _compute_graph_core(f, g, collect(values(C)); kwargs...) + # Remap Vcon dictionary keys to match original dict keys + mapped_vcon = Dict{Int, Vector{Int}}(k => graph.control_nodes[i] for (i, k) in enumerate(keys(C))) + return CurveGraph(graph.vertices, graph.edges, mapped_vcon) end -function number_connected_components(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) - number_connected_components(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) -end \ No newline at end of file +compute_graph(f::P, g::P, C::Vector{P}; kwargs...) where {P <: MPolyRingElem} = + _compute_graph_core(f, g, [C]; kwargs...) \ No newline at end of file diff --git a/src/connectivity/datastruct.jl b/src/connectivity/datastruct.jl new file mode 100644 index 0000000..94766e3 --- /dev/null +++ b/src/connectivity/datastruct.jl @@ -0,0 +1,29 @@ +# Represents the isolated points and valid connections on a single box edge +struct BoxEdge{T} + points::Vector{Vector{T}} + indices_inside::Vector{Int} +end + +# Represents a complete critical box intersection profile +struct BoxIntersections{T} + bottom::BoxEdge{T} + top::BoxEdge{T} + left::BoxEdge{T} + right::BoxEdge{T} +end + +# Tracks the vertex IDs attached to different parts of a critical point box +Base.@kwdef struct CriticalNodeConnections + left::Vector{Int} = Int[] + bottom::Vector{Int} = Int[] + center::Vector{Int} = Int[] + top::Vector{Int} = Int[] + right::Vector{Int} = Int[] +end + +# Connectivity graph + control nodes +struct CurveGraph{T} + vertices::Vector{Tuple{T, T}} + edges::Vector{Tuple{Int, Int}} + control_nodes::Dict{Int, Vector{Int}} +end \ No newline at end of file diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index c8cbe9a..8c2b6a7 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -6,6 +6,8 @@ const Boxes = Vector{Sides} in_inter(I, J) = J[1] <= I[1] && I[2] <= J[2] overlap_inter(I, J) = max(I[1], J[1]) <= min(I[2], J[2]) +# TODO: output vector of tuple for the intervals (inside real_solutions?) + # Function that isolate roots of a multivariate polynomial with a # single variable function isolate(f; prec = 32) @@ -128,52 +130,244 @@ function insulate_crit_boxes(f, params, precx; max_attempts=5, v=0) end ####################################################### +# # Helper function to process a single edge of the box +# function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v; max_retries=5) +# prec = initial_prec + +# for _ in 1:max_retries +# roots = isolate_eval(f, fixed_dim, fixed_val, prec=prec) +# indices_inside = Int[] +# overlap_found = false + +# for (j, l) in pairs(roots) +# if in_inter(l, target_interval) +# push!(indices_inside, j) +# elseif overlap_inter(l, target_interval) +# prec *= 2 +# v > 0 && println("IntersectBox: increase precision to $prec bits") +# overlap_found = true +# break # Break inner for-loop to restart with higher precision +# end +# end + +# # If we successfully processed all roots without overlap, return the results +# if !overlap_found +# return (roots, indices_inside) +# end +# end + +# error("Problem when isolating on one side of a box after $max_retries attempts") +# end + +# # Function that computes the intersection of a curve with a box by isolating roots on the edges +# function intersect_box(f, B; prec=100, v=0) +# # B[1] represents x-bounds, B[2] represents y-bounds + +# # Evaluate horizontal edges (fix y to B[2][1] and B[2][2], target x-interval B[1]) +# edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v)::side +# edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v)::side + +# # Evaluate vertical edges (fix x to B[1][1] and B[1][2], target y-interval B[2]) +# edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v)::side +# edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v)::side + +# # Return as a 4-Tuple of 2-Tuples +# return (edge_y1, edge_y2, edge_x1, edge_x2) +# end + + +# """ +# _update_LB_first_axis!(LB, xnew) + +# Replace first coordinate of each box in LB with corresponding xnew interval. +# """ +# function _update_LB_first_axis!(LB, xnew) +# @inbounds for i in eachindex(LB) +# LB[i][1] = xnew[i] +# end +# return LB +# end + +# """ +# refine_xboxes(f, LB, prec) + +# Refine LB along first axis using roots of polynomials in F +# The order in F is assumed to match the one in LB +# """ +# function refine_xboxes(F::Vector{T} where T<:Union{PolyRingElem, MPolyRingElem}, LB, prec) +# # Concatenate all roots from isolating each polynomial in F +# xnew = reduce(vcat, [isolate(f, prec=prec) for f in F]) + +# _expand_degenerate_intervals!(xnew, prec) +# return _update_LB_first_axis!(LB, xnew) +# end + +# function intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0) + +# LPCside = Dict{Int, Boxes}() + +# for (i, boxes) in pairs(LBcrit) +# prec = Lprecx[i] +# n = length(boxes) + +# sides_vec = Vector{Sides}(undef, n) + +# for attempt in 1:max_attempts +# refined = false + +# @inbounds for j in 1:n +# v >= 0 && print("i=$i ($j/$n)\r") + +# pc = intersect_box(f, boxes[j], prec=prec, v=v)::Sides + +# c1 = length(pc[1][2]) +# c2 = length(pc[2][2]) +# c3 = length(pc[3][2]) +# c4 = length(pc[4][2]) + +# if (i == 1 && (c1 + c2 + c3 + c4 > 2)) || +# (i != 1 && (c1 != 0 || c2 != 0)) + +# prec *= 2 +# v > 0 && println("\nRefine -> prec = $prec") + +# refine_xboxes(params[i][1], boxes, prec) + +# refined = true +# break +# end + +# sides_vec[j] = pc +# end + +# refined || break +# attempt == max_attempts && +# error("Problem in computing intersections (i=$i)") +# end + +# LPCside[i] = sides_vec +# Lprecx[i] = prec + +# v >= 0 && println() +# end + +# # ---- Counts (type-stable) ---- +# LnPCside = Dict{Int, Vector{NTuple{4, Int}}}() + +# for (i, vec) in pairs(LPCside) +# LnPCside[i] = [ +# ( +# length(pc[1][2]), +# length(pc[2][2]), +# length(pc[3][2]), +# length(pc[4][2]) +# ) +# for pc in vec +# ] +# end + +# # ---- Extremal case (i == 1) ---- +# if haskey(LBcrit, 1) +# boxes = LBcrit[1] +# pcs = LPCside[1] +# cnts = LnPCside[1] + +# @inbounds for j in eachindex(boxes) +# c1, c2, c3, c4 = cnts[j] + +# (c1 == 0 && c2 == 0) && continue + +# pc = pcs[j] +# ycrit = boxes[j][2] + +# I1 = pc[3][1] # left +# I2 = pc[4][1] # right + +# # Orientation of the curve left(s=1)/right(s=2) +# s = length(I1) >= length(I2) ? 1 : 2 + +# # ---- intersection on bottom ---- +# if c1 == 1 +# # Attach to the max intersection below the bow on the correct side +# yinf = maximum(i for (i, yy) in pairs((s == 1 ? I1 : I2)) if yy[1] < ycrit[1]) + +# push!(pc[s+2][2], yinf) +# pc[1][2] = Int[] + +# cnts[j] = ( +# 0, +# c2, +# s == 1 ? c3 + 1 : c3, +# s == 2 ? c4 + 1 : c4 +# ) + +# c1, c2, c3, c4 = cnts[j] # for next step +# end + +# # ---- intersection on top ---- +# if c2 == 1 +# ymax = minimum(i for (i, yy) in pairs((s == 1 ? I1 : I2)) if yy[2] > ycrit[2]) + +# push!(pc[s+2][2], ymax) +# pc[2][2] = Int[] + +# cnts[j] = ( +# c1, +# 0, +# s == 1 ? c3 + 1 : c3, +# s == 2 ? c4 + 1 : c4 +# ) +# end +# end +# end +# #TODO: by design bottom/top sides in LnPCside are [0,0] -> remove +# return LPCside, LnPCside +# end + +############################################## + # Helper function to process a single edge of the box -function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v; max_retries=5) +function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v, outf; max_retries=5) prec = initial_prec for _ in 1:max_retries roots = isolate_eval(f, fixed_dim, fixed_val, prec=prec) - valid_indices = Int[] + indices_inside = Int[] overlap_found = false for (j, l) in pairs(roots) if in_inter(l, target_interval) - push!(valid_indices, j) + push!(indices_inside, j) elseif overlap_inter(l, target_interval) prec *= 2 v > 0 && println("IntersectBox: increase precision to $prec bits") overlap_found = true - break # Break inner for-loop to restart with higher precision + break end end - - # If we successfully processed all roots without overlap, return the results + # All roots without overlap on this edge if !overlap_found - return (roots, valid_indices) + T = QQFieldElem + return BoxEdge{T}(roots, indices_inside) end end - error("Problem when isolating on one side of a box after $max_retries attempts") end # Function that computes the intersection of a curve with a box by isolating roots on the edges -function intersect_box(f, B; prec=100, v=0) - # B[1] represents x-bounds, B[2] represents y-bounds - +function intersect_box(f, B, outf; prec=100, v=0) # Evaluate horizontal edges (fix y to B[2][1] and B[2][2], target x-interval B[1]) - edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v)::side - edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v)::side - + edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v, outf) + edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v, outf) # Evaluate vertical edges (fix x to B[1][1] and B[1][2], target y-interval B[2]) - edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v)::side - edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v)::side + edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v, outf) + edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v, outf) - # Return as a 4-Tuple of 2-Tuples - return (edge_y1, edge_y2, edge_x1, edge_x2) + # Return clean struct + T = QQFieldElem + return BoxIntersections{T}(edge_y1, edge_y2, edge_x1, edge_x2) end - """ _update_LB_first_axis!(LB, xnew) @@ -200,42 +394,43 @@ function refine_xboxes(F::Vector{T} where T<:Union{PolyRingElem, MPolyRingElem}, return _update_LB_first_axis!(LB, xnew) end -function intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0) - - LPCside = Dict{Int, Boxes}() +# Function computing the intersection of the vertical sides of the critical boxes with the curve defined by f. +# If an intersection on top/bottom side is detected, refine the width until this does not happen or max_attemps is reached. +function intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf; max_attempts=5, v=0) + # Automatically infer the point type based on outf + T = QQFieldElem + LPCside = Dict{Int, Vector{BoxIntersections{T}}}() + LnPCside = Dict{Int, Vector{NTuple{4, Int}}}() for (i, boxes) in pairs(LBcrit) prec = Lprecx[i] n = length(boxes) - - sides_vec = Vector{Sides}(undef, n) + sides_vec = Vector{BoxIntersections{T}}(undef, n) + nsides_vec = Vector{NTuple{4, Int}}(undef,n) for attempt in 1:max_attempts refined = false @inbounds for j in 1:n v >= 0 && print("i=$i ($j/$n)\r") + pc = intersect_box(f, boxes[j], outf, prec=prec, v=v) - pc = intersect_box(f, boxes[j], prec=prec, v=v)::Sides - - c1 = length(pc[1][2]) - c2 = length(pc[2][2]) - c3 = length(pc[3][2]) - c4 = length(pc[4][2]) + c1 = length(pc.bottom.indices_inside) + c2 = length(pc.top.indices_inside) + c3 = length(pc.left.indices_inside) + c4 = length(pc.right.indices_inside) if (i == 1 && (c1 + c2 + c3 + c4 > 2)) || (i != 1 && (c1 != 0 || c2 != 0)) - prec *= 2 v > 0 && println("\nRefine -> prec = $prec") - refine_xboxes(params[i][1], boxes, prec) - refined = true break end sides_vec[j] = pc + nsides_vec[j] = (c1,c2,c3,c4) end refined || break @@ -244,80 +439,49 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0 end LPCside[i] = sides_vec + LnPCside[i] = nsides_vec Lprecx[i] = prec - v >= 0 && println() end - # ---- Counts (type-stable) ---- - LnPCside = Dict{Int, Vector{NTuple{4, Int}}}() - - for (i, vec) in pairs(LPCside) - LnPCside[i] = [ - ( - length(pc[1][2]), - length(pc[2][2]), - length(pc[3][2]), - length(pc[4][2]) - ) - for pc in vec - ] - end - - # ---- Extremal case (i == 1) ---- + # ---- Extremal case (i == 1) we vertically enlarge boxes manually ----- + # TODO: here we modify only LPCside and LnPCside, not LBcrit if haskey(LBcrit, 1) - boxes = LBcrit[1] - pcs = LPCside[1] - cnts = LnPCside[1] + boxes, pcs, npcs = LBcrit[1], LPCside[1], LnPCside[1] @inbounds for j in eachindex(boxes) - c1, c2, c3, c4 = cnts[j] + c1, c2, c3, c4 = npcs[j] - (c1 == 0 && c2 == 0) && continue + (c1 == 0 && c2 == 0) && continue # Nothing to do pc = pcs[j] ycrit = boxes[j][2] - I1 = pc[3][1] # left - I2 = pc[4][1] # right - # Orientation of the curve left(s=1)/right(s=2) - s = length(I1) >= length(I2) ? 1 : 2 + s = length(pc.left.points) >= length(pc.right.points) ? 1 : 2 + side_pts = s == 1 ? pc.left.points : pc.right.points + side_indices = s == 1 ? pc.left.indices_inside : pc.right.indices_inside # ---- intersection on bottom ---- if c1 == 1 - # Attach to the max intersection below the bow on the correct side - yinf = maximum(i for (i, yy) in pairs((s == 1 ? I1 : I2)) if yy[1] < ycrit[1]) - - push!(pc[s+2][2], yinf) - pc[1][2] = Int[] - - cnts[j] = ( - 0, - c2, - s == 1 ? c3 + 1 : c3, - s == 2 ? c4 + 1 : c4 - ) - - c1, c2, c3, c4 = cnts[j] # for next step + # Attach to the max intersection below the box on the correct side + ind_yinf = maximum(i for (i, yy) in pairs(side_pts) if yy < ycrit[1]) + push!(side_indices, ind_yinf) + empty!(pc.bottom.indices_inside) + npcs[j] = (0, c2, s == 1 ? c3 + 1 : c3, s == 2 ? c4 + 1 : c4) end + c1, c2, c3, c4 = npcs[j] # In case this has changed # ---- intersection on top ---- if c2 == 1 - ymax = minimum(i for (i, yy) in pairs((s == 1 ? I1 : I2)) if yy[2] > ycrit[2]) - - push!(pc[s+2][2], ymax) - pc[2][2] = Int[] - - cnts[j] = ( - c1, - 0, - s == 1 ? c3 + 1 : c3, - s == 2 ? c4 + 1 : c4 - ) + # Attach to the min intersection above the bow on the correct side + ind_ymax = minimum(i for (i, yy) in pairs(side_pts) if yy > ycrit[2]) + push!(side_indices, ind_ymax) + empty!(pc.top.indices_inside) + npcs[j] = (c1, 0, s == 1 ? c3 + 1 : c3, s == 2 ? c4 + 1 : c4) end end end - #TODO: by design bottom/top sides in LnPCside are [0,0] -> remove + return LPCside, LnPCside end \ No newline at end of file diff --git a/src/connectivity/newgraph.jl b/src/connectivity/newgraph.jl new file mode 100644 index 0000000..f2d7db7 --- /dev/null +++ b/src/connectivity/newgraph.jl @@ -0,0 +1,186 @@ +# ========================================================================= +# GRAPH DECOMPOSITION +# ========================================================================= + +""" + connected_components(G::CurveGraph{T}) where T + +Decomposes a graph into its connected components. + +# Inputs +- `G::CurveGraph{T}`: The unified curve graph. + +# Outputs +- `Vector{CurveGraph{T}}`: A list of disjoint subgraphs. Each subgraph retains + the mapped coordinates, edges, and control nodes belonging to its component. +""" +function connected_components(G::CurveGraph{T}) where T + nv = length(G.vertices) + + # Work with vertices to avoid missing isolated vertices + adj_list = [Int[] for _ in 1:nv] + for (u, v) in G.edges + push!(adj_list[u], v) + push!(adj_list[v], u) + end + + visited = falses(nv) + components = Vector{Vector{Int}}() + + # Iterative DFS + for i in 1:nv + if !visited[i] + comp = Int[] + stack = [i] + visited[i] = true + while !isempty(stack) + curr = pop!(stack) + push!(comp, curr) + for neighbor in adj_list[curr] + if !visited[neighbor] + visited[neighbor] = true + push!(stack, neighbor) + end + end + end + push!(components, comp) + end + end + + # Mapping global vertex ID -> (component ID, local vertex ID) + vertex_map = Vector{Tuple{Int, Int}}(undef, nv) + for (cid, comp) in enumerate(components) + for (local_id, global_id) in enumerate(comp) + vertex_map[global_id] = (cid, local_id) + end + end + + # Group edges in O(E) time using the map + comp_edges = [Tuple{Int, Int}[] for _ in 1:length(components)] + for (u, v) in G.edges + cid_u, local_u = vertex_map[u] + cid_v, local_v = vertex_map[v] + push!(comp_edges[cid_u], (local_u, local_v)) + end + + # Reconstruct subgraphs into clean CurveGraph structs + subgraphs = CurveGraph{T}[] + for (cid, comp) in enumerate(components) + new_verts = G.vertices[comp] + new_edges = comp_edges[cid] + new_control = Dict{Int, Vector{Int}}() + + # Keep track of control points falling into this specific component + for (k, v_list) in G.control_nodes + local_v_list = Int[] + for global_v in v_list + c, local_v = vertex_map[global_v] + if c == cid + push!(local_v_list, local_v) + end + end + if !isempty(local_v_list) + new_control[k] = local_v_list + end + end + + push!(subgraphs, CurveGraph{T}(new_verts, new_edges, new_control)) + end + + return subgraphs +end + +""" + group_by_component(G::CurveGraph) + +# Outputs +- `Vector{Dict{Int, Vector{Int}}}`: Returns just the control nodes mapped to each connected component. +""" +function group_by_component(G::CurveGraph) + subgraphs = connected_components(G) + return [sg.control_nodes for sg in subgraphs if !isempty(sg.vertices)] +end + +""" + number_connected_components(G::CurveGraph) + +# Outputs +- `Int`: The count of isolated subgraphs in the parent structure. +""" +number_connected_components(G::CurveGraph) = length(connected_components(G)) + + +# ========================================================================= +# GRAPH MERGING +# ========================================================================= + +""" + merge_graphs(graphs::Vector{CurveGraph{T}}) where T + +Merges a collection of disjoint graphs into a single graph, mathematically fusing +vertices that share common `control_nodes` mappings. + +# Inputs +- `graphs::Vector{CurveGraph{T}}`: A list of graphs. `graphs[i].control_nodes[k]` + should contain the local vertex indices in graph `i` that connect to graph `k`. + +# Outputs +- `CurveGraph{T}`: A unified graph struct. +""" +function merge_graphs(graphs::Vector{CurveGraph{T}}) where T + isempty(graphs) && return CurveGraph{T}(Tuple{T,T}[], Tuple{Int,Int}[], Dict{Int, Vector{Int}}()) + length(graphs) == 1 && return deepcopy(graphs[1]) + + Vtot = copy(graphs[1].vertices) + Etot = copy(graphs[1].edges) + + # Dictionary to track: (graph_id, local_vertex_id) -> merged_global_id + global_map = Dict{Tuple{Int, Int}, Int}() + for i in 1:length(graphs[1].vertices) + global_map[(1, i)] = i + end + + for i in 2:length(graphs) + G_i = graphs[i] + + # Step 1: Pre-map common control nodes connected to previously merged graphs + for (k, common_indices_in_i) in G_i.control_nodes + if k < i && haskey(graphs[k].control_nodes, i) + common_indices_in_k = graphs[k].control_nodes[i] + # Zip ensures we pair corresponding control nodes precisely + for (idx_i, idx_k) in zip(common_indices_in_i, common_indices_in_k) + global_map[(i, idx_i)] = global_map[(k, idx_k)] + end + end + end + + # Step 2: Add completely new (unmapped) vertices from G_i to Vtot + for idx_i in 1:length(G_i.vertices) + if !haskey(global_map, (i, idx_i)) + push!(Vtot, G_i.vertices[idx_i]) + global_map[(i, idx_i)] = length(Vtot) + end + end + + # Step 3: Append the edges using the newly mapped global indices + for (u, v) in G_i.edges + push!(Etot, (global_map[(i, u)], global_map[(i, v)])) + end + end + + # Step 4: Preserve external control nodes pointing OUTSIDE the merged structure + merged_control = Dict{Int, Vector{Int}}() + num_graphs = length(graphs) + + for i in 1:num_graphs + for (k, v_list) in graphs[i].control_nodes + # If `k` points to a graph outside of the ones we just merged + if k > num_graphs || k <= 0 + mapped_v = [global_map[(i, v)] for v in v_list] + append!(get!(merged_control, k, Int[]), mapped_v) + end + end + end + + return CurveGraph{T}(Vtot, Etot, merged_control) +end \ No newline at end of file diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index c2e8a42..e160b85 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -4,7 +4,7 @@ function plot_graph(G, Vemph::Vector{Vector{T}} where T<:Any; color="red", width if !subplt plot(legend=false) end - V, E = G + V, E = G.vertices, G.edges #col = distinguishable_colors(length(Vemph)+2) for e in E v1, v2 = [ map(Float64, V[ee]) for ee in e ] diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index 4c69d3f..2bf637d 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -51,3 +51,20 @@ macro iftime(v, ex) end end end + +""" + extract_point(I, outf::Bool) + +Convert an isolation interval `I = [a, b]` into a single representative point. +""" +function extract_point(I, outf::Bool; interval::Bool=false) + a, b = I[1], I[2] + if outf + return interval ? (Float64(a),Float64(b)) : Float64(a + b) / 2.0 + else + return interval ? (a,b) : simplest_between(a, b) # Nemo's native simplest rational function + end +end + +# Helper for averaging two extracted points +average_points(a, b, outf::Bool) = outf ? (a + b) / 2.0 : (a + b) // 2 \ No newline at end of file From d68c292c9066a6be5d53dc1d6946d1f9652001d9 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 14 Apr 2026 19:46:58 +0200 Subject: [PATCH 147/180] new version of whole code with new data structure --- src/connectivity/connectcurves.jl | 205 +------------------------ src/connectivity/graph.jl | 238 +++++++++++++++++++----------- src/connectivity/newgraph.jl | 186 ----------------------- 3 files changed, 150 insertions(+), 479 deletions(-) delete mode 100644 src/connectivity/newgraph.jl diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 150f0c1..3bf4806 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -7,14 +7,14 @@ export compute_graph, connected_components, number_connected_components, group_b rat_to_arb, evaluate_arb, evaluate_arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit +include("datastruct.jl") include("tools.jl") include("subresultants.jl") include("isolateboxes.jl") -include("newgraph.jl") +include("graph.jl") include("plots.jl") include("arbtools.jl") include("buildpoly.jl") -include("datastruct.jl") # Input: # The space curve is given by f(x,y) = 0 and (df/dy)(x,y)*z = g(x,y) @@ -23,207 +23,6 @@ include("datastruct.jl") # C is a list of parametrization [p,a,b] of plane pts i.e. such that p(x)=0,y=a(x)/b(x) # these points must be on the curve # Output: Computes a graph homeomorphic to the curve, identitying point in C -# function compute_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, int_coeff=true, outf=true) where (P <: MPolyRingElem) -# R = parent(f) -# x, y = gens(R) -# intC = int_coeff ? int_coeffs : identity -# # Pre-processing the input -# f, g = intC([f,g]) -# changemat = generic ? [1 0; 0 1] : trimat_rand(QQ, 2, range=-100:100) -# f = evaluate(f, collect(changemat*[x; y])); -# v > 1 && println(f) -# precx = precx <= 1 ? 2 : precx - -# v > 0 && println("Compute parametrization of critical pts...") -# @iftime (v > 0) params = param_crit_split(f,g,v=v-1, detect_app=true) -# #@iftime (v > 0) params = mmod_param_crit(f, g,v=v-1, detect_app=true) -# for i in 1:length(C) -# params[-i] = [ [C[i][1] |> intC], C[i][2], C[i][3] ] -# end - -# v > 0 && println("Computing insulating critical boxes") -# @iftime (v > 0) LBcrit, Lprecx = insulate_crit_boxes(f, params, precx, v=v-1) - -# v > 0 && println("Compute intersections with critical boxes..") -# @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf, v=v-1) - -# # Graph computation -# fct, typeout = outf ? (Float64, Float64) : (identity, QQFieldElem) -# # Critical values and their order -# xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in eachindex(LBcrit)) -# xcritpermut = order_permut2d(xcrit) -# # List of vertex: at index i is the tuple of the coordinates of the i-th vertex -# Vert = Vector{Tuple{typeout, typeout}}() -# # List of edges: a tuple (i,j) is an edge between the i-th and j-th vertices -# Edg = Vector{Tuple{Int, Int}}() -# Corr = Dict( m => [[[], [[], [], []], []] for j in xcrit[m] ] for m in eachindex(xcrit)) -# Vcon = [ [] for _ in 1:length(C) ] - -# # Keep track of processed isolated & apparent singularities -# Lapp = [[],[]] - -# for ind in eachindex(xcritpermut) -# i, j = xcritpermut[ind] - -# if ind > 1 -# i1, j1 = xcritpermut[ind - 1] -# end -# if ind < length(xcritpermut) -# i2, j2 = xcritpermut[ind + 1] -# I2L, = LPCside[i2][j2][3] -# end - -# PCside = LPCside[i][j] -# I = [ l[1] for l in PCside[3:end] ] -# nI = [ l[2] for l in PCside[3:end] ] - -# xcmid = sum(LBcrit[i][j][1])//2 |> fct -# ycmid = sum(LBcrit[i][j][2])//2 |> fct - -# ymincrit = minimum(vcat(nI[1], nI[2], [length(I[1])+1])) -# # Construct vertices -# ########################### -# # On the vertical left side -# if ind > 1 -# for k in 1:length(I[1]) -# push!(Corr[i][j][1], Corr[i1][j1][3][k]) -# end -# else -# for k in 1:length(I[1]) -# push!(Vert, (xcrit[i][j][1], sum(I[1][k])//2) .|> fct) -# push!(Corr[i][j][1], length(Vert)) -# end -# end -# ########################### -# # On the vertical right side -# if ind < length(xcritpermut) -# for k in 1:length(I[2]) -# push!(Vert, ((xcrit[i][j][2] + xcrit[i2][j2][1])//2, sum(I[2][k] + I2L[k])//4) .|> fct) -# push!(Corr[i][j][3], length(Vert)) -# end -# else -# for k in 1:length(I[2]) -# push!(Vert, (xcrit[i][j][2], sum(I[2][k])//2) .|> fct) -# push!(Corr[i][j][3], length(Vert)) -# end -# end -# ########################### -# # Below the critical point -# for k in 1:ymincrit-1 -# push!(Vert, (xcmid, sum(I[1][k] + I[2][k])// 4) .|> fct) -# push!(Corr[i][j][2][1], length(Vert)) -# push!(Edg, (Corr[i][j][1][k], length(Vert))) # left -# push!(Edg, (length(Vert), Corr[i][j][3][k])) # right -# end -# ########################### -# # The critical point -# ########################## -# # If we are dealing with a isolated node -# if i in [0,2] && isempty(nI[1]) && isempty(nI[2]) -# push!(Lapp[1], (i,j)) -# # If we are dealing with an apparent singularity -# elseif i == 0 -# # We connect the pairwise opposite branches nI[1][1][i] and nI[1][2][i+1 mod 2], i=1,2 -# push!(Edg, (Corr[i][j][1][nI[1][1]], Corr[i][j][3][nI[2][2]])) -# push!(Edg, (Corr[i][j][1][nI[1][2]], Corr[i][j][3][nI[2][1]])) -# push!(Lapp[2], (i,j)) -# else -# # We can add the vertex -# push!(Vert, (xcmid, ycmid)) -# push!(Corr[i][j][2][2], length(Vert)) -# # We connect to the vertical left side of the critical box -# for k in nI[1] -# push!(Edg, (Corr[i][j][1][k], length(Vert))) -# end -# # We connect to the vertical right side of the critical box -# for k in nI[2] -# push!(Edg, (length(Vert), Corr[i][j][3][k])) -# end -# if i < 0 -# # If this is a control point -# push!(Vcon[-i], length(Vert)) -# end -# end -# ########################### -# # Above the critical point -# for k=(length(I[1]) - length(nI[1]) - ymincrit+1):-1:1 -# push!(Vert, (xcmid, sum(I[1][end - k + 1] + I[2][end - k + 1])//4) .|> fct) -# push!(Corr[i][j][2][3], length(Vert)) -# push!(Edg, (Corr[i][j][1][end - k + 1], length(Vert))) # left -# push!(Edg, (length(Vert), Corr[i][j][3][end - k + 1])) # right -# end -# end - -# if v > 0 && Lapp != [[],[]] -# println("Removed apparent singularities: $(length(Lapp[1])) isolated $(length(Lapp[2])) nodes") -# end - -# # Operate inverse change of variable if necessary -# if !(generic) -# for i in eachindex(Vert) -# vx,vy = Vert[i] -# vx,vy = fct.(changemat*[vx, vy]) -# Vert[i] = (vx, vy) -# end -# end - -# if length(C)>0 -# return (Vert, Edg), Vcon -# else -# return Vert, Edg -# end -# end - -# function compute_graph(f::P, g::P, C::Dict{Int,Vector{P}}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) -# G, Vcon = compute_graph(f, g, collect(values(C)), generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf) -# VC = Dict{Int64, Vector{Int}}([ k => Vcon[i] for (i,k) in enumerate(keys(C)) ]) -# return G, VC -# end - -# function compute_graph(f::P, g::P, C::Vector{P}; generic=true, precx = 150, v=0, arb=true, int_coeff=false, outf = true) where (P <: MPolyRingElem) -# G, (Vcon,) = compute_graph(f, g, [C], generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf = outf) -# return G, Vcon -# end - -# ################################################################ -# function group_by_component(f::P, C::Vector{P}; generic=true, precx=150, v=0, arb=true, int_coeff=false) where {P <: MPolyRingElem} -# # Compute a graph homeomorphic to Z(F) and return the vertices identified by Z(C) -# G, Vcon = compute_graph(f, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff) -# # Compute the partition of the vertices in Vcon according to the connected component in G -# sort!(Vcon) -# CVcon = group_by_component(G, Vcon) - -# # Convert the partition into abscissa order -# index_map = Dict((val, idx) for (idx, val) in enumerate(Vcon)) -# return [map(v -> index_map[v], C) for C in CVcon] -# end - -# function plot_graph(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) -# plot_graph(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) -# end - -# function plot_graph(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) -# plot_graph(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) -# end - -# function plot_graph_comp(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) -# plot_graph_comp(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) -# end - -# function plot_graph_comp(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) -# plot_graph_comp(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) -# end - -# function number_connected_components(f::P, g::P, C::Vector{Vector{P}}=Vector{Vector{P}}(); generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) -# number_connected_components(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) -# end - -# function number_connected_components(f::P, g::P, C; generic=true, precx = 150, v=0, arb=true, int_coeff=true, outf=true) where (P <: MPolyRingElem) -# number_connected_components(compute_graph(f, g, C, generic=generic, precx=precx, v=v, arb=arb, int_coeff=int_coeff, outf=outf)) -# end - -#################################### - function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; generic=true, precx=150, v=0, int_coeff=true, outf=true) where {P <: MPolyRingElem} diff --git a/src/connectivity/graph.jl b/src/connectivity/graph.jl index 026eda0..ed2dd93 100644 --- a/src/connectivity/graph.jl +++ b/src/connectivity/graph.jl @@ -1,128 +1,186 @@ -## TODO : deal with isolated vertices (not appearing in the edges) -############################ - -function index_of(x, L) - return findfirst(t->t==x,L) -end - -function connected_components(G, Vemph=[]; ind_abs=false) - # Outputs subgraphs of the connected components - ########### - vert, edges = G +# ========================================================================= +# GRAPH DECOMPOSITION +# ========================================================================= + +""" + connected_components(G::CurveGraph{T}) where T + +Decomposes a graph into its connected components. + +# Inputs +- `G::CurveGraph{T}`: The unified curve graph. + +# Outputs +- `Vector{CurveGraph{T}}`: A list of disjoint subgraphs. Each subgraph retains + the mapped coordinates, edges, and control nodes belonging to its component. +""" +function connected_components(G::CurveGraph{T}) where T + nv = length(G.vertices) + + # Work with vertices to avoid missing isolated vertices + adj_list = [Int[] for _ in 1:nv] + for (u, v) in G.edges + push!(adj_list[u], v) + push!(adj_list[v], u) + end - adj_list = Dict{Int, Vector{Int}}() - visited = Set{Int}() + visited = falses(nv) components = Vector{Vector{Int}}() - # Build adjacency list - for (i, j) in edges - push!(get!(adj_list, i, []), j) - push!(get!(adj_list, j, []), i) - end - - # Depth-first search - function dfs(node, component) - push!(visited, node) - push!(component, node) - for neighbor in adj_list[node] - if !(neighbor in visited) - dfs(neighbor, component) + # Iterative DFS + for i in 1:nv + if !visited[i] + comp = Int[] + stack = [i] + visited[i] = true + while !isempty(stack) + curr = pop!(stack) + push!(comp, curr) + for neighbor in adj_list[curr] + if !visited[neighbor] + visited[neighbor] = true + push!(stack, neighbor) + end + end end + push!(components, comp) end end - # Find connected components - for node in keys(adj_list) - if !(node in visited) - component = Vector{Int}() - dfs(node, component) - push!(components, component) + # Mapping global vertex ID -> (component ID, local vertex ID) + vertex_map = Vector{Tuple{Int, Int}}(undef, nv) + for (cid, comp) in enumerate(components) + for (local_id, global_id) in enumerate(comp) + vertex_map[global_id] = (cid, local_id) end end - # Group edges by connected component - grouped_edges = [Tuple{Int, Int}[] for _ in components] - for (idx, component) in enumerate(components) - for node in component - for neighbor in adj_list[node] - if neighbor > node && neighbor in component - push!(grouped_edges[idx], (index_of(node,component), index_of(neighbor,component))) - end - end - end + # Group edges + comp_edges = [Tuple{Int, Int}[] for _ in 1:length(components)] + for (u, v) in G.edges + cid_u, local_u = vertex_map[u] + cid_v, local_v = vertex_map[v] + push!(comp_edges[cid_u], (local_u, local_v)) end - if length(Vemph)>0 - CVemph = [ Dict(k=>[] for k in eachindex(Vemph)) for _ in eachindex(components) ] - for i in eachindex(components) - for j in eachindex(components[i]) - for k in eachindex(Vemph) - if components[i][j] in Vemph[k] - push!(CVemph[i][k], ind_abs ? components[i][j] : j) - end + # Reconstruct subgraphs into CurveGraphs + subgraphs = CurveGraph{T}[] + for (cid, comp) in enumerate(components) + new_verts = G.vertices[comp] + new_edges = comp_edges[cid] + new_control = Dict{Int, Vector{Int}}() + + # Keep track of control points falling into this specific component + for (k, v_list) in G.control_nodes + local_v_list = Int[] + for global_v in v_list + c, local_v = vertex_map[global_v] + if c == cid + push!(local_v_list, local_v) end end + if !isempty(local_v_list) + new_control[k] = local_v_list + end end - end - if length(Vemph)>0 - return [ [[[ vert[cv] for cv in components[i] ], grouped_edges[i]], CVemph[i]] for i in eachindex(components) ] - else - return [ [[ vert[cv] for cv in components[i] ], grouped_edges[i]] for i in eachindex(components) ] + push!(subgraphs, CurveGraph{T}(new_verts, new_edges, new_control)) end -end -function group_by_component(G, V) - CG = connected_components(G, V, ind_abs=true) - return filter(c->length(c)>0, [ C[2] for C in CG ]) + return subgraphs end -function number_connected_components(G) - return length(connected_components(G)) +""" + group_by_component(G::CurveGraph) + +# Outputs +- `Vector{Dict{Int, Vector{Int}}}`: Returns just the control nodes mapped to each connected component. +""" +function group_by_component(G::CurveGraph) + subgraphs = connected_components(G) + return [sg.control_nodes for sg in subgraphs if !isempty(sg.vertices)] end +""" + number_connected_components(G::CurveGraph) + +# Outputs +- `Int`: The count of isolated subgraphs in the parent structure. +""" +number_connected_components(G::CurveGraph) = length(connected_components(G)) + + +# ========================================================================= +# GRAPH MERGING +# ========================================================================= + +""" + merge_graphs(graphs::Vector{CurveGraph{T}}) where T + +Merges a collection of disjoint graphs into a single graph, mathematically fusing +vertices that share common `control_nodes` mappings. + +# Inputs +- `graphs::Vector{CurveGraph{T}}`: A list of graphs. `graphs[i].control_nodes[k]` + should contain the local vertex indices in graph `i` that connect to graph `k`. -function merge_graphs(LG::Vector{Tuple{Vector{Tuple{T,T}}, Vector{Tuple{Int,Int}}}} where T<:Union{Float64, QQFieldElem}, LVC::Vector{Dict{Int, Vector{Int}}}) - # Initialize merged graph with the vertices and edges of the first graph - Vtot, Etot = deepcopy(LG[1]) +# Outputs +- `CurveGraph{T}`: A unified graph struct. +""" +function merge_graphs(graphs::Vector{CurveGraph{T}}) where T + isempty(graphs) && return CurveGraph{T}(Tuple{T,T}[], Tuple{Int,Int}[], Dict{Int, Vector{Int}}()) + length(graphs) == 1 && return deepcopy(graphs[1]) - # To keep track of the mapping of vertices from each graph to the merged graph - all_vertex_maps = [Dict(i => i for i in 1:length(Vtot))] + Vtot = copy(graphs[1].vertices) + Etot = copy(graphs[1].edges) - # Iterate over each graph G_i in LG starting from the second graph - for i in 2:length(LG) - Vi, Ei = LG[i] # Vertices and edges of the current graph + # Dictionary to track: (graph_id, local_vertex_id) -> merged_global_id + global_map = Dict{Tuple{Int, Int}, Int}() + for i in 1:length(graphs[1].vertices) + global_map[(1, i)] = i + end - # Dictionary to map vertices of Gi to their new indices in Vtot - vertex_index_map = Dict() + for i in 2:length(graphs) + G_i = graphs[i] - # Step 1: Map common vertices from Gi to existing vertices in Vtot - for (k, common_indices) in LVC[i] - if k < i - # Map each common vertex in Gi to its corresponding vertex in Gk (already merged) - for (j, idx) in enumerate(common_indices) - vertex_index_map[idx] = all_vertex_maps[k][LVC[k][i][j]] + # Step 1: Pre-map common control nodes connected to previously merged graphs + for (k, common_indices_in_i) in G_i.control_nodes + if k < i && haskey(graphs[k].control_nodes, i) + common_indices_in_k = graphs[k].control_nodes[i] + # Zip ensures we pair corresponding control nodes precisely + for (idx_i, idx_k) in zip(common_indices_in_i, common_indices_in_k) + global_map[(i, idx_i)] = global_map[(k, idx_k)] end end end - # Step 2: Add non-common vertices from Gi to Vtot - for idx in 1:length(Vi) - if !haskey(vertex_index_map, idx) # If not already mapped, it's a new vertex - vertex_index_map[idx] = push!(Vtot, Vi[idx]) |> length + # Step 2: Add completely new (unmapped) vertices from G_i to Vtot + for idx_i in 1:length(G_i.vertices) + if !haskey(global_map, (i, idx_i)) + push!(Vtot, G_i.vertices[idx_i]) + global_map[(i, idx_i)] = length(Vtot) end end - # Step 3: Merge edges of Gi into the merged graph - new_edges = [(vertex_index_map[i], vertex_index_map[j]) for (i, j) in Ei] - append!(Etot, new_edges) - # Store the vertex index mapping for Gi for future merges - push!(all_vertex_maps, vertex_index_map) + # Step 3: Append the edges using the newly mapped global indices + for (u, v) in G_i.edges + push!(Etot, (global_map[(i, u)], global_map[(i, v)])) + end end - return Vtot, Etot -end + # Step 4: Preserve external control nodes pointing OUTSIDE the merged structure + merged_control = Dict{Int, Vector{Int}}() + num_graphs = length(graphs) + + for i in 1:num_graphs + for (k, v_list) in graphs[i].control_nodes + # If `k` points to a graph outside of the ones we just merged + if k > num_graphs || k <= 0 + mapped_v = [global_map[(i, v)] for v in v_list] + append!(get!(merged_control, k, Int[]), mapped_v) + end + end + end -function merge_graphs(LGVC::Vector{Tuple{Tuple{Vector{Tuple{T, T}}, Vector{Tuple{Int64, Int64}}}, Dict{Int64, Vector{Int64}}}} where T<:Union{Float64, QQFieldElem}) - return merge_graphs(first.(LGVC), last.(LGVC)) + return CurveGraph{T}(Vtot, Etot, merged_control) end \ No newline at end of file diff --git a/src/connectivity/newgraph.jl b/src/connectivity/newgraph.jl deleted file mode 100644 index f2d7db7..0000000 --- a/src/connectivity/newgraph.jl +++ /dev/null @@ -1,186 +0,0 @@ -# ========================================================================= -# GRAPH DECOMPOSITION -# ========================================================================= - -""" - connected_components(G::CurveGraph{T}) where T - -Decomposes a graph into its connected components. - -# Inputs -- `G::CurveGraph{T}`: The unified curve graph. - -# Outputs -- `Vector{CurveGraph{T}}`: A list of disjoint subgraphs. Each subgraph retains - the mapped coordinates, edges, and control nodes belonging to its component. -""" -function connected_components(G::CurveGraph{T}) where T - nv = length(G.vertices) - - # Work with vertices to avoid missing isolated vertices - adj_list = [Int[] for _ in 1:nv] - for (u, v) in G.edges - push!(adj_list[u], v) - push!(adj_list[v], u) - end - - visited = falses(nv) - components = Vector{Vector{Int}}() - - # Iterative DFS - for i in 1:nv - if !visited[i] - comp = Int[] - stack = [i] - visited[i] = true - while !isempty(stack) - curr = pop!(stack) - push!(comp, curr) - for neighbor in adj_list[curr] - if !visited[neighbor] - visited[neighbor] = true - push!(stack, neighbor) - end - end - end - push!(components, comp) - end - end - - # Mapping global vertex ID -> (component ID, local vertex ID) - vertex_map = Vector{Tuple{Int, Int}}(undef, nv) - for (cid, comp) in enumerate(components) - for (local_id, global_id) in enumerate(comp) - vertex_map[global_id] = (cid, local_id) - end - end - - # Group edges in O(E) time using the map - comp_edges = [Tuple{Int, Int}[] for _ in 1:length(components)] - for (u, v) in G.edges - cid_u, local_u = vertex_map[u] - cid_v, local_v = vertex_map[v] - push!(comp_edges[cid_u], (local_u, local_v)) - end - - # Reconstruct subgraphs into clean CurveGraph structs - subgraphs = CurveGraph{T}[] - for (cid, comp) in enumerate(components) - new_verts = G.vertices[comp] - new_edges = comp_edges[cid] - new_control = Dict{Int, Vector{Int}}() - - # Keep track of control points falling into this specific component - for (k, v_list) in G.control_nodes - local_v_list = Int[] - for global_v in v_list - c, local_v = vertex_map[global_v] - if c == cid - push!(local_v_list, local_v) - end - end - if !isempty(local_v_list) - new_control[k] = local_v_list - end - end - - push!(subgraphs, CurveGraph{T}(new_verts, new_edges, new_control)) - end - - return subgraphs -end - -""" - group_by_component(G::CurveGraph) - -# Outputs -- `Vector{Dict{Int, Vector{Int}}}`: Returns just the control nodes mapped to each connected component. -""" -function group_by_component(G::CurveGraph) - subgraphs = connected_components(G) - return [sg.control_nodes for sg in subgraphs if !isempty(sg.vertices)] -end - -""" - number_connected_components(G::CurveGraph) - -# Outputs -- `Int`: The count of isolated subgraphs in the parent structure. -""" -number_connected_components(G::CurveGraph) = length(connected_components(G)) - - -# ========================================================================= -# GRAPH MERGING -# ========================================================================= - -""" - merge_graphs(graphs::Vector{CurveGraph{T}}) where T - -Merges a collection of disjoint graphs into a single graph, mathematically fusing -vertices that share common `control_nodes` mappings. - -# Inputs -- `graphs::Vector{CurveGraph{T}}`: A list of graphs. `graphs[i].control_nodes[k]` - should contain the local vertex indices in graph `i` that connect to graph `k`. - -# Outputs -- `CurveGraph{T}`: A unified graph struct. -""" -function merge_graphs(graphs::Vector{CurveGraph{T}}) where T - isempty(graphs) && return CurveGraph{T}(Tuple{T,T}[], Tuple{Int,Int}[], Dict{Int, Vector{Int}}()) - length(graphs) == 1 && return deepcopy(graphs[1]) - - Vtot = copy(graphs[1].vertices) - Etot = copy(graphs[1].edges) - - # Dictionary to track: (graph_id, local_vertex_id) -> merged_global_id - global_map = Dict{Tuple{Int, Int}, Int}() - for i in 1:length(graphs[1].vertices) - global_map[(1, i)] = i - end - - for i in 2:length(graphs) - G_i = graphs[i] - - # Step 1: Pre-map common control nodes connected to previously merged graphs - for (k, common_indices_in_i) in G_i.control_nodes - if k < i && haskey(graphs[k].control_nodes, i) - common_indices_in_k = graphs[k].control_nodes[i] - # Zip ensures we pair corresponding control nodes precisely - for (idx_i, idx_k) in zip(common_indices_in_i, common_indices_in_k) - global_map[(i, idx_i)] = global_map[(k, idx_k)] - end - end - end - - # Step 2: Add completely new (unmapped) vertices from G_i to Vtot - for idx_i in 1:length(G_i.vertices) - if !haskey(global_map, (i, idx_i)) - push!(Vtot, G_i.vertices[idx_i]) - global_map[(i, idx_i)] = length(Vtot) - end - end - - # Step 3: Append the edges using the newly mapped global indices - for (u, v) in G_i.edges - push!(Etot, (global_map[(i, u)], global_map[(i, v)])) - end - end - - # Step 4: Preserve external control nodes pointing OUTSIDE the merged structure - merged_control = Dict{Int, Vector{Int}}() - num_graphs = length(graphs) - - for i in 1:num_graphs - for (k, v_list) in graphs[i].control_nodes - # If `k` points to a graph outside of the ones we just merged - if k > num_graphs || k <= 0 - mapped_v = [global_map[(i, v)] for v in v_list] - append!(get!(merged_control, k, Int[]), mapped_v) - end - end - end - - return CurveGraph{T}(Vtot, Etot, merged_control) -end \ No newline at end of file From 3d447b90221328746791d4fd2b9edd7ca343cb02 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 14 Apr 2026 19:55:55 +0200 Subject: [PATCH 148/180] cleaning remain plot --- src/connectivity/connectcurves.jl | 47 ++++--- src/connectivity/graph.jl | 2 +- src/connectivity/isolateboxes.jl | 202 ------------------------------ 3 files changed, 30 insertions(+), 221 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 3bf4806..8268856 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -16,6 +16,34 @@ include("plots.jl") include("arbtools.jl") include("buildpoly.jl") +# ========================================================================= +# MULTIPLE DISPATCH WRAPPERS (Clean, concise, and DRY) +# ========================================================================= + +# Base case: No 'C' provided +compute_graph(f::P, g::P; kwargs...) where {P <: MPolyRingElem} = + _compute_graph_core(f, g, Vector{Vector{P}}(); kwargs...) + +# Case 1: C is a Vector of Vectors +compute_graph(f::P, g::P, C::Vector{Vector{P}}; kwargs...) where {P <: MPolyRingElem} = + _compute_graph_core(f, g, C; kwargs...) + +# Case 2: C is a Dictionary +function compute_graph(f::P, g::P, C::Dict{Int, Vector{P}}; kwargs...) where {P <: MPolyRingElem} + graph = _compute_graph_core(f, g, collect(values(C)); kwargs...) + # Remap Vcon dictionary keys to match original dict keys + mapped_vcon = Dict{Int, Vector{Int}}(k => graph.control_nodes[i] for (i, k) in enumerate(keys(C))) + return CurveGraph(graph.vertices, graph.edges, mapped_vcon) +end + +# Case 3: C is a single Vector +compute_graph(f::P, g::P, C::Vector{P}; kwargs...) where {P <: MPolyRingElem} = + _compute_graph_core(f, g, [C]; kwargs...) + +# ========================================================================= +# CORE IMPLEMENTATION +# ========================================================================= + # Input: # The space curve is given by f(x,y) = 0 and (df/dy)(x,y)*z = g(x,y) # it is assumed in generic position of put it using generic parameter @@ -167,21 +195,4 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; # Return the unified data structure return CurveGraph{QQFieldElem}(Vert, Edg, Vcon) -end - -# Multi-dispatch wrappers returning the Graph Struct -compute_graph(f::P, g::P; kwargs...) where {P <: MPolyRingElem} = - _compute_graph_core(f, g, Vector{Vector{P}}(); kwargs...) - -compute_graph(f::P, g::P, C::Vector{Vector{P}}; kwargs...) where {P <: MPolyRingElem} = - _compute_graph_core(f, g, C; kwargs...) - -function compute_graph(f::P, g::P, C::Dict{Int, Vector{P}}; kwargs...) where {P <: MPolyRingElem} - graph = _compute_graph_core(f, g, collect(values(C)); kwargs...) - # Remap Vcon dictionary keys to match original dict keys - mapped_vcon = Dict{Int, Vector{Int}}(k => graph.control_nodes[i] for (i, k) in enumerate(keys(C))) - return CurveGraph(graph.vertices, graph.edges, mapped_vcon) -end - -compute_graph(f::P, g::P, C::Vector{P}; kwargs...) where {P <: MPolyRingElem} = - _compute_graph_core(f, g, [C]; kwargs...) \ No newline at end of file +end \ No newline at end of file diff --git a/src/connectivity/graph.jl b/src/connectivity/graph.jl index ed2dd93..2ec31c5 100644 --- a/src/connectivity/graph.jl +++ b/src/connectivity/graph.jl @@ -11,7 +11,7 @@ Decomposes a graph into its connected components. - `G::CurveGraph{T}`: The unified curve graph. # Outputs -- `Vector{CurveGraph{T}}`: A list of disjoint subgraphs. Each subgraph retains +- `Vector{CurveGraph{T}}`: A list of disjoint subgraphs. Each subgraph retains the mapped coordinates, edges, and control nodes belonging to its component. """ function connected_components(G::CurveGraph{T}) where T diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index 8c2b6a7..d895eaf 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -1,8 +1,3 @@ -const side = Tuple{Vector{Vector{QQFieldElem}}, Vector{Int}} -const Sides = NTuple{4, side} -const Boxes = Vector{Sides} - - in_inter(I, J) = J[1] <= I[1] && I[2] <= J[2] overlap_inter(I, J) = max(I[1], J[1]) <= min(I[2], J[2]) @@ -128,203 +123,6 @@ function insulate_crit_boxes(f, params, precx; max_attempts=5, v=0) return LBcrit, Lprecx end -####################################################### - -# # Helper function to process a single edge of the box -# function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v; max_retries=5) -# prec = initial_prec - -# for _ in 1:max_retries -# roots = isolate_eval(f, fixed_dim, fixed_val, prec=prec) -# indices_inside = Int[] -# overlap_found = false - -# for (j, l) in pairs(roots) -# if in_inter(l, target_interval) -# push!(indices_inside, j) -# elseif overlap_inter(l, target_interval) -# prec *= 2 -# v > 0 && println("IntersectBox: increase precision to $prec bits") -# overlap_found = true -# break # Break inner for-loop to restart with higher precision -# end -# end - -# # If we successfully processed all roots without overlap, return the results -# if !overlap_found -# return (roots, indices_inside) -# end -# end - -# error("Problem when isolating on one side of a box after $max_retries attempts") -# end - -# # Function that computes the intersection of a curve with a box by isolating roots on the edges -# function intersect_box(f, B; prec=100, v=0) -# # B[1] represents x-bounds, B[2] represents y-bounds - -# # Evaluate horizontal edges (fix y to B[2][1] and B[2][2], target x-interval B[1]) -# edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v)::side -# edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v)::side - -# # Evaluate vertical edges (fix x to B[1][1] and B[1][2], target y-interval B[2]) -# edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v)::side -# edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v)::side - -# # Return as a 4-Tuple of 2-Tuples -# return (edge_y1, edge_y2, edge_x1, edge_x2) -# end - - -# """ -# _update_LB_first_axis!(LB, xnew) - -# Replace first coordinate of each box in LB with corresponding xnew interval. -# """ -# function _update_LB_first_axis!(LB, xnew) -# @inbounds for i in eachindex(LB) -# LB[i][1] = xnew[i] -# end -# return LB -# end - -# """ -# refine_xboxes(f, LB, prec) - -# Refine LB along first axis using roots of polynomials in F -# The order in F is assumed to match the one in LB -# """ -# function refine_xboxes(F::Vector{T} where T<:Union{PolyRingElem, MPolyRingElem}, LB, prec) -# # Concatenate all roots from isolating each polynomial in F -# xnew = reduce(vcat, [isolate(f, prec=prec) for f in F]) - -# _expand_degenerate_intervals!(xnew, prec) -# return _update_LB_first_axis!(LB, xnew) -# end - -# function intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0) - -# LPCside = Dict{Int, Boxes}() - -# for (i, boxes) in pairs(LBcrit) -# prec = Lprecx[i] -# n = length(boxes) - -# sides_vec = Vector{Sides}(undef, n) - -# for attempt in 1:max_attempts -# refined = false - -# @inbounds for j in 1:n -# v >= 0 && print("i=$i ($j/$n)\r") - -# pc = intersect_box(f, boxes[j], prec=prec, v=v)::Sides - -# c1 = length(pc[1][2]) -# c2 = length(pc[2][2]) -# c3 = length(pc[3][2]) -# c4 = length(pc[4][2]) - -# if (i == 1 && (c1 + c2 + c3 + c4 > 2)) || -# (i != 1 && (c1 != 0 || c2 != 0)) - -# prec *= 2 -# v > 0 && println("\nRefine -> prec = $prec") - -# refine_xboxes(params[i][1], boxes, prec) - -# refined = true -# break -# end - -# sides_vec[j] = pc -# end - -# refined || break -# attempt == max_attempts && -# error("Problem in computing intersections (i=$i)") -# end - -# LPCside[i] = sides_vec -# Lprecx[i] = prec - -# v >= 0 && println() -# end - -# # ---- Counts (type-stable) ---- -# LnPCside = Dict{Int, Vector{NTuple{4, Int}}}() - -# for (i, vec) in pairs(LPCside) -# LnPCside[i] = [ -# ( -# length(pc[1][2]), -# length(pc[2][2]), -# length(pc[3][2]), -# length(pc[4][2]) -# ) -# for pc in vec -# ] -# end - -# # ---- Extremal case (i == 1) ---- -# if haskey(LBcrit, 1) -# boxes = LBcrit[1] -# pcs = LPCside[1] -# cnts = LnPCside[1] - -# @inbounds for j in eachindex(boxes) -# c1, c2, c3, c4 = cnts[j] - -# (c1 == 0 && c2 == 0) && continue - -# pc = pcs[j] -# ycrit = boxes[j][2] - -# I1 = pc[3][1] # left -# I2 = pc[4][1] # right - -# # Orientation of the curve left(s=1)/right(s=2) -# s = length(I1) >= length(I2) ? 1 : 2 - -# # ---- intersection on bottom ---- -# if c1 == 1 -# # Attach to the max intersection below the bow on the correct side -# yinf = maximum(i for (i, yy) in pairs((s == 1 ? I1 : I2)) if yy[1] < ycrit[1]) - -# push!(pc[s+2][2], yinf) -# pc[1][2] = Int[] - -# cnts[j] = ( -# 0, -# c2, -# s == 1 ? c3 + 1 : c3, -# s == 2 ? c4 + 1 : c4 -# ) - -# c1, c2, c3, c4 = cnts[j] # for next step -# end - -# # ---- intersection on top ---- -# if c2 == 1 -# ymax = minimum(i for (i, yy) in pairs((s == 1 ? I1 : I2)) if yy[2] > ycrit[2]) - -# push!(pc[s+2][2], ymax) -# pc[2][2] = Int[] - -# cnts[j] = ( -# c1, -# 0, -# s == 1 ? c3 + 1 : c3, -# s == 2 ? c4 + 1 : c4 -# ) -# end -# end -# end -# #TODO: by design bottom/top sides in LnPCside are [0,0] -> remove -# return LPCside, LnPCside -# end - -############################################## # Helper function to process a single edge of the box function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v, outf; max_retries=5) From 17dfd53fdc7c88dec7221f0fadc05aeda7863cf1 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 14 Apr 2026 22:52:18 +0200 Subject: [PATCH 149/180] clean a bit everything + some small optimination --- src/connectivity/connectcurves.jl | 7 +- src/connectivity/datastruct.jl | 19 ++++++ src/connectivity/isolateboxes.jl | 21 ++++-- src/connectivity/plots.jl | 106 +++++++++++------------------- src/connectivity/tools.jl | 35 +--------- src/imports.jl | 2 +- 6 files changed, 76 insertions(+), 114 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 8268856..e9c7aa9 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -17,7 +17,7 @@ include("arbtools.jl") include("buildpoly.jl") # ========================================================================= -# MULTIPLE DISPATCH WRAPPERS (Clean, concise, and DRY) +# MULTIPLE DISPATCH WRAPPERS # ========================================================================= # Base case: No 'C' provided @@ -73,10 +73,10 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; v > 0 && println("Computing insulating critical boxes") @iftime (v > 0) LBcrit, Lprecx = insulate_crit_boxes(f, params, precx, v=v-1) - println(LBcrit) + v > 0 && println("Compute intersections with critical boxes..") @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf, v=v-1) - println(LPCside) + # Critical values and their order xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in keys(LBcrit)) xcritpermut = order_permut2d(xcrit) @@ -110,7 +110,6 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; # 1. Left side vertices # one-to-one connection with previous right side - # TODO: could be improved memory-wise if ind > 1 for k in 1:length(PCside.left.points) push!(Corr[i][j].left, Corr[i1][j1].right[k]) diff --git a/src/connectivity/datastruct.jl b/src/connectivity/datastruct.jl index 94766e3..9a138b2 100644 --- a/src/connectivity/datastruct.jl +++ b/src/connectivity/datastruct.jl @@ -26,4 +26,23 @@ struct CurveGraph{T} vertices::Vector{Tuple{T, T}} edges::Vector{Tuple{Int, Int}} control_nodes::Dict{Int, Vector{Int}} +end + +# ---------- PLOT ---------- + +struct EdgeGroup + edges::Vector{Tuple{Vector{Float64}, Vector{Float64}}} + color::Int64 + width::Float64 +end + +struct PointGroup + vertices::Tuple{Vector{Float64}, Vector{Float64}} # (x, y) + color::Int64 + marker::Symbol +end + +struct GraphPlotData + edge_group::EdgeGroup + point_groups::Vector{PointGroup} end \ No newline at end of file diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index d895eaf..f025646 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -16,8 +16,9 @@ end # univariate isolation of roots of a bivariate polynomial f whose # ivar-th variable is evaluated at val function isolate_eval(f, ivar, val; prec=64) - fev = change_ringvar(evaluate(f, [ivar], [val])) + fev = evaluate(f, [ivar], [val]) # fev *= fev |> coefficients .|> denominator |> lcm + fev = fev / content(fev) return isolate(fev, prec=prec) end @@ -47,7 +48,6 @@ function _compute_boxes_for_index!(i, params, LBcrit, precx) _expand_degenerate_intervals!(xvals, precx) arbField = ArbField(precx) - yvals = [ evaluate_arb(params[i][2], params[i][3], xc, arbField) for xc in xvals @@ -63,12 +63,9 @@ end Check if boxes at index i require refinement. """ -function _needs_refinement(i, f, LBcrit, precx) +function _needs_refinement(i, Lfyk, LBcrit, precx) arbField = ArbField(precx) m = i <= 1 ? 2 : i - # TODO: input, compute once for all i - Lfyk = diff_list(f, 2, max(i, 2)) - for box in LBcrit[i] pcrit = [rat_to_arb(c, arbField) for c in box] @@ -79,6 +76,15 @@ function _needs_refinement(i, f, LBcrit, precx) return false end +# Compute the list of the n-th first derivative of p w.r.t v +function diff_list(p, v, n) + L = Vector{typeof(p)}(undef, n + 1) + L[1] = p + @inbounds for j in 2:n+1 + L[j] = derivative(L[j-1], v) + end + return L +end """ compute_crit_and_singular_boxes(f, params, precx; max_attempts=5, v=0) @@ -90,6 +96,7 @@ critical point. """ function insulate_crit_boxes(f, params, precx; max_attempts=5, v=0) LBcrit, Lprecx = Dict(), Dict() + Lfyk = diff_list(f, 2, max(maximum(keys(params)), 2)) for i in keys(params) attempts, precxi = 0, precx @@ -101,7 +108,7 @@ function insulate_crit_boxes(f, params, precx; max_attempts=5, v=0) _compute_boxes_for_index!(i, params, LBcrit, precxi) # singularity check - if !_needs_refinement(i, f, LBcrit, precxi) + if !_needs_refinement(i, Lfyk, LBcrit, precxi) break end diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index e160b85..66ed551 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -1,10 +1,10 @@ ## Plot functions -function plot_graph(G, Vemph::Vector{Vector{T}} where T<:Any; color="red", width=3, vert=true, subplt=false) +function plot_graph(G; color="red", width=3, vert=true, subplt=false) if !subplt plot(legend=false) end - V, E = G.vertices, G.edges + V, Vcon, E = G.vertices, G.control_nodes, G.edges #col = distinguishable_colors(length(Vemph)+2) for e in E v1, v2 = [ map(Float64, V[ee]) for ee in e ] @@ -13,42 +13,28 @@ function plot_graph(G, Vemph::Vector{Vector{T}} where T<:Any; color="red", width if vert scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) end - for i in 1:length(Vemph) - scatter!( map(Float64, [V[j][1] for j in Vemph[i]]), map(Float64, [V[j][2] for j in Vemph[i]]), mc=color, m=:diamond) + for i in 1:length(Vcon) + scatter!( map(Float64, [V[j][1] for j in Vcon[i]]), map(Float64, [V[j][2] for j in Vcon[i]]), mc=color, m=:diamond) end subplt || gui() end -function plot_graph(G; color="red", width=3, vert=true, subplt=false) - plot_graph(G, Vector{Vector{QQMPolyRingElem}}(); color=color, width=width, vert=vert, subplt=subplt) -end - -function plot_graph(G, Vemph::Vector{T} where T<:Any; color="red", width=3, vert=true, subplt=false) - plot_graph(G, [Vemph], color=color, width=width, vert=vert, subplt=subplt) -end - -function plot_graph(G, Vemph::Dict{Int, Vector{T}} where T<:Any; color="red", width=3, vert=true, subplt=false) - plot_graph(G, Vemph|>values|>collect, color=color, width=width, vert=vert, subplt=subplt) -end - function plot_graphs(CG; width=3, vert=true, subplt=false) if !subplt plot(legend=false) end col = distinguishable_colors(length(CG)+2) - for j in eachindex(CG) - G, CVemph = length(CG[j][1])==2 ? CG[j] : (CG[j], Vector{Int}()) - plot_graph(G, CVemph, color=col[j+2], vert=vert, subplt=true) + for (j, G) in enumerate(CG) + plot_graph(G, color=col[j+2], vert=vert, subplt=true) end subplt || gui() #savefig("/home/remi/Documents/gittravail/test.html") #replace_width_height_in_file("/home/remi/Documents/gittravail/test.html", 1000, 750) end -function plot_graph_comp(G, Vemph=[]; width=3, vert=true, subplt=false) +function plot_graph_comp(G; width=3, vert=true, subplt=false) plot(legend=false) - CG = connected_components(G, Vemph) - #println(Vemph) + CG = connected_components(G) plot_graphs(CG, width=width, vert=vert, subplt=true) subplt || gui()#savefig("/tmp/test.html") end @@ -81,43 +67,20 @@ function replace_width_height_in_file(filename, x, y) write(filename, content) end -# ---------- TYPES ---------- - -struct EdgeGroup - edges::Vector{Tuple{Vector{Float64}, Vector{Float64}}} - color::Int64#NTuple{3,Float64} - width::Float64 -end - -struct PointGroup - vertices::Tuple{Vector{Float64}, Vector{Float64}} # (x, y) - color::Int64#NTuple{3,Float64} - marker::Symbol -end - -struct GraphPlotData - edge_groups::EdgeGroup - point_groups::Vector{PointGroup} -end - -# ---------- HELPER ---------- - -function normalize_vemph(Vemph) - if Vemph isa Vector{Vector} - return Vemph - elseif Vemph isa Vector - return [Vemph] - elseif Vemph isa Dict - return collect(values(Vemph)) - else - return Vector{Vector{Int}}() - end -end - # ---------- CORE BUILDERS ---------- -function build_graph_data(G, Vemph=Vector{Vector{Int}}(); width=3.0, vert=true, color=rand(1:666)) - Vemph = normalize_vemph(Vemph) - V, E = G +# How to plot: +# function plot_graph(P) +# plot(legend=false) +# E = P.edge_group +# plot!(E.edges, color=E.color, width = E.width) +# scatter!(V.vertices, color=V.color, marker = V.marker) for V in P.point_groups ] +# gui() +# end +# +# plot_graph(build_graphs_data(G)) + +function build_graph_data(G; width=3.0, vert=true, color=rand(1:666)) + V, Vcon, E = G.vertices, G.control_nodes, G.edges # edges edges = [ @@ -138,7 +101,7 @@ function build_graph_data(G, Vemph=Vector{Vector{Int}}(); width=3.0, vert=true, push!(point_groups, PointGroup((vx, vy), 17, :diamond)) end - for group in Vemph + for group in Vcon hx = map(j -> Float64(V[j][1]), group) hy = map(j -> Float64(V[j][2]), group) push!(point_groups, PointGroup((hx, hy), color, :diamond)) @@ -149,14 +112,21 @@ end # ---------- MULTI GRAPHS ---------- -function build_graphs_data(CG; width=3.0, vert=true) - results = GraphPlotData[] - - for item in CG - G, Vemph = length(item) == 2 ? item : item, Vector{Int}() - data = build_graph_data(G, Vemph; width=width, vert=vert, color=rand(1:666)) +# How to plot: +# function plot_graphs(P) +# plot(legend=false) +# for P in CP +# E = P.edge_group +# plot!(E.edges, color=E.color, width = E.width) +# [ scatter!(V.vertices, color=V.color, marker = V.marker) for V in P.point_groups ] +# end +# gui() +# end +# +# plot_graphs(build_graphs_data(CG)) - push!(results, data) - end - return results +function build_graphs_data(CG; width=3.0, vert=true) + c = randperm(666)[1:length(CG)] # Distinct numbers + return [build_graph_data(G; width=width, vert=vert, color=c[i]) + for (i, G) in enumerate(CG)] end \ No newline at end of file diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index 2bf637d..ce3326f 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -10,22 +10,6 @@ function order_permut2d(L) return sorted_ind end -function diff(p, v, n) - dp = p - for j in 1:n - dp = derivative(dp, v) - end - return dp -end - -function diff_list(p, v, n) - Ldp = Vector{typeof(p)}(undef, n+1) - Ldp[1] = p - for j in 1:n - Ldp[j+1] = derivative(Ldp[j], v) - end - return Ldp -end function trimat_rand(A, n; up=true, range=-100:100) if up @@ -50,21 +34,4 @@ macro iftime(v, ex) $(esc(ex)) end end -end - -""" - extract_point(I, outf::Bool) - -Convert an isolation interval `I = [a, b]` into a single representative point. -""" -function extract_point(I, outf::Bool; interval::Bool=false) - a, b = I[1], I[2] - if outf - return interval ? (Float64(a),Float64(b)) : Float64(a + b) / 2.0 - else - return interval ? (a,b) : simplest_between(a, b) # Nemo's native simplest rational function - end -end - -# Helper for averaging two extracted points -average_points(a, b, outf::Bool) = outf ? (a + b) / 2.0 : (a + b) // 2 \ No newline at end of file +end \ No newline at end of file diff --git a/src/imports.jl b/src/imports.jl index 8b14b88..cccee04 100644 --- a/src/imports.jl +++ b/src/imports.jl @@ -7,7 +7,7 @@ using Plots, Colors #pythonplot() import Plots: plot -import Random: MersenneTwister +import Random: MersenneTwister, randperm import Logging: ConsoleLogger, with_logger, Warn, Info import Printf: @sprintf, @printf From dc0562a3d622856abb674f616f345c47682fe4d1 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 14 Apr 2026 23:04:12 +0200 Subject: [PATCH 150/180] remove comment --- src/connectivity/connectcurves.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index e9c7aa9..f413e9d 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -20,7 +20,7 @@ include("buildpoly.jl") # MULTIPLE DISPATCH WRAPPERS # ========================================================================= -# Base case: No 'C' provided +# Base case: No 'C' (control points) provided compute_graph(f::P, g::P; kwargs...) where {P <: MPolyRingElem} = _compute_graph_core(f, g, Vector{Vector{P}}(); kwargs...) From ff45f94ffc3716f62497cb40af2d9428480cc6eb Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 14 Apr 2026 23:05:30 +0200 Subject: [PATCH 151/180] clean plots --- src/connectivity/plots.jl | 68 --------------------------------------- 1 file changed, 68 deletions(-) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 66ed551..f30d8f9 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -1,72 +1,4 @@ -## Plot functions -function plot_graph(G; color="red", width=3, vert=true, subplt=false) - if !subplt - plot(legend=false) - end - V, Vcon, E = G.vertices, G.control_nodes, G.edges - #col = distinguishable_colors(length(Vemph)+2) - for e in E - v1, v2 = [ map(Float64, V[ee]) for ee in e ] - plot!([v1[1], v2[1]], [v1[2], v2[2]], lc=color, lw=width) - end - if vert - scatter!( map(Float64, [v[1] for v in V]), map(Float64, [v[2] for v in V]), mc="black", m=:diamond) - end - for i in 1:length(Vcon) - scatter!( map(Float64, [V[j][1] for j in Vcon[i]]), map(Float64, [V[j][2] for j in Vcon[i]]), mc=color, m=:diamond) - end - subplt || gui() -end - -function plot_graphs(CG; width=3, vert=true, subplt=false) - if !subplt - plot(legend=false) - end - col = distinguishable_colors(length(CG)+2) - for (j, G) in enumerate(CG) - plot_graph(G, color=col[j+2], vert=vert, subplt=true) - end - subplt || gui() - #savefig("/home/remi/Documents/gittravail/test.html") - #replace_width_height_in_file("/home/remi/Documents/gittravail/test.html", 1000, 750) -end - -function plot_graph_comp(G; width=3, vert=true, subplt=false) - plot(legend=false) - CG = connected_components(G) - plot_graphs(CG, width=width, vert=vert, subplt=true) - subplt || gui()#savefig("/tmp/test.html") -end - -function replace_width_height_in_file(filename, x, y) - # Open the file and read its content as a string - content = read(filename, String) - - # Build the patterns to search for and the replacements - width_pattern = "\"width\": 600" - height_pattern = "\"height\": 400" - - # Create the replacement strings with new values of x and y - new_width = "\"width\": $x" - new_height = "\"height\": $y" - - # Replace the last occurrence of "width": 600 - last_width_pos = findlast(occursin(width_pattern), Base.split(content, "\n")) - if last_width_pos !== nothing - content = replace(content, width_pattern => new_width; count=1) - end - - # Replace the last occurrence of "height": 400 - last_height_pos = findlast(occursin(height_pattern), Base.split(content, "\n")) - if last_height_pos !== nothing - content = replace(content, height_pattern => new_height; count=1) - end - - # Write the modified content back to the file - write(filename, content) -end - # ---------- CORE BUILDERS ---------- # How to plot: # function plot_graph(P) From 69d97be919f41c8b8bb6a617cd5f555adc3db24d Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Tue, 14 Apr 2026 23:08:45 +0200 Subject: [PATCH 152/180] other cleanings --- src/connectivity/isolateboxes.jl | 4 +--- src/connectivity/tools.jl | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index f025646..dde1d52 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -1,8 +1,6 @@ in_inter(I, J) = J[1] <= I[1] && I[2] <= J[2] overlap_inter(I, J) = max(I[1], J[1]) <= min(I[2], J[2]) -# TODO: output vector of tuple for the intervals (inside real_solutions?) - # Function that isolate roots of a multivariate polynomial with a # single variable function isolate(f; prec = 32) @@ -250,7 +248,7 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf; max_attempts= end # ---- Extremal case (i == 1) we vertically enlarge boxes manually ----- - # TODO: here we modify only LPCside and LnPCside, not LBcrit + # TODO: should we also modify LBcrit? if haskey(LBcrit, 1) boxes, pcs, npcs = LBcrit[1], LPCside[1], LnPCside[1] diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index ce3326f..0ab4b4b 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -4,13 +4,11 @@ function order_permut2d(L) # Sort the enumerated list based on the values sorted_LL = sort(LL, by = x -> x[1]) # Extract the sorted values and their corresponding indices - #sorted_L = [pair[1] for pair in sorted_LL] sorted_ind = [pair[2] for pair in sorted_LL] return sorted_ind end - function trimat_rand(A, n; up=true, range=-100:100) if up return [ i==j ? one(A) : (i Date: Tue, 14 Apr 2026 23:23:24 +0200 Subject: [PATCH 153/180] keep naive subresultant and paramcrit --- src/connectivity/connectcurves.jl | 2 +- src/connectivity/plots.jl | 44 ++--- src/connectivity/subresultants.jl | 270 ++---------------------------- 3 files changed, 38 insertions(+), 278 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index f413e9d..67e367f 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -116,7 +116,7 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; end else for k in 1:length(PCside.left.points) - xval = xcrit[i][j][1] - 1 + xval = xcrit[i][j][1] yval = sum(PCside.left.points[k]) / 2 push!(Vert, (xval, yval)) push!(Corr[i][j].left, length(Vert)) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index f30d8f9..77b28c1 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -1,15 +1,17 @@ # ---------- CORE BUILDERS ---------- +""" # How to plot: -# function plot_graph(P) -# plot(legend=false) -# E = P.edge_group -# plot!(E.edges, color=E.color, width = E.width) -# scatter!(V.vertices, color=V.color, marker = V.marker) for V in P.point_groups ] -# gui() -# end -# -# plot_graph(build_graphs_data(G)) +function plot_graph(P) + plot(legend=false) + E = P.edge_group + plot!(E.edges, color=E.color, width = E.width) + [scatter!(V.vertices, color=V.color, marker = V.marker) for V in P.point_groups] + gui() +end + +plot_graph(build_graphs_data(G)) +""" function build_graph_data(G; width=3.0, vert=true, color=rand(1:666)) V, Vcon, E = G.vertices, G.control_nodes, G.edges @@ -44,18 +46,20 @@ end # ---------- MULTI GRAPHS ---------- +""" # How to plot: -# function plot_graphs(P) -# plot(legend=false) -# for P in CP -# E = P.edge_group -# plot!(E.edges, color=E.color, width = E.width) -# [ scatter!(V.vertices, color=V.color, marker = V.marker) for V in P.point_groups ] -# end -# gui() -# end -# -# plot_graphs(build_graphs_data(CG)) +function plot_graphs(P) + plot(legend=false) + for P in CP + E = P.edge_group + plot!(E.edges, color=E.color, width = E.width) + [ scatter!(V.vertices, color=V.color, marker = V.marker) for V in P.point_groups ] + end + gui() +end + +plot_graphs(build_graphs_data(CG)) +""" function build_graphs_data(CG; width=3.0, vert=true) c = randperm(666)[1:length(CG)] # Distinct numbers diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl index 4ffdaf7..b0f9012 100644 --- a/src/connectivity/subresultants.jl +++ b/src/connectivity/subresultants.jl @@ -181,7 +181,7 @@ function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false if list for (k,lsr) in enumerate(Lsr) mlsr = [] - for i in 1:k#length(lsr) + for i in 1:k tmp = [[],[]] if i in eachindex(lsr) for j in 1:length(lsr[i]) @@ -212,222 +212,6 @@ function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false return newsr end -function interp_subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, iv; list=false, Dmax=nothing) where T <: RingElement - R = parent(P) - A = coefficient_ring(R) - iu = iv%2+1 - Vu, Vv = [:x, :y] - # Modern computer Algebra Th 6.51. - degs = degrees(P) - n, d = degs[iv], degs[iu] - if isnothing(Dmax) - Dmax = [ (2*n-1-2*k)*d for k=0:d-1 ][1] - #Dmax = degsmax[end]>>1+1 - end - ## - B,t =polynomial_ring(A, Vv) - xs = A.(-Dmax//2:Dmax//2) - Srev = Vector{Vector{typeof(t)}}(undef, length(xs)) - evPQ = [ [ B(0) for pq in [P,Q] ] for xx in xs] -@time begin - Threads.@threads for i in eachindex(xs) - evPQ[i][1] = B(coefficients_of_univariate(evaluate(P,[iu],[xs[i]]))) - evPQ[i][2] = B(coefficients_of_univariate(evaluate(Q,[iu],[xs[i]]))) - end -end -@time begin - Threads.@threads for i in 1:length(xs) - Srev[i] = subresultants(evPQ[i][1], evPQ[i][2]) - end -end - Srev = [ [ collect(coefficients(ss)) for ss in s] for s in Srev ] - C, = Nemo.polynomial_ring(A,Vu) - Sr = [ [ C(0) for _=1:i] for i=1:n ] - Lys = [ [ [ (try A(Srev[l][i][j]) catch; A(0) end) for l in eachindex(Srev) ] for j in 1:i ] for i in 1:n ] -@time begin - Threads.@threads for i = 1:2 - # For the i-th subresultant - Threads.@threads for j in 0:i-1 - # Each coefficient is interpolated - Sr[i][end-j] = interpolate(C, xs, Lys[i][end-j]) - end - end -end - return Sr -end - -function mmod_subresultants(P::QQMPolyRingElem, Q::QQMPolyRingElem, idx; list=false, n_threads=Threads.nthreads(), n_ssr=-1,v=0) - PZ, QZ = change_coefficient_ring.(Ref(ZZ), int_coeffs.([P,Q])) - sr = mmod_subresultants(PZ, QZ, idx; list=list, n_threads=n_threads, n_ssr=n_ssr, v=v) - return sr - if list - return [ change_coefficient_ring.(Ref(QQ),srp) for srp in sr ] - else - return change_coefficient_ring.(Ref(QQ),sr) - end -end - -function mmod_subresultants(P::ZZMPolyRingElem, Q::ZZMPolyRingElem, idx; list=false, n_threads=Threads.nthreads(), n_ssr=0, v=0) - prim = ZZ(1)<<(61) - L1, primprod = [], ZZ(1) - Ltemp = Vector{Vector{Vector{Vector{ZZRingElem}}}}(undef,n_threads+1) - lcpq = [ evaluate(leading_coefficient(l, 2),[0,0]) for l in [P,Q] ] - compt = n_threads - while true - v > 0 && print("$compt primes ") - LP, LQ, Lprim = MPolyRingElem[], MPolyRingElem[], ZZRingElem[] - while length(Lprim) < n_threads - prim = next_prime(prim) - if !any(getindex.(divides.(lcpq, Ref(prim)),1)) - Pprim, Qprim = [ change_coefficient_ring(residue_ring(ZZ, prim)[1], poly) for poly in [P,Q] ] - #Pprim, Qprim = [ change_coefficient_ring(GF(prim), poly) for poly in [P,Q] ] - push!.([LP,LQ,Lprim], [Pprim,Qprim,prim]) - else - return prim, lcpq - end - end - @iftime v>1 begin - Threads.@threads for j in 1:n_threads - sr = subresultants(LP[j], LQ[j], idx, list=true) - Ltemp[j] = [ [ lift.(Ref(ZZ), coefficients_of_univariate(srii)) for srii in sri ] for sri in sr ] - #sr = interp_subresultants(LP[j], LQ[j], idx)[1][1] - #Ltemp[j] = lift.(Ref(ZZ), coefficients(sr)) - end - end - - if n_ssr > 0 - for j in 1:n_threads - for k in eachindex(Ltemp[j]) - Ltemp[j][k] = Ltemp[j][k][end-min(k,n_ssr)+1:end] - end - end - end - - if L1 != [] - Ltemp[n_threads+1] = copy(L1) - push!(Lprim, primprod) - end - #@assert allequal(length.(Ltemp[1:nthreads])) "Specialization problem" - Nssr = n_ssr<0 ? length(last(first(Ltemp))) : n_ssr - #println(Ltemp) - L2 = deepcopy(L1) - L1 = Vector{Vector{Vector{ZZRingElem}}}(undef, length(first(Ltemp))) - @iftime v>1 begin - Threads.@threads for i in eachindex(L1) - L1[i] = Vector{Vector{ZZRingElem}}(undef, min(i, Nssr)) - Threads.@threads for j in eachindex(L1[i]) - #println("($i,$j)") - L1[i][j] = Vector{ZZRingElem}(undef, length(Ltemp[1][i][j])) - Threads.@threads for k in eachindex(L1[i][j]) - cfs = [ try Ltemp[p][i][j][k] catch; ZZ(0) end for p in eachindex(Lprim) ] - L1[i][j][k] = crt(cfs, Lprim, true) - end - end - end - end - #println(L1) - primprod = prod(Lprim) - compt+=n_threads - v > 0 && println(ndigits(primprod, 10), " digits") - L1 != L2 || break - #compt < 20 || break - end - - v>1 && println("Convert the coefficients into polynomials") - L1Q = [ [QQ.(ss) for ss in s ] for s in L1 ] - @iftime v>0 sr = [ MPolyBuild(s, symbols(parent(P)), (idx+1)%2) for s in L1Q ] - return sr -end - -function mmod_param_crit(P::QQMPolyRingElem, Q::QQMPolyRingElem; n_threads=Threads.nthreads(), detect_app=true, v=0) - PZ, QZ = change_coefficient_ring.(Ref(ZZ), int_coeffs.([P,Q])) - pc = mmod_param_crit(PZ, QZ, n_threads=n_threads, detect_app=detect_app, v=v) - return pc - if list - return [ change_coefficient_ring.(Ref(QQ),srp) for srp in sr ] - else - return change_coefficient_ring.(Ref(QQ),sr) - end -end - -function mmod_param_crit(P::ZZMPolyRingElem, Q::ZZMPolyRingElem; n_threads=Threads.nthreads(), v=0, detect_app=true) - prim = ZZ(1)<<(61) - RS = P |> parent |> symbols - L1, L1f, primprod = [], [], ZZ(1) - Ltemp = Vector{Vector{Vector{Vector{ZZRingElem}}}}(undef,n_threads+1) - dP = derivative(P, 2) - lcpq = [ evaluate(leading_coefficient(l, 2),[0,0]) for l in [P,dP,Q] ] - compt = n_threads - while true - v > 0 && print("$compt primes ") - LP, LQ, Lprim = MPolyRingElem[], MPolyRingElem[], ZZRingElem[] - while length(Lprim) < n_threads - prim = next_prime(prim) - if !any(getindex.(divides.(lcpq, Ref(prim)),1)) - #Pprim, Qprim = [ change_coefficient_ring(residue_ring(ZZ, prim)[1], poly) for poly in [P,Q] ] - Pprim, Qprim = [ change_coefficient_ring(GF(prim), poly) for poly in [P,Q] ] - push!.([LP,LQ,Lprim], [Pprim,Qprim,prim]) - end - end - @iftime v>1 begin - Threads.@threads for j in 1:n_threads - pc = param_crit_split(LP[j], LQ[j], RS = RS, v=v-2, detect_app=detect_app) - Ltemp[j] = Vector{Vector{ZZMPolyRingElem}}(undef, length(pc)) - for (ik, k) in enumerate(eachindex(pc)) - q, a, b = pc[k] - q = first(q) - dq = derivative(q,1) - Pnum = mod(dq*gcdinv(b,q)[2]*a, q) - Ltemp[j][ik] = [ lift.(Ref(ZZ), coefficients_of_univariate(poly)) for poly in [q, Pnum, dq] ] - end - #sr = interp_subresultants(LP[j], LQ[j], idx)[1][1] - #Ltemp[j] = lift.(Ref(ZZ), coefficients(sr)) - end - end - - if L1 != [] - Ltemp[n_threads+1] = copy(L1) - push!(Lprim, primprod) - end - #println(Ltemp) - L1 = Vector{Vector{Vector{ZZRingElem}}}(undef, length(Ltemp[1])) - @iftime v>1 begin - Threads.@threads for i in eachindex(L1) - #println("($i,$j)") - L1[i] = Vector{ZZRingElem}(undef, length(Ltemp[1][i])) - Threads.@threads for j in eachindex(L1[i]) - L1[i][j] = Vector{ZZRingElem}(undef, length(Ltemp[1][i][j])) - for k in eachindex(L1[i][j]) - cfs = [ try Ltemp[p][i][j][k] catch; ZZ(0) end for p in eachindex(Lprim) ] - L1[i][j][k] = crt(cfs, Lprim, false) - end - end - end - end - primprod = prod(Lprim) - L2f = deepcopy(L1f) - try - @iftime v>1 L1f = [ [ [ reconstruct(c, primprod) for c in poly ] for poly in param ] for param in L1 ] - #println(L1f) - L1f != L2f || break - catch - println("No rational rec") - end - compt+=n_threads - v > 0 && println(ndigits(primprod, 10), " digits") - #compt < 20 || break - end - - v>1 && println("Convert the coefficients into polynomials") - L1Q = [ [ QQ.(poly) for poly in param ] for param in L1f ] - @iftime v>0 param = Dict( m => vcat( - [[int_coeffs(MPolyBuild(param[1], symbols(parent(P)), 1))]], - [ int_coeffs(MPolyBuild(poly, symbols(parent(P)), 1)) for poly in param[2:end] ]) - for (m, param) in zip([-1,1], L1Q)) - return param -end - - function fact_gcd(delta::T, LP::Vector{T}) where (T <:PolyRingElem) # delta : poly to factor w.r.t the polynomials in LP Lphi = [gcd(delta, LP[1])] @@ -442,18 +226,11 @@ function fact_gcd(delta::T, LP::Vector{T}) where (T <:PolyRingElem) return filter(s->degree(s[2])>0, Dict(enumerate(Ldelta))) end -function fact_gcd(delta::T, LP::Vector{T}, RS::Vector{Symbol}) where (T <:MPolyRingElem) - @assert is_univariate(delta) && all(is_univariate.(LP)) "Not univariate polynomial" - R = parent(delta) - A, = polynomial_ring(coefficient_ring(R), first(RS)) - out = fact_gcd(A(coefficients_of_univariate(delta)), A.(coefficients_of_univariate.(LP))) - return Dict([ (i, change_ringvar(f, [first(RS)]) ) for (i,f) in out ]) -end - -function num_biv_rat_mod(A, P, RS) +function num_biv_rat_mod(A, P) # Computes the numerator of the polynomial A(x,a(x)//b(x)) mod q # where P = [q, a, b] B = base_ring(parent(A)) + RS = symbols(B) T, = polynomial_ring(B, RS[1]) Puniv = [ T(coefficients_of_univariate(p)) for p in P ] @@ -471,10 +248,6 @@ function num_biv_rat_mod(A, P, RS) return change_ringvar(lift(Aeval), RS) end -function intersect_biv_mod(P::Vector{T} where T<:Any, A::MPolyRingElem, RS::Vector{Symbol}) - Aev = num_biv_rat_mod(A, P, RS) - return gcd(P[1], Aev) -end function intersect_biv(P::Vector{T} where T<:Any, A::MPolyRingElem) # TODO: test the reconstruction @@ -522,35 +295,24 @@ function intersect_biv(P::Vector{T} where T<:Any, A::MPolyRingElem) return int_coeffs(change_ringvar(B(dAf), RS)) end -function param_crit_split(f, g; v=0, detect_app=true, RS = nothing) - @assert (f|>parent|>base_ring|>characteristic == 0 || !isnothing(RS)) "Variable names must be provided when char>0" - if f|>parent|>base_ring|>characteristic == 0 - RS = f |> parent |> symbols - end - # Compute subresultants and factor the first subresultant - # TODO: factor f before computing subresultants or at least divide by content +function param_crit_split(f, g; v=0, detect_app=true) + # Compute subresultants v>0 && println("Compute subresultant sequence") - if total_degree(f) > 30 && f|>parent|>base_ring|>characteristic == 0 - @iftime v>0 sr = mmod_subresultants(f, derivative(f, 2), 2, list=true, n_ssr=2, v=v-1) - else - @iftime v>0 sr = subresultants(f, derivative(f, 2), 2, list=true) - end + @iftime v>0 sr = subresultants(f, derivative(f, 2), 2, list=true) if total_degree(sr[1][1]) == 0 return Dict() end # TODO: sr is univariate? check what's called - # TODO: try full factorization? - v>1 && println("Square-free factorization") - @iftime v>1 sqr = collect(factor_squarefree(sr[1][1])) + v>1 && println("Factorization") + @iftime v>1 sqr = collect(factor(sr[1][1])) # Filter out factors with zero multiplicity and sort by multiplicity sqr = sort!(filter(t -> t[2] > 0, sqr), by = t -> t[2]) # Group factors by multiplicity sqrmult = unique(getindex.(sqr, 2)) group_sqr = Dict(m => [r[1] for r in sqr if r[2] == m] for m in sqrmult) - #println(group_sqr) v>0 && println("Compute crit partition w.r.t to multiplicity") # Initalization @@ -564,35 +326,29 @@ function param_crit_split(f, g; v=0, detect_app=true, RS = nothing) end # Nodes : multiplicity 2 in res - # TODO: first test with interval arithmetics? Most of the time this will suffice v>0 && println("Compute apparent singularities") if 2 in sqrmult if detect_app @iftime v>0 begin A = derivative(derivative(f,2),2)*derivative(g,1) - derivative(derivative(f,1),2)*derivative(g,2) - if f|>parent|>base_ring|>characteristic > 0 - dA = [ (intersect_biv_mod([q, -sr[2][end-1], sr[2][end]], A, RS)) for q in group_sqr[2] ] - else - dA = [ (intersect_biv([q, -sr[2][end-1], sr[2][end]], A)) for q in group_sqr[2] ] - end - push!(param_crit, 0=>[group_sqr[2]./dA, -sr[2][end-1], sr[2][end]]) + dA = [ (intersect_biv([q, -sr[2][end-1], sr[2][end]], A)) for q in group_sqr[2] ] + push!(param_crit, 0 => [group_sqr[2]./dA, -sr[2][end-1], sr[2][end]]) append!(param_crit[2][1], dA) end else - push!(param_crit, 0=>[group_sqr[2], -sr[2][end-1], sr[2][end]]) + push!(param_crit, 0 => [group_sqr[2], -sr[2][end-1], sr[2][end]]) end end # Other sing filter!(m->!(m in [1,2]), sqrmult) - #TODO: simpler criterion for mult=p*(p-1)? lsr = [ try sr[p][end] catch; one(parent(f)) end for p in 2:(singmult[end]+1) ] Ld = Vector{Vector{Dict{Int, MPolyRingElem}}}(undef, length(sqrmult)) v>0 && println("Compute gcd decomposition") @iftime v>0 begin - Threads.@threads for k in eachindex(sqrmult) + for k in eachindex(sqrmult) Ld[k] = Vector{Dict{Int, MPolyRingElem}}(undef,length(group_sqr[sqrmult[k]])) for l in eachindex(group_sqr[sqrmult[k]]) - Ld[k][l] = fact_gcd(group_sqr[sqrmult[k]][l], lsr, RS) + Ld[k][l] = fact_gcd(group_sqr[sqrmult[k]][l], lsr) end end for k in eachindex(Ld) From 6ed305b71d8c526c8a7aa533f211987f8e88a941 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Wed, 15 Apr 2026 02:41:25 +0200 Subject: [PATCH 154/180] improvement of subresultant but bug --- src/connectivity/connectcurves.jl | 2 +- src/connectivity/subresultants-bis.jl | 310 ++++++++++++++++++++++++++ 2 files changed, 311 insertions(+), 1 deletion(-) create mode 100644 src/connectivity/subresultants-bis.jl diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 67e367f..c3344c9 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -9,7 +9,7 @@ export compute_graph, connected_components, number_connected_components, group_b include("datastruct.jl") include("tools.jl") -include("subresultants.jl") +include("subresultants-bis.jl") include("isolateboxes.jl") include("graph.jl") include("plots.jl") diff --git a/src/connectivity/subresultants-bis.jl b/src/connectivity/subresultants-bis.jl new file mode 100644 index 0000000..e996312 --- /dev/null +++ b/src/connectivity/subresultants-bis.jl @@ -0,0 +1,310 @@ +# ========================================================================= +# RING COERCION TOOLS (Replaces array wrangling and homogenize) +# ========================================================================= + +# TODO: use MPolyBuildCtx? + +""" + to_univariate(P::MPolyRingElem, var_idx::Int) + +Converts a bivariate polynomial in `K[x, y]` into a univariate polynomial in `(K[x])[y]`. +""" +function to_univariate(P::MPolyRingElem, var_idx::Int) + R = parent(P) + K = base_ring(R) + coeff_idx = 3 - var_idx # The variable to be pushed to the coefficients + + Rx, x = polynomial_ring(K, symbols(R)[coeff_idx]) + Rxy, y = polynomial_ring(Rx, symbols(R)[var_idx]) + + res = zero(Rxy) + for (c, exp) in zip(coefficients(P), exponent_vectors(P)) + # Build the coefficient in Rx, then attach to y in Rxy + res += (c * x^exp[coeff_idx]) * y^exp[var_idx] + end + return res +end + +""" + to_bivariate(P::PolyRingElem, R_orig::MPolyRing) + +Maps a univariate polynomial in `(K[x])[y]` back to the original bivariate ring `K[x, y]`. +""" +function to_bivariate(P::PolyRingElem, R_orig::MPolyRing) + ctx = MPolyBuildCtx(R_orig) + for (deg_y, c_y) in enumerate(coefficients(P)) + for (deg_x, c_x) in enumerate(coefficients(c_y)) + push_term!(ctx, c_x, [deg_x,deg_y]) + end + end + return finish(ctx) +end + + +# ========================================================================= +# MODULAR ARITHMETIC & INTERSECTION +# ========================================================================= + +""" + num_biv_rat_mod(A::MPolyRingElem, P::Vector) + +Computes the numerator of `A(x, a(x)/b(x)) mod q(x)` efficiently using Residue Rings. +`P = [q, a, b]`. +""" +function num_biv_rat_mod(A::MPolyRingElem, P::Vector) + q, a, b = P[1], P[2], P[3] + Rx = parent(q) + + # Do math natively inside the quotient ring Rx / + U, mod_q = residue_ring(Rx, q) + a_u, b_u, x_u = mod_q(a), mod_q(b), mod_q(gens(Rx)[1]) + + deg_y = maximum(e[2] for e in exponent_vectors(A); init=0) + res_u = zero(U) + + # Avoids homogenization entirely. b^(deg_y - j) clears the denominator. + for (c, exp) in zip(coefficients(A), exponent_vectors(A)) + i, j = exp[1], exp[2] + res_u += c * (x_u^i) * (a_u^j) * (b_u^(deg_y - j)) + end + + return lift(res_u) +end + +""" + intersect_biv(P::Vector, A::MPolyRingElem) + +P = [q, a, b] encodes a finite set (x,a(x)/b(x)) where q(x)=0 +Computes the divisor of `q` that encodes the intersection with `A(x,y)=0`. +Uses a modular CRT loop. +""" +function intersect_biv(P::Vector, A::MPolyRingElem) + iszero(A) && return P[1] + + RS = symbols(parent(A)) + B, x = polynomial_ring(QQ, RS[1]) + + dA_prev, dA_final = Int[], Int[] + pprod, p = ZZ(1), ZZ(1) << 60 + compt = 0 + + while compt < 12 + p = next_prime(p) + Fp = GF(p) + + # Map polynomials natively to Fp + Pp = [map_coefficients(Fp, poly) for poly in P] + Ap = map_coefficients(Fp, A) + + Apev = num_biv_rat_mod(Ap, Pp) + dAp = gcd(Pp[1], Apev) + + # Lift coefficients back to integers for CRT + dA_current = [lift(ZZ, c) for c in coefficients(dAp)] + + if compt > 0 + dA_current = [crt([d1, d2], [pprod, p]) for (d1, d2) in zip(dA_prev, dA_current)] + end + + count(!iszero, dA_current) <= 1 && return one(B) # Trivial GCD + + pprod *= p + try + dA_final = [reconstruct(c, pprod) for c in dA_current] + (compt > 0 && dA_final == dA_prev) && break + catch + # Rational reconstruction failed, try next prime + end + + dA_prev = dA_final + compt += 1 + end + + return B(dA_final) +end + + +# ========================================================================= +# SUBRESULTANTS +# ========================================================================= + +# Univariate resultant +function subresultants(P::Union{PolyRingElem{T}, FqPolyRingElem}, Q::Union{PolyRingElem{T}, FqPolyRingElem}, is_Fq::Bool=false) where T <: RingElem + degree(P) < degree(Q) && ((P, Q) = (Q, P)) + + S = typeof(P)[Q] + s = leading_coefficient(Q)^(degree(P) - degree(Q)) # Initial scaling factor + # rem is faster when working with finite fields (relies on FLINT) + A = Q + B = is_Fq ? (-leading_coefficient(Q))^(degree(P) - degree(Q) + 1) * rem(P, Q) : pseudorem(P, -Q) + + while !iszero(B) + d, e = degree(A), degree(B) + pushfirst!(S, B) # current remainder + delta = d - e # degree drop + + if delta > 1 + if length(S) > 1 + n = degree(S[2]) - degree(S[1]) - 1 # stabilize scaling + if n == 0 + C = S[1] + else + x, y = leading_coefficient(S[1]), leading_coefficient(S[2]) + a = 1 << (length(bits(ZZ(n))) - 1) + c, n = x, n - a + while a > 1 + a >>= 1 + c = divexact(c^2, y) + if n >= a + c = divexact(c * x, y) + n -= a + end + end + C = divexact(c * S[1], y) + end + else + # First step: fallback normalization + C = divexact(leading_coefficient(B)^(delta - 1) * B, s^(delta - 1)) + end + pushfirst!(S, C) + else + C = B # no degree drop + end + + # Termination: constant polynomial + e == 0 && return S + + # --- Next pseudo-remainder --- + B = is_Fq ? (-leading_coefficient(B))^(d - e + 1) * rem(A, B) : pseudorem(A, -B) + B = divexact(B, s^delta * leading_coefficient(A)) + + A = C + s = leading_coefficient(A) + end + return S +end + +# Bivariate resultant +function subresultants(P::MPolyRingElem, Q::MPolyRingElem, var_idx::Int; list=false) + UP, UQ = to_univariate(P, var_idx), to_univariate(Q, var_idx) + sr_uni = subresultants(UP, UQ) + + R_orig = parent(P) + #x_orig = symbols(R_orig)[3 - var_idx] + v_orig = symbols(R_orig) + + if list + # TODO: avoid evaluate, use change_ringvar? + # Extract coefficients as bivariate polynomials evaluated at y=0 + return [change_ringvar(collect(coefficients(sr)), v_orig) for sr in sr_uni] + else + return [to_bivariate(sr, R_orig) for sr in sr_uni] + end +end + + +# ========================================================================= +# CORE ALGEBRAIC ENGINE +# ========================================================================= + +# delta : poly to factor w.r.t the polynomials in LP +function fact_gcd(delta::T, LP::Vector{T}) where T <: PolyRingElem + Ldelta = Dict{Int, T}() + curr_phi = gcd(delta, LP[1]) + Ldelta[1] = divexact(delta, curr_phi) + + for i in 2:length(LP) + degree(curr_phi) == 0 && break + next_phi = gcd(curr_phi, LP[i]) + Ldelta[i] = divexact(curr_phi, next_phi) + curr_phi = next_phi + end + return filter(kv -> degree(kv.second) > 0, Ldelta) +end + +# wrapper for the above function +function fact_gcd(delta::T, LP::Vector{T}) where (T <:MPolyRingElem) + @assert is_univariate(delta) && all(is_univariate.(LP)) "Not univariate polynomial" + R = parent(delta) + K, RS = coefficient_ring(R), symbols(R) + A, = polynomial_ring(K, RS[1]) + + d_uni = A(coefficients_of_univariate(delta)) + LP_uni = [A(coefficients_of_univariate(p)) for p in LP] + out = fact_gcd(d_uni, LP_uni) + + return Dict([ (i, change_ringvar(f, [first(RS)]) ) for (i,f) in out ]) +end + +""" + param_crit_split(f::MPolyRingElem; v=0, detect_app=true) + +Computes the critical points of a curve `f(x, y) = 0` grouped by multiplicity. +""" +function param_crit_split(f::MPolyRingElem, g::MPolyRingElem; v=0, detect_app=true) + v > 0 && println("Compute subresultant sequence") + f_y = derivative(f, 2) + @iftime v>0 sr = subresultants(f, f_y, 2, list=true) + + (isempty(sr) || total_degree(sr[1][1]) == 0) && return Dict{Int, Vector}() + + v > 1 && println("Factorization") + sqr_factors = factor(sr[1][1]) + + # Filter non-zero multiplicity and sort + sqr = sort([(fac, mult) for (fac, mult) in sqr_factors if mult > 0], by = x -> x[2]) + isempty(sqr) && return Dict{Int, Vector}() + + sqrmult = unique([s[2] for s in sqr]) + group_sqr = Dict(m => [s[1] for s in sqr if s[2] == m] for m in sqrmult) + + v > 0 && println("Compute crit partition w.r.t to multiplicity") + param_crit = Dict{Int, Vector}() + + # Helper function to prevent out-of-bounds access on subresultant lists + get_sr = (p, idx) -> (length(sr) >= p && length(sr[p]) >= abs(idx)) ? sr[p][end+idx] : zero(parent(f)) + + singmult = filter(p -> p*(p-1) <= sqrmult[end], 2:sqrmult[end]) + for p in singmult + param_crit[p] = [MPolyRingElem[], -get_sr(p, -1), (p-1)*get_sr(p, 0)] + end + + # Critical points : multiplicity 1 in res + (1 in sqrmult) && (param_crit[1] = [group_sqr[1], -get_sr(2, -1), get_sr(2, 0)]) + isempty(singmult) && return filter(p -> length(p.second[1]) > 0, param_crit) + + # Nodes : multiplicity 2 in res + v > 0 && println("Compute apparent singularities") + if 2 in sqrmult + if detect_app + f_x = derivative(f, 1) + A = derivative(f_y, 2) * derivative(g, 1) - derivative(f_x, 2) * derivative(g, 2) + + dA = [intersect_biv([q, -get_sr(2, -1), get_sr(2, 0)], A) for q in group_sqr[2]] + + param_crit[0] = [group_sqr[2] ./ dA, -get_sr(2, -1), get_sr(2, 0)] + append!(param_crit[2][1], dA) + else + param_crit[0] = [group_sqr[2], -get_sr(2, -1), get_sr(2, 0)] + end + end + + # Other singularities + filter!(m -> !(m in [1, 2]), sqrmult) + lsr = [get_sr(p, 0) for p in 2:(singmult[end]+1)] + + v > 0 && println("Compute gcd decomposition") + for m in sqrmult + for q in group_sqr[m] + for (i, dji) in fact_gcd(q, lsr) + haskey(param_crit, i+1) ? push!(param_crit[i+1][1], dji) : error("Curve not generic") + end + end + end + + for v in values(param_crit) + filter!(p -> total_degree(p) > 0, v[1]) + end + + return filter(p -> length(p.second[1]) > 0, param_crit) +end \ No newline at end of file From ebcd9d4d4dbbe6062b8c8b2c398a62bec644bd84 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Wed, 15 Apr 2026 03:20:36 +0200 Subject: [PATCH 155/180] fix bug + distinguishable colors plot --- src/connectivity/buildpoly.jl | 62 +++++++++++++-------------- src/connectivity/connectcurves.jl | 2 +- src/connectivity/datastruct.jl | 4 +- src/connectivity/plots.jl | 59 ++++++++++++++++++++++--- src/connectivity/subresultants-bis.jl | 12 +++--- 5 files changed, 94 insertions(+), 45 deletions(-) diff --git a/src/connectivity/buildpoly.jl b/src/connectivity/buildpoly.jl index c0da303..3b6c1e7 100644 --- a/src/connectivity/buildpoly.jl +++ b/src/connectivity/buildpoly.jl @@ -40,7 +40,7 @@ function change_ringvar(F::AbstractVector{<:Union{PolyRingElem, MPolyRingElem}}, if !iszero(c) e_new = zeros(Int, n_vars) if deg_plus_1 > 1 - e_new[idx_map[1]] = deg_plus_1 + e_new[idx_map[1]] = deg_plus_1 - 1 end push!(coeffs, c) push!(exps, e_new) @@ -69,40 +69,40 @@ end change_ringvar(f::MPolyRingElem) = change_ringvar([f])[1] -""" - MPolyBuild(F::Vector{Vector{RingElem}}, new_S::Vector{Symbol}, idx::Int) +# """ +# MPolyBuild(F::Vector{Vector{RingElem}}, new_S::Vector{Symbol}, idx::Int) -Construct multivariate polynomials in a single variable. -`F` is a list of coefficient lists in degree-increasing order. -The polynomial will use the variable at index `idx` in `new_S`. -""" -function MPolyBuild(F::AbstractVector{<:AbstractVector{<:RingElement}}, new_S::Vector{Symbol}, idx::Int) - isempty(F) && return [] +# Construct multivariate polynomials in a single variable. +# `F` is a list of coefficient lists in degree-increasing order. +# The polynomial will use the variable at index `idx` in `new_S`. +# """ +# function MPolyBuild(F::AbstractVector{<:AbstractVector{<:RingElement}}, new_S::Vector{Symbol}, idx::Int) +# isempty(F) && return [] - A = parent(first(first(F))) - R, _ = polynomial_ring(A, new_S) +# A = parent(first(first(F))) +# R, _ = polynomial_ring(A, new_S) - T = typeof(zero(A)) - n_vars = length(new_S) +# T = typeof(zero(A)) +# n_vars = length(new_S) - return map(F) do f_coeffs - coeffs = T[] - exps = Vector{Int}[] +# return map(F) do f_coeffs +# coeffs = T[] +# exps = Vector{Int}[] - # Construct coeff/exp lists - for (deg_plus_1, c) in enumerate(f_coeffs) - if !iszero(c) - e_new = zeros(Int, n_vars) - e_new[idx] = deg_plus_1 - 1 - push!(coeffs, c) - push!(exps, e_new) - end - end +# # Construct coeff/exp lists +# for (deg_plus_1, c) in enumerate(f_coeffs) +# if !iszero(c) +# e_new = zeros(Int, n_vars) +# e_new[idx] = deg_plus_1 - 1 +# push!(coeffs, c) +# push!(exps, e_new) +# end +# end - # Create the polynomial associated to f_coeffs - return R(coeffs, exps) - end -end +# # Create the polynomial associated to f_coeffs +# return R(coeffs, exps) +# end +# end -# Dispatch for a single coefficient vector -MPolyBuild(f::AbstractVector{<:RingElement}, new_S::Vector{Symbol}, idx::Int) = MPolyBuild([f], new_S, idx)[1] \ No newline at end of file +# # Dispatch for a single coefficient vector +# MPolyBuild(f::AbstractVector{<:RingElement}, new_S::Vector{Symbol}, idx::Int) = MPolyBuild([f], new_S, idx)[1] \ No newline at end of file diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index c3344c9..7a93993 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -1,6 +1,6 @@ export compute_graph, connected_components, number_connected_components, group_by_component, merge_graphs, - plot_graph, plot_graphs, plot_graph_comp, Bresultant, param_crit_split, build_graph_components_data, build_graphs_data, build_graph_data + plot_graph, plot_graphs, plot_graph_comp, Bresultant, param_crit_split, build_graphs_data, build_graph_data # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, diff --git a/src/connectivity/datastruct.jl b/src/connectivity/datastruct.jl index 9a138b2..fa04d1f 100644 --- a/src/connectivity/datastruct.jl +++ b/src/connectivity/datastruct.jl @@ -32,13 +32,13 @@ end struct EdgeGroup edges::Vector{Tuple{Vector{Float64}, Vector{Float64}}} - color::Int64 + color::String width::Float64 end struct PointGroup vertices::Tuple{Vector{Float64}, Vector{Float64}} # (x, y) - color::Int64 + color::String marker::Symbol end diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 77b28c1..51275ff 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -1,3 +1,52 @@ +# Distinguishable Colors + +# file: utils/colors.jl + +""" + distinguishable_colors(n; s=0.8, v=0.9) + +Return `n` visually distinct HEX colors using manual HSV→RGB conversion. +No external libraries used. +""" +function distinguishable_colors(n::Int; s::Float64=0.8, v::Float64=0.9) + n <= 0 && return String[] + + colors = Vector{String}(undef, n) + + for i in 0:n-1 + h = i / n # [0,1) + + c = v * s + h6 = h * 6 + x = c * (1 - abs(mod(h6, 2) - 1)) + m = v - c + + r1 = g1 = b1 = 0.0 + + if 0 ≤ h6 < 1 + r1, g1, b1 = c, x, 0 + elseif 1 ≤ h6 < 2 + r1, g1, b1 = x, c, 0 + elseif 2 ≤ h6 < 3 + r1, g1, b1 = 0, c, x + elseif 3 ≤ h6 < 4 + r1, g1, b1 = 0, x, c + elseif 4 ≤ h6 < 5 + r1, g1, b1 = x, 0, c + else + r1, g1, b1 = c, 0, x + end + + r = Int(round((r1 + m) * 255)) + g = Int(round((g1 + m) * 255)) + b = Int(round((b1 + m) * 255)) + + colors[i+1] = @sprintf("#%02X%02X%02X", r, g, b) + end + + return colors +end + # ---------- CORE BUILDERS ---------- """ @@ -13,7 +62,7 @@ end plot_graph(build_graphs_data(G)) """ -function build_graph_data(G; width=3.0, vert=true, color=rand(1:666)) +function build_graph_data(G; width=3.0, vert=true, color="#FF0000") V, Vcon, E = G.vertices, G.control_nodes, G.edges # edges @@ -32,13 +81,13 @@ function build_graph_data(G; width=3.0, vert=true, color=rand(1:666)) if vert vx = map(v -> Float64(v[1]), V) vy = map(v -> Float64(v[2]), V) - push!(point_groups, PointGroup((vx, vy), 17, :diamond)) + push!(point_groups, PointGroup((vx, vy), color, :x)) end for group in Vcon hx = map(j -> Float64(V[j][1]), group) hy = map(j -> Float64(V[j][2]), group) - push!(point_groups, PointGroup((hx, hy), color, :diamond)) + push!(point_groups, PointGroup((hx, hy), color, :+)) end return GraphPlotData(edge_group, point_groups) @@ -48,7 +97,7 @@ end """ # How to plot: -function plot_graphs(P) +function plot_graphs(CP) plot(legend=false) for P in CP E = P.edge_group @@ -62,7 +111,7 @@ plot_graphs(build_graphs_data(CG)) """ function build_graphs_data(CG; width=3.0, vert=true) - c = randperm(666)[1:length(CG)] # Distinct numbers + c = distinguishable_colors(length(CG)) return [build_graph_data(G; width=width, vert=vert, color=c[i]) for (i, G) in enumerate(CG)] end \ No newline at end of file diff --git a/src/connectivity/subresultants-bis.jl b/src/connectivity/subresultants-bis.jl index e996312..70924d9 100644 --- a/src/connectivity/subresultants-bis.jl +++ b/src/connectivity/subresultants-bis.jl @@ -34,7 +34,7 @@ function to_bivariate(P::PolyRingElem, R_orig::MPolyRing) ctx = MPolyBuildCtx(R_orig) for (deg_y, c_y) in enumerate(coefficients(P)) for (deg_x, c_x) in enumerate(coefficients(c_y)) - push_term!(ctx, c_x, [deg_x,deg_y]) + push_term!(ctx, c_x, [deg_x - 1, deg_y - 1]) end end return finish(ctx) @@ -144,23 +144,23 @@ function subresultants(P::Union{PolyRingElem{T}, FqPolyRingElem}, Q::Union{PolyR delta = d - e # degree drop if delta > 1 - if length(S) > 1 - n = degree(S[2]) - degree(S[1]) - 1 # stabilize scaling + if length(S) > 2 + n = degree(S[3]) - degree(S[2]) - 1 # stabilize scaling if n == 0 C = S[1] else - x, y = leading_coefficient(S[1]), leading_coefficient(S[2]) + x, y = leading_coefficient(S[2]), leading_coefficient(S[3]) a = 1 << (length(bits(ZZ(n))) - 1) c, n = x, n - a while a > 1 a >>= 1 c = divexact(c^2, y) if n >= a - c = divexact(c * x, y) + c = c * divexact(x, y) n -= a end end - C = divexact(c * S[1], y) + C = c * divexact(S[2], y) end else # First step: fallback normalization From 095b49cfdf596a24c32bc4fb6c463fd04c7680c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 15 Apr 2026 18:19:27 +0200 Subject: [PATCH 156/180] bug fixes and improvement of num_biv_rat_mod --- src/connectivity/buildpoly.jl | 111 +++++++++----- src/connectivity/connectcurves.jl | 2 +- src/connectivity/isolateboxes.jl | 7 +- src/connectivity/subresultants-bis.jl | 211 ++++++++++---------------- 4 files changed, 162 insertions(+), 169 deletions(-) diff --git a/src/connectivity/buildpoly.jl b/src/connectivity/buildpoly.jl index 3b6c1e7..08f8a84 100644 --- a/src/connectivity/buildpoly.jl +++ b/src/connectivity/buildpoly.jl @@ -69,40 +69,77 @@ end change_ringvar(f::MPolyRingElem) = change_ringvar([f])[1] -# """ -# MPolyBuild(F::Vector{Vector{RingElem}}, new_S::Vector{Symbol}, idx::Int) - -# Construct multivariate polynomials in a single variable. -# `F` is a list of coefficient lists in degree-increasing order. -# The polynomial will use the variable at index `idx` in `new_S`. -# """ -# function MPolyBuild(F::AbstractVector{<:AbstractVector{<:RingElement}}, new_S::Vector{Symbol}, idx::Int) -# isempty(F) && return [] - -# A = parent(first(first(F))) -# R, _ = polynomial_ring(A, new_S) - -# T = typeof(zero(A)) -# n_vars = length(new_S) - -# return map(F) do f_coeffs -# coeffs = T[] -# exps = Vector{Int}[] - -# # Construct coeff/exp lists -# for (deg_plus_1, c) in enumerate(f_coeffs) -# if !iszero(c) -# e_new = zeros(Int, n_vars) -# e_new[idx] = deg_plus_1 - 1 -# push!(coeffs, c) -# push!(exps, e_new) -# end -# end - -# # Create the polynomial associated to f_coeffs -# return R(coeffs, exps) -# end -# end - -# # Dispatch for a single coefficient vector -# MPolyBuild(f::AbstractVector{<:RingElement}, new_S::Vector{Symbol}, idx::Int) = MPolyBuild([f], new_S, idx)[1] \ No newline at end of file +""" + MPolyBuild(F::Vector{Vector{RingElem}}, new_S::Vector{Symbol}, idx::Int) + +Construct multivariate polynomials in a single variable. +`F` is a list of coefficient lists in degree-increasing order. +The polynomial will use the variable at index `idx` in `new_S`. +""" +function MPolyBuild(F::AbstractVector{<:AbstractVector{<:RingElement}}, new_S::Vector{Symbol}, idx::Int) + isempty(F) && return [] + + A = parent(first(first(F))) + R, _ = polynomial_ring(A, new_S) + + T = typeof(zero(A)) + n_vars = length(new_S) + + return map(F) do f_coeffs + coeffs = T[] + exps = Vector{Int}[] + + # Construct coeff/exp lists + for (deg_plus_1, c) in enumerate(f_coeffs) + if !iszero(c) + e_new = zeros(Int, n_vars) + e_new[idx] = deg_plus_1 - 1 + push!(coeffs, c) + push!(exps, e_new) + end + end + + # Create the polynomial associated to f_coeffs + return R(coeffs, exps) + end +end + +# Dispatch for a single coefficient vector +MPolyBuild(f::AbstractVector{<:RingElement}, new_S::Vector{Symbol}, idx::Int) = MPolyBuild([f], new_S, idx)[1] + +""" + to_univariate(P::MPolyRingElem, var_idx::Int) + +Converts a bivariate polynomial in `K[x, y]` into a univariate polynomial in `(K[x])[y]`. +""" +function to_univariate(P::MPolyRingElem, var_idx::Int) + R = parent(P) + K = base_ring(R) + coeff_idx = 3 - var_idx # The variable to be pushed to the coefficients + + Rx, x = polynomial_ring(K, symbols(R)[coeff_idx]) + Rxy, y = polynomial_ring(Rx, symbols(R)[var_idx]) + + res = zero(Rxy) + for (c, exp) in zip(coefficients(P), exponent_vectors(P)) + # Build the coefficient in Rx, then attach to y in Rxy + res += (c * x^exp[coeff_idx]) * y^exp[var_idx] + end + return res +end + + +""" + to_bivariate(P::PolyRingElem, R_orig::MPolyRing) + +Maps a univariate polynomial in `(K[x])[y]` back to the original bivariate ring `K[x, y]`. +""" +function to_bivariate(P::PolyRingElem, R_orig::MPolyRing) + ctx = MPolyBuildCtx(R_orig) + for (deg_y, c_y) in enumerate(coefficients(P)) + for (deg_x, c_x) in enumerate(coefficients(c_y)) + push_term!(ctx, c_x, [deg_x - 1, deg_y - 1]) + end + end + return finish(ctx) +end \ No newline at end of file diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 7a93993..0c7bcd9 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -5,7 +5,7 @@ export compute_graph, connected_components, number_connected_components, group_b # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, rat_to_arb, evaluate_arb, evaluate_arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, - intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit + intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit, MPolyBuild, change_ringvar include("datastruct.jl") include("tools.jl") diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index dde1d52..5d4424e 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -94,7 +94,7 @@ critical point. """ function insulate_crit_boxes(f, params, precx; max_attempts=5, v=0) LBcrit, Lprecx = Dict(), Dict() - Lfyk = diff_list(f, 2, max(maximum(keys(params)), 2)) + Lfyk = diff_list(f, 2, maximum(keys(params), init=2)) for i in keys(params) attempts, precxi = 0, precx @@ -248,7 +248,6 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf; max_attempts= end # ---- Extremal case (i == 1) we vertically enlarge boxes manually ----- - # TODO: should we also modify LBcrit? if haskey(LBcrit, 1) boxes, pcs, npcs = LBcrit[1], LPCside[1], LnPCside[1] @@ -268,7 +267,7 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf; max_attempts= # ---- intersection on bottom ---- if c1 == 1 # Attach to the max intersection below the box on the correct side - ind_yinf = maximum(i for (i, yy) in pairs(side_pts) if yy < ycrit[1]) + ind_yinf = maximum(i for (i, yy) in pairs(side_pts) if yy[1] < ycrit[1]) push!(side_indices, ind_yinf) empty!(pc.bottom.indices_inside) npcs[j] = (0, c2, s == 1 ? c3 + 1 : c3, s == 2 ? c4 + 1 : c4) @@ -278,7 +277,7 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf; max_attempts= # ---- intersection on top ---- if c2 == 1 # Attach to the min intersection above the bow on the correct side - ind_ymax = minimum(i for (i, yy) in pairs(side_pts) if yy > ycrit[2]) + ind_ymax = minimum(i for (i, yy) in pairs(side_pts) if yy[2] > ycrit[2]) push!(side_indices, ind_ymax) empty!(pc.top.indices_inside) npcs[j] = (c1, 0, s == 1 ? c3 + 1 : c3, s == 2 ? c4 + 1 : c4) diff --git a/src/connectivity/subresultants-bis.jl b/src/connectivity/subresultants-bis.jl index 70924d9..47dc731 100644 --- a/src/connectivity/subresultants-bis.jl +++ b/src/connectivity/subresultants-bis.jl @@ -1,46 +1,80 @@ # ========================================================================= -# RING COERCION TOOLS (Replaces array wrangling and homogenize) +# SUBRESULTANTS # ========================================================================= -# TODO: use MPolyBuildCtx? +# Univariate resultant +function subresultants(P::Union{PolyRingElem{T}, FqPolyRingElem}, Q::Union{PolyRingElem{T}, FqPolyRingElem}, is_Fq::Bool=false) where T <: RingElem + degree(P) < degree(Q) && ((P, Q) = (Q, P)) -""" - to_univariate(P::MPolyRingElem, var_idx::Int) + S = typeof(P)[Q] + s = leading_coefficient(Q)^(degree(P) - degree(Q)) # Initial scaling factor + # rem is faster when working with finite fields (relies on FLINT) + A = Q + B = is_Fq ? (-leading_coefficient(Q))^(degree(P) - degree(Q) + 1) * rem(P, Q) : pseudorem(P, -Q) -Converts a bivariate polynomial in `K[x, y]` into a univariate polynomial in `(K[x])[y]`. -""" -function to_univariate(P::MPolyRingElem, var_idx::Int) - R = parent(P) - K = base_ring(R) - coeff_idx = 3 - var_idx # The variable to be pushed to the coefficients - - Rx, x = polynomial_ring(K, symbols(R)[coeff_idx]) - Rxy, y = polynomial_ring(Rx, symbols(R)[var_idx]) - - res = zero(Rxy) - for (c, exp) in zip(coefficients(P), exponent_vectors(P)) - # Build the coefficient in Rx, then attach to y in Rxy - res += (c * x^exp[coeff_idx]) * y^exp[var_idx] + while !iszero(B) + d, e = degree(A), degree(B) + push!(S, B) # current remainder + delta = d - e # degree drop + + if delta > 1 + if length(S) > 2 + last_add, prev_add = S[end], S[end-1] + n = degree(prev_add) - degree(last_add) - 1 # stabilize scaling + if n == 0 + C = last_add + else + x, y = leading_coefficient(last_add), leading_coefficient(prev_add) + a = 1 << (length(bits(ZZ(n))) - 1) + c, n = x, n - a + while a > 1 + a >>= 1 + c = divexact(c^2, y) + if n >= a + c = c * divexact(x, y) + n -= a + end + end + C = c * divexact(last_add, y) + end + else + # First step: fallback normalization + C = divexact(leading_coefficient(B)^(delta - 1) * B, s^(delta - 1)) + end + push!(S, C) + else + C = B # no degree drop + end + + # Termination: constant polynomial + e == 0 && return reverse!(S) + + # --- Next pseudo-remainder --- + B = is_Fq ? (-leading_coefficient(B))^(d - e + 1) * rem(A, B) : pseudorem(A, -B) + B = divexact(B, s^delta * leading_coefficient(A)) + + A = C + s = leading_coefficient(A) end - return res + return reverse!(S) end -""" - to_bivariate(P::PolyRingElem, R_orig::MPolyRing) +# Bivariate resultant +function subresultants(P::MPolyRingElem, Q::MPolyRingElem, var_idx::Int; list=false) + UP, UQ = to_univariate(P, var_idx), to_univariate(Q, var_idx) + sr_uni = subresultants(UP, UQ) -Maps a univariate polynomial in `(K[x])[y]` back to the original bivariate ring `K[x, y]`. -""" -function to_bivariate(P::PolyRingElem, R_orig::MPolyRing) - ctx = MPolyBuildCtx(R_orig) - for (deg_y, c_y) in enumerate(coefficients(P)) - for (deg_x, c_x) in enumerate(coefficients(c_y)) - push_term!(ctx, c_x, [deg_x - 1, deg_y - 1]) - end + R_orig = parent(P) + v_orig = symbols(R_orig) + + if list + # Extract coefficients as bivariate polynomials + return [change_ringvar(collect(coefficients(sr)), v_orig) for sr in sr_uni] + else + return [to_bivariate(sr, R_orig) for sr in sr_uni] end - return finish(ctx) end - # ========================================================================= # MODULAR ARITHMETIC & INTERSECTION # ========================================================================= @@ -55,18 +89,21 @@ function num_biv_rat_mod(A::MPolyRingElem, P::Vector) q, a, b = P[1], P[2], P[3] Rx = parent(q) - # Do math natively inside the quotient ring Rx / + # Work modulo q and compute y = a/b in the quotient ring U, mod_q = residue_ring(Rx, q) - a_u, b_u, x_u = mod_q(a), mod_q(b), mod_q(gens(Rx)[1]) + y_u = mod_q(a) / mod_q(b) - deg_y = maximum(e[2] for e in exponent_vectors(A); init=0) - res_u = zero(U) - - # Avoids homogenization entirely. b^(deg_y - j) clears the denominator. + # Build coefficients of A as polynomials in y with coefficients in U + degA_y = maximum(e[2] for e in exponent_vectors(A)) + coeff_A_u = [ MPolyBuildCtx(Rx) for _ in 0:degA_y ] for (c, exp) in zip(coefficients(A), exponent_vectors(A)) - i, j = exp[1], exp[2] - res_u += c * (x_u^i) * (a_u^j) * (b_u^(deg_y - j)) + push_term!(coeff_A_u[exp[2] + 1], c, [exp[1], 0]) end + coeff_A_u = [ mod_q(finish(a)) for a in coeff_A_u ] + + # Evaluate the univariate polynomial at y_u in the quotient ring + U_y,_ = polynomial_ring(U) + res_u = evaluate(U_y(coeff_A_u), y_u) return lift(res_u) end @@ -81,9 +118,6 @@ Uses a modular CRT loop. function intersect_biv(P::Vector, A::MPolyRingElem) iszero(A) && return P[1] - RS = symbols(parent(A)) - B, x = polynomial_ring(QQ, RS[1]) - dA_prev, dA_final = Int[], Int[] pprod, p = ZZ(1), ZZ(1) << 60 compt = 0 @@ -106,7 +140,9 @@ function intersect_biv(P::Vector, A::MPolyRingElem) dA_current = [crt([d1, d2], [pprod, p]) for (d1, d2) in zip(dA_prev, dA_current)] end - count(!iszero, dA_current) <= 1 && return one(B) # Trivial GCD + # Trivial GCD : reduced gcd has larger degree + # Then, A(x,y) does not vanish on the points defined by q(x)=0 + all(iszero(c) for c in dA_current[2:end]) && return one(parent(A)) pprod *= p try @@ -120,94 +156,12 @@ function intersect_biv(P::Vector, A::MPolyRingElem) compt += 1 end - return B(dA_final) + return MPolyBuild(dA_final, RSA, 1) end - -# ========================================================================= -# SUBRESULTANTS # ========================================================================= -# Univariate resultant -function subresultants(P::Union{PolyRingElem{T}, FqPolyRingElem}, Q::Union{PolyRingElem{T}, FqPolyRingElem}, is_Fq::Bool=false) where T <: RingElem - degree(P) < degree(Q) && ((P, Q) = (Q, P)) - - S = typeof(P)[Q] - s = leading_coefficient(Q)^(degree(P) - degree(Q)) # Initial scaling factor - # rem is faster when working with finite fields (relies on FLINT) - A = Q - B = is_Fq ? (-leading_coefficient(Q))^(degree(P) - degree(Q) + 1) * rem(P, Q) : pseudorem(P, -Q) - - while !iszero(B) - d, e = degree(A), degree(B) - pushfirst!(S, B) # current remainder - delta = d - e # degree drop - - if delta > 1 - if length(S) > 2 - n = degree(S[3]) - degree(S[2]) - 1 # stabilize scaling - if n == 0 - C = S[1] - else - x, y = leading_coefficient(S[2]), leading_coefficient(S[3]) - a = 1 << (length(bits(ZZ(n))) - 1) - c, n = x, n - a - while a > 1 - a >>= 1 - c = divexact(c^2, y) - if n >= a - c = c * divexact(x, y) - n -= a - end - end - C = c * divexact(S[2], y) - end - else - # First step: fallback normalization - C = divexact(leading_coefficient(B)^(delta - 1) * B, s^(delta - 1)) - end - pushfirst!(S, C) - else - C = B # no degree drop - end - - # Termination: constant polynomial - e == 0 && return S - - # --- Next pseudo-remainder --- - B = is_Fq ? (-leading_coefficient(B))^(d - e + 1) * rem(A, B) : pseudorem(A, -B) - B = divexact(B, s^delta * leading_coefficient(A)) - - A = C - s = leading_coefficient(A) - end - return S -end - -# Bivariate resultant -function subresultants(P::MPolyRingElem, Q::MPolyRingElem, var_idx::Int; list=false) - UP, UQ = to_univariate(P, var_idx), to_univariate(Q, var_idx) - sr_uni = subresultants(UP, UQ) - - R_orig = parent(P) - #x_orig = symbols(R_orig)[3 - var_idx] - v_orig = symbols(R_orig) - - if list - # TODO: avoid evaluate, use change_ringvar? - # Extract coefficients as bivariate polynomials evaluated at y=0 - return [change_ringvar(collect(coefficients(sr)), v_orig) for sr in sr_uni] - else - return [to_bivariate(sr, R_orig) for sr in sr_uni] - end -end - - -# ========================================================================= -# CORE ALGEBRAIC ENGINE -# ========================================================================= - -# delta : poly to factor w.r.t the polynomials in LP +# delta : poly to factor w.r.t the factor of the polynomials in LP function fact_gcd(delta::T, LP::Vector{T}) where T <: PolyRingElem Ldelta = Dict{Int, T}() curr_phi = gcd(delta, LP[1]) @@ -236,6 +190,9 @@ function fact_gcd(delta::T, LP::Vector{T}) where (T <:MPolyRingElem) return Dict([ (i, change_ringvar(f, [first(RS)]) ) for (i,f) in out ]) end + +# ========================================================================= + """ param_crit_split(f::MPolyRingElem; v=0, detect_app=true) From b558cf68a01b28ba590808e8e09a093aee2e5479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 15 Apr 2026 18:27:59 +0200 Subject: [PATCH 157/180] get rid of ols subresultants + renam subresultants + improve error message --- src/connectivity/connectcurves.jl | 8 +- src/connectivity/isolateboxes.jl | 2 +- .../{subresultants-bis.jl => paramcrit.jl} | 0 src/connectivity/subresultants.jl | 373 ------------------ 4 files changed, 5 insertions(+), 378 deletions(-) rename src/connectivity/{subresultants-bis.jl => paramcrit.jl} (100%) delete mode 100644 src/connectivity/subresultants.jl diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 0c7bcd9..95b0eef 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -7,14 +7,14 @@ export compute_graph, connected_components, number_connected_components, group_b rat_to_arb, evaluate_arb, evaluate_arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit, MPolyBuild, change_ringvar -include("datastruct.jl") include("tools.jl") -include("subresultants-bis.jl") +include("datastruct.jl") +include("buildpoly.jl") +include("subresultants.jl") +include("arbtools.jl") include("isolateboxes.jl") include("graph.jl") include("plots.jl") -include("arbtools.jl") -include("buildpoly.jl") # ========================================================================= # MULTIPLE DISPATCH WRAPPERS diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index 5d4424e..f83b37a 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -154,7 +154,7 @@ function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_pre return BoxEdge{T}(roots, indices_inside) end end - error("Problem when isolating on one side of a box after $max_retries attempts") + error("Problem when isolating on one side of a box after $max_retries attempts\n Consider increasing the initial precision or genericity position.") end # Function that computes the intersection of a curve with a box by isolating roots on the edges diff --git a/src/connectivity/subresultants-bis.jl b/src/connectivity/paramcrit.jl similarity index 100% rename from src/connectivity/subresultants-bis.jl rename to src/connectivity/paramcrit.jl diff --git a/src/connectivity/subresultants.jl b/src/connectivity/subresultants.jl deleted file mode 100644 index b0f9012..0000000 --- a/src/connectivity/subresultants.jl +++ /dev/null @@ -1,373 +0,0 @@ -# Some tools - -function homogenize(P::MPolyRingElem, i::Int, S::Vector{T} where T<:Union{Symbol, String}) - A = base_ring(parent(P)) - if iszero(P) - return zero(polynomial_ring(A, S)[1]) - end - # Homogenize w.r.t to the i-th variables - LPc, LPe = poly_to_array(P) - deg, N = maximum(getindex.(LPe, i)), length(LPe[1]) - for j in eachindex(LPe) - push!(LPe[j], deg-LPe[j][i]) - end - R, = polynomial_ring(A, S) - return array_to_poly([LPc,LPe], R) -end - -function homogenize(LP::Vector{P} where P<:MPolyRingElem, i::Int, S::Vector{T} where T<:Union{Symbol, String}) - return [ homogenize(lp, 2, S) for lp in LP ] -end - -function poly_to_array(P::MPolyRingElem) - # return P as two lists ci and vi of resp. coeffs and exponents - return [collect(coefficients(P)), collect(exponent_vectors(P))] -end - -function rem_ind(L,i) - # remove element at index i - return [ L[1:i-1]; L[i+1:end] ] -end - -function add_ind(L,i,x) - # add element x at index i - return [ L[1:i-1]; [x]; L[i:end] ] -end - -function parray_asvarcoeff(LP, idx) - # takes the above representation of a poly P - # and outputs a representation of P with univariate coeffs in the i-th variable - A = parent(LP[1][1]) - NLP = [ Vector{typeof(LP[1][1])}[], [] ] - for (c,e) in zip(LP[1], LP[2]) - vcat(zeros(A, e[idx]), [c]) - push!(NLP[1], vcat(zeros(A, e[idx]), [c])) - push!(NLP[2], rem_ind(e, idx)) - end - return NLP -end - -function parray_asvar(LP, idx) - # takes the above representation of a poly P - # and outputs a representation of P seen as a univariate poly in the i-th variable - deg = sort(LP[2], by= x->x[idx])[end][idx] - NLP = [ [[],[]] for _ in 1:deg+1 ] - for i in eachindex(LP[2]) - di = LP[2][i][idx]+1 - push!(NLP[di][1], LP[1][i]) - push!(NLP[di][2], rem_ind(LP[2][i], idx)) - end - return NLP -end - -function array_to_poly(LP, A) - C = MPolyBuildCtx(A) - R = base_ring(A) - for i in eachindex(LP[1]) - push_term!(C, R(LP[1][i]), LP[2][i]); - end - return finish(C) -end - -""" - subresultants(P, Q) -Compute the subresultant polynomial remainder sequence (PRS) of two univariate polynomials. - -Returns a vector `[S0, S1, ..., Sk]` where: -- S0 = Q (after possible swap) -- each Si is a subresultant -- sequence ends when remainder becomes zero or constant -""" - -function subresultants(P::PolyRingElem{T}, Q::PolyRingElem{T}) where T <: RingElement - return _subresultants(P, Q, false) -end - -function subresultants(P::FqPolyRingElem, Q::FqPolyRingElem) - return _subresultants(P, Q, true) -end - -function _subresultants(P::Union{PolyRingElem{T}, FqPolyRingElem}, Q::Union{PolyRingElem{T}, FqPolyRingElem}, Fq::Bool) where T <: RingElement - - # Ensure deg(P) >= deg(Q) - if degree(P) < degree(Q) - P, Q = Q, P - end - - S = Vector{typeof(Q)}() - push!(S, Q) - - # Initial scaling factor (controls normalization of pseudo-remainders) - s = leading_coefficient(Q)^(degree(P) - degree(Q)) - - # rem is faster when working with finite fields (relies on FLINT) - A = Q - B = Fq ? (-leading_coefficient(Q))^(degree(P) - degree(Q) + 1) * rem(P, Q) : pseudorem(P, -Q) - - while true - d = degree(A) - e = degree(B) - # Termination: exact division reached - if iszero(B) - return S - end - pushfirst!(S, B) # prepend current remainder - delta = d - e # degree drop - # --- Compute normalization factor C --- - if delta > 1 - if length(S) > 1 - # Use previous subresultants to stabilize scaling - n = degree(S[2]) - degree(S[1]) - 1 - if n == 0 - C = S[1] - else - x = leading_coefficient(S[1]) - y = leading_coefficient(S[2]) - - # fast exponentiation (binary powering) - a = 1 << (length(bits(ZZ(n))) - 1) - c = x - n -= a - while a > 1 - a >>= 1 - c = c^2 / y - if n >= a - c = c * x / y - n -= a - end - end - - C = c * S[1] / y - end - else - # First step: fallback normalization - C = leading_coefficient(B)^(delta - 1) * B / s^(delta - 1) - end - pushfirst!(S, C) - else - C = B - end - - # Termination: constant polynomial - if e == 0 - return S - end - - # --- Next pseudo-remainder --- - B = Fq ? (-leading_coefficient(B))^(d - e + 1)* rem(A, B) : pseudorem(A, -B) - B /= (s^delta * leading_coefficient(A)) - - # Shift sequence - A = C - s = leading_coefficient(A) - end -end - -#Bivariate subresultants -function subresultants(P::MPolyRingElem{T}, Q::MPolyRingElem{T}, idx; list=false) where T <: RingElement - LPQ = map(poly_to_array, [P,Q]) - ULPQ = [ parray_asvar(lpq, idx) for lpq in LPQ ] - - R, x = polynomial_ring(base_ring(parent(P)), "x") - S, y = polynomial_ring(R, "y") - - UP, UQ = [ S([ array_to_poly(l, R) for l in lpq ]) for lpq in ULPQ ] - - sr = subresultants(UP, UQ) - - # Get it back to initial polynomial ring - Lsr = [ [collect(coefficients(csr)) for csr in coefficients(sr)] for sr in sr] - newsr = [] - if list - for (k,lsr) in enumerate(Lsr) - mlsr = [] - for i in 1:k - tmp = [[],[]] - if i in eachindex(lsr) - for j in 1:length(lsr[i]) - push!(tmp[1], lsr[i][j]) - push!(tmp[2],add_ind([j-1],idx, 0)) - end - else - tmp = [[P|>parent|>base_ring|>zero], [[0,0]]] - end - push!(mlsr, tmp) - end - mlsr = [ array_to_poly(tmp, parent(P)) for tmp in mlsr ] - push!(newsr, mlsr) - end - else - for lsr in Lsr - mlsr = [[],[]] - for i in 1:length(lsr) - for j in 1:length(lsr[i]) - push!(mlsr[1], lsr[i][j]) - push!(mlsr[2],add_ind([j-1],idx, i-1)) - end - end - push!(newsr, array_to_poly(mlsr, parent(P))) - end - end - - return newsr -end - -function fact_gcd(delta::T, LP::Vector{T}) where (T <:PolyRingElem) - # delta : poly to factor w.r.t the polynomials in LP - Lphi = [gcd(delta, LP[1])] - Ldelta = [delta/Lphi[1]] - i = 2 - while degree(Lphi[end])>0 - #println.([Lphi,Ldelta,""]) - push!(Lphi, gcd(Lphi[i-1], LP[i])) - push!(Ldelta, Lphi[i-1]/Lphi[i]) - i+=1 - end - return filter(s->degree(s[2])>0, Dict(enumerate(Ldelta))) -end - -function num_biv_rat_mod(A, P) - # Computes the numerator of the polynomial A(x,a(x)//b(x)) mod q - # where P = [q, a, b] - B = base_ring(parent(A)) - RS = symbols(B) - - T, = polynomial_ring(B, RS[1]) - Puniv = [ T(coefficients_of_univariate(p)) for p in P ] - - U, fU = Nemo.residue_ring(T, Puniv[1]) - amod, bmod = fU.(Puniv[2:end]) - - newv = vcat(RS, [:t]) - Tbiv, = polynomial_ring(T, newv[2:end]) - Ah = homogenize(A, 2, newv) - Ah1 = array_to_poly(parray_asvarcoeff(poly_to_array(Ah), 1), Tbiv) - Ahmod = change_coefficient_ring(U, Ah1) - - Aeval = evaluate(Ahmod, [amod, bmod]) - return change_ringvar(lift(Aeval), RS) -end - - -function intersect_biv(P::Vector{T} where T<:Any, A::MPolyRingElem) - # TODO: test the reconstruction - # P = [Lq, a, b] encodes sets (x,a(x)/b(x)) where Lq[i](x)=0 - # Compute divisor dA of q that encodes intersection with A(x,y)=0 - if iszero(A) - return P[1] - end - compt = 0 - RS = A |> parent |> symbols - dA, dAf = [], [] - pprod, p = 1, ZZ(1) << 60 - while compt<12 - #print("$compt,") - if compt>0 - dAfold, dAold = copy(dAf), copy(dA) - end - p = next_prime(p) - Pp = change_coefficient_ring.(Ref(GF(p)), P) - Ap = change_coefficient_ring(GF(p), A) - #@time "Eval" - Apev = num_biv_rat_mod(Ap, Pp, RS) - dAp = gcd(Pp[1], Apev) - dA = lift.(Ref(ZZ), coefficients_of_univariate(dAp)) - if compt>0 - dA = [ crt([d1, d2], [pprod, p], false) for (d1, d2) in zip(dAold, dA) ] - end - if length(filter(!is_zero, dA)) <= 1 - #println("Trivial gcd") - return one(polynomial_ring(QQ, RS)[1]) - end - pprod = pprod*p - try - dAf = [ reconstruct(c, pprod) for c in dA ] - if compt>0 - dAf != dAfold || break - end - catch - #println("No rational rec..") - end - compt += 1 - end - #println() - B, = polynomial_ring(QQ, RS[1]) - return int_coeffs(change_ringvar(B(dAf), RS)) -end - -function param_crit_split(f, g; v=0, detect_app=true) - # Compute subresultants - v>0 && println("Compute subresultant sequence") - @iftime v>0 sr = subresultants(f, derivative(f, 2), 2, list=true) - - if total_degree(sr[1][1]) == 0 - return Dict() - end - - # TODO: sr is univariate? check what's called - v>1 && println("Factorization") - @iftime v>1 sqr = collect(factor(sr[1][1])) - - # Filter out factors with zero multiplicity and sort by multiplicity - sqr = sort!(filter(t -> t[2] > 0, sqr), by = t -> t[2]) - # Group factors by multiplicity - sqrmult = unique(getindex.(sqr, 2)) - group_sqr = Dict(m => [r[1] for r in sqr if r[2] == m] for m in sqrmult) - - v>0 && println("Compute crit partition w.r.t to multiplicity") - # Initalization - singmult = filter(p->p*(p-1)<=sqrmult[end], 2:sqrmult[end]) - param_crit = Dict(p => [[], -sr[p][end-1], (p-1)*sr[p][end]] for p in singmult) - - # Critical points : multiplicity 1 in res - (1 in sqrmult) && push!(param_crit, 1=>[group_sqr[1], -sr[2][end-1], sr[2][end]]) - if length(singmult) == 0 - return filter(p->length(p[2][1])>0, param_crit) - end - - # Nodes : multiplicity 2 in res - v>0 && println("Compute apparent singularities") - if 2 in sqrmult - if detect_app - @iftime v>0 begin - A = derivative(derivative(f,2),2)*derivative(g,1) - derivative(derivative(f,1),2)*derivative(g,2) - dA = [ (intersect_biv([q, -sr[2][end-1], sr[2][end]], A)) for q in group_sqr[2] ] - push!(param_crit, 0 => [group_sqr[2]./dA, -sr[2][end-1], sr[2][end]]) - append!(param_crit[2][1], dA) - end - else - push!(param_crit, 0 => [group_sqr[2], -sr[2][end-1], sr[2][end]]) - end - end - # Other sing - filter!(m->!(m in [1,2]), sqrmult) - lsr = [ try sr[p][end] catch; one(parent(f)) end for p in 2:(singmult[end]+1) ] - Ld = Vector{Vector{Dict{Int, MPolyRingElem}}}(undef, length(sqrmult)) - v>0 && println("Compute gcd decomposition") -@iftime v>0 begin - for k in eachindex(sqrmult) - Ld[k] = Vector{Dict{Int, MPolyRingElem}}(undef,length(group_sqr[sqrmult[k]])) - for l in eachindex(group_sqr[sqrmult[k]]) - Ld[k][l] = fact_gcd(group_sqr[sqrmult[k]][l], lsr) - end - end - for k in eachindex(Ld) - for l in eachindex(Ld[k]) - for (i, dji) in Ld[k][l] - if haskey(param_crit, i+1) - push!(param_crit[i+1][1], dji) - else - error("Curve not in generic position") - end - end - end - end -end - for i in eachindex(param_crit) - filter!(p->total_degree(p)>0, param_crit[i][1]) - end - return filter(p->length(p[2][1])>0, param_crit) -end - -param_crit_split(f; v=1) = param_crit_split(f, zero(parent(f)), v=v, detect_app=false) - From d6cb10bdbe7bf6442ad3626a8fbc808fc1db495a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 15 Apr 2026 18:30:04 +0200 Subject: [PATCH 158/180] change also include --- src/connectivity/connectcurves.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 95b0eef..fc30a28 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -10,7 +10,7 @@ export compute_graph, connected_components, number_connected_components, group_b include("tools.jl") include("datastruct.jl") include("buildpoly.jl") -include("subresultants.jl") +include("paramcrit.jl") include("arbtools.jl") include("isolateboxes.jl") include("graph.jl") From 2a67ccf34e68e954e92dfdfd4268b869c9fb42db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 15 Apr 2026 19:37:48 +0200 Subject: [PATCH 159/180] manage special cases + consistence LBcrit --- src/connectivity/connectcurves.jl | 14 +++++++++++--- src/connectivity/isolateboxes.jl | 21 ++++++++++++--------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index fc30a28..442a280 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -75,7 +75,7 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; @iftime (v > 0) LBcrit, Lprecx = insulate_crit_boxes(f, params, precx, v=v-1) v > 0 && println("Compute intersections with critical boxes..") - @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf, v=v-1) + @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(f, params, LBcrit, Lprecx, v=v-1) # Critical values and their order xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in keys(LBcrit)) @@ -85,6 +85,15 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; Vert = Tuple{QQFieldElem, QQFieldElem}[] # List of points (x,y) Edg = Tuple{Int, Int}[] # List of tuples (idx, idy) Vcon = Dict{Int, Vector{Int}}(k => Int[] for k in keys(C)) # Index of control vertices + typeout = outf ? Float64 : QQFieldElem + + # Empty or unbounded real curves + if isempty(xcrit) + Vert = reduce(vcat, [ (typeout(e), typeout(yy[1])) for e=0:1 for yy in isolate_eval(f,1,1-2*e)]) + nV = length(Vert) / 2 + Edg = [ (i, i + nV) for i=1:nV ] + return CurveGraph{typeout}(Vert, Edg, Vcon) + end Lapp_isolated = Tuple{Int, Int}[] Lapp_nodes = Tuple{Int, Int}[] @@ -189,9 +198,8 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; if outf Vert = [ (Float64(x), Float64(y)) for (x,y) in Vert ] - return CurveGraph{Float64}(Vert, Edg, Vcon) end # Return the unified data structure - return CurveGraph{QQFieldElem}(Vert, Edg, Vcon) + return CurveGraph{typeout}(Vert, Edg, Vcon) end \ No newline at end of file diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index f83b37a..a521d0b 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -130,7 +130,7 @@ function insulate_crit_boxes(f, params, precx; max_attempts=5, v=0) end # Helper function to process a single edge of the box -function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v, outf; max_retries=5) +function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v; max_retries=5) prec = initial_prec for _ in 1:max_retries @@ -158,13 +158,13 @@ function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_pre end # Function that computes the intersection of a curve with a box by isolating roots on the edges -function intersect_box(f, B, outf; prec=100, v=0) +function intersect_box(f, B; prec=100, v=0) # Evaluate horizontal edges (fix y to B[2][1] and B[2][2], target x-interval B[1]) - edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v, outf) - edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v, outf) + edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v) + edge_y2 = _isolate_box_edge(f, 2, B[2][2], B[1], prec, v) # Evaluate vertical edges (fix x to B[1][1] and B[1][2], target y-interval B[2]) - edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v, outf) - edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v, outf) + edge_x1 = _isolate_box_edge(f, 1, B[1][1], B[2], prec, v) + edge_x2 = _isolate_box_edge(f, 1, B[1][2], B[2], prec, v) # Return clean struct T = QQFieldElem @@ -199,8 +199,7 @@ end # Function computing the intersection of the vertical sides of the critical boxes with the curve defined by f. # If an intersection on top/bottom side is detected, refine the width until this does not happen or max_attemps is reached. -function intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf; max_attempts=5, v=0) - # Automatically infer the point type based on outf +function intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0) T = QQFieldElem LPCside = Dict{Int, Vector{BoxIntersections{T}}}() LnPCside = Dict{Int, Vector{NTuple{4, Int}}}() @@ -216,7 +215,7 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf; max_attempts= @inbounds for j in 1:n v >= 0 && print("i=$i ($j/$n)\r") - pc = intersect_box(f, boxes[j], outf, prec=prec, v=v) + pc = intersect_box(f, boxes[j], prec=prec, v=v) c1 = length(pc.bottom.indices_inside) c2 = length(pc.top.indices_inside) @@ -271,6 +270,8 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf; max_attempts= push!(side_indices, ind_yinf) empty!(pc.bottom.indices_inside) npcs[j] = (0, c2, s == 1 ? c3 + 1 : c3, s == 2 ? c4 + 1 : c4) + # Update also LBcrit for consistency purpose only + boxes[j][2] = (side_pts[ind_yinf][1], boxes[j][2][2]) end c1, c2, c3, c4 = npcs[j] # In case this has changed @@ -281,6 +282,8 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx, outf; max_attempts= push!(side_indices, ind_ymax) empty!(pc.top.indices_inside) npcs[j] = (c1, 0, s == 1 ? c3 + 1 : c3, s == 2 ? c4 + 1 : c4) + # Update also LBcrit for consistency purpose only + boxes[j][2] = (boxes[j][2][1], side_pts[ind_ymax][2]) end end end From e8d551b9e77a348ec10cdf4dd2c55dedbe6cbf36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 15 Apr 2026 20:00:29 +0200 Subject: [PATCH 160/180] add test on mmod intersect_biv --- src/connectivity/paramcrit.jl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/connectivity/paramcrit.jl b/src/connectivity/paramcrit.jl index 47dc731..b38f6ec 100644 --- a/src/connectivity/paramcrit.jl +++ b/src/connectivity/paramcrit.jl @@ -125,6 +125,9 @@ function intersect_biv(P::Vector, A::MPolyRingElem) while compt < 12 p = next_prime(p) Fp = GF(p) + # Prime check + lcA, lcP = ZZ(leading_coefficient(A)), ZZ(leading_coefficient(P[1])) + divides(p, gcd(lcA, lcP))[1] && continue # Map polynomials natively to Fp Pp = [map_coefficients(Fp, poly) for poly in P] @@ -147,7 +150,10 @@ function intersect_biv(P::Vector, A::MPolyRingElem) pprod *= p try dA_final = [reconstruct(c, pprod) for c in dA_current] - (compt > 0 && dA_final == dA_prev) && break + if (compt > 0 && dA_final == dA_prev) + fact = MPolyBuild(dA_final, RSA, 1) + divides(fact, P[1])[1] && return fact + end catch # Rational reconstruction failed, try next prime end @@ -156,7 +162,7 @@ function intersect_biv(P::Vector, A::MPolyRingElem) compt += 1 end - return MPolyBuild(dA_final, RSA, 1) + error("Failed multi-modular computation of apparent sing: $compt primes used") end # ========================================================================= From 787b4cd61bbce72a3cc07210de85b01ad8930b06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Wed, 15 Apr 2026 20:51:19 +0200 Subject: [PATCH 161/180] finish documenting compute_graph --- src/connectivity/connectcurves.jl | 54 ++++++++++++++++++++++++++----- src/connectivity/graph.jl | 4 +-- src/connectivity/isolateboxes.jl | 4 +-- src/connectivity/paramcrit.jl | 9 ++++-- 4 files changed, 57 insertions(+), 14 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 442a280..fc4fc4a 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -1,5 +1,5 @@ -export compute_graph, connected_components, number_connected_components, group_by_component, merge_graphs, +export compute_graph, connected_components, number_of_connected_components, group_by_component, merge_graphs, plot_graph, plot_graphs, plot_graph_comp, Bresultant, param_crit_split, build_graphs_data, build_graph_data # DEBUG @@ -20,6 +20,51 @@ include("plots.jl") # MULTIPLE DISPATCH WRAPPERS # ========================================================================= +@doc Markdown.doc""" + compute_graph(f::P, g::P; generic=true, precx=150, v=0, int_coeff=true, outf=true) where {P <: MPolyRingElem} + compute_graph(f::P, g::P, C::Vector{P}; kwargs...) + compute_graph(f::P, g::P, C::Vector{Vector{P}}; kwargs...) + compute_graph(f::P, g::P, C::Dict{Int, Vector{P}}; kwargs...) + +Computes a planar straight-line graph that is homeomorphic to a 3D space curve. + +The input space curve is defined by a 1D parameterization consisting of its planar projection `f(x,y) = 0` and its vertical lift `z = g(x,y) / df/dy(x,y)`. A key feature of this function is its ability to identify and resolve "apparent singularities" in the planar projection—points where two non-singular branches of the 3D curve cross in the 2D projection but do not intersect in 3D space. This is describe in the paper: + + A.Poteaux, N.Islam, R.PrĂ©bet - Algorithm for Connectivity Queries on Real Algebraic Curves - ISSAC'23 + +### Output Data Structure +Returns a `CurveGraph{T}` object (where `T` is determined by the `outf` flag), containing: +* `Vert::Vector{Tuple{T, T}}`: A list of 2D coordinates representing the vertices of the graph (critical points, structural routing nodes, and injected control points). +* `Edg::Vector{Tuple{Int, Int}}`: A list of index pairs defining the undirected edges between vertices in `Vert`. +* `Vcon::Dict{Int, Vector{Int}}`: A mapping from the original 1-based index of a control point in the input array `C` to its resulting vertex index in the `Vert` array. + +### Arguments +* **`f`** (`MPolyRingElem`): The bivariate polynomial defining the planar projection `f(x,y) = 0` +* **`g`** (`MPolyRingElem`): The auxiliary polynomial defining the z-coordinate via `z = g / f_y`. +* **`C`** (`Vector{P}`, Vector{Vector{MPolyRingElem}}`, or `Dict{Int, Vector{P}}`, optionnal): A single/list/dictionnary of user-defined plane points on the curve (control points). Each point is given as a parameterization `[p, a, b]` such that `p(x) = 0` and `y = a(x)/b(x)`. +* **`generic`** (`Bool`, default `true`): If `false`, applies a random shear transformation to put the curve into generic position (preventing vertical alignments of critical points) and inverses it at the end. +* **`precx`** (`Int`, default `150`): Base numerical precision used for the real root isolation of critical x-coordinates. +* **`v`** (`Int`, default `0`): Verbosity level for tracking computational progress. +* **`int_coeff`** (`Bool`, default `true`): If `true`, coerces the polynomials to integer coefficients for optimized exact arithmetic. +* **`outf`** (`Bool`, default `true`): If `true`, outputs the vertex coordinates as machine `Float64`. If `false`, preserves exact rational coordinates (`QQFieldElem`). + +### Examples +```jldoctest +julia> using AlgebraicSolving + +julia> R, (x,y) = polynomial_ring(QQ, ["x","y"]) +(Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[x, y]) + + +julia> # Define a space curve projection and its z-lift + f = -49303382*x^4 + 9395599*x^3*y + 67366686*x^3 - 27407214*x^2*y^2 - 71298014*x^2*y - 24150320*x^2 - 12067817*x*y^3 + 6797370*x*y^2 + 20838420*x*y - 18118613*x + 2357706*y^4 - 13736522*y^3 - 37604516*y^2 - 13868221*y + 6980802; + g = 32091920*x^4 - 97772598*x^3*y - 245256584*x^3 + 99093410*x^2*y^2 + 162335273*x^2*y + 239310556*x^2 + 28995368*x*y^3 - 59544597*x*y^2 - 20499914*x*y + 98243402*x + 22738226*y^3 + 111105506*y^2 + 86287748*y - 62439535; + +julia> graph = compute_graph(f, g); + +julia> number_of_connected_components(graph) +3 +""" # Base case: No 'C' (control points) provided compute_graph(f::P, g::P; kwargs...) where {P <: MPolyRingElem} = _compute_graph_core(f, g, Vector{Vector{P}}(); kwargs...) @@ -44,13 +89,6 @@ compute_graph(f::P, g::P, C::Vector{P}; kwargs...) where {P <: MPolyRingElem} = # CORE IMPLEMENTATION # ========================================================================= -# Input: -# The space curve is given by f(x,y) = 0 and (df/dy)(x,y)*z = g(x,y) -# it is assumed in generic position of put it using generic parameter -# for now f is assumed to be square-free (future feature) -# C is a list of parametrization [p,a,b] of plane pts i.e. such that p(x)=0,y=a(x)/b(x) -# these points must be on the curve -# Output: Computes a graph homeomorphic to the curve, identitying point in C function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; generic=true, precx=150, v=0, int_coeff=true, outf=true) where {P <: MPolyRingElem} diff --git a/src/connectivity/graph.jl b/src/connectivity/graph.jl index 2ec31c5..291ce64 100644 --- a/src/connectivity/graph.jl +++ b/src/connectivity/graph.jl @@ -102,12 +102,12 @@ function group_by_component(G::CurveGraph) end """ - number_connected_components(G::CurveGraph) + number_of_connected_components(G::CurveGraph) # Outputs - `Int`: The count of isolated subgraphs in the parent structure. """ -number_connected_components(G::CurveGraph) = length(connected_components(G)) +number_of_connected_components(G::CurveGraph) = length(connected_components(G)) # ========================================================================= diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index a521d0b..c042fbc 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -271,7 +271,7 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0 empty!(pc.bottom.indices_inside) npcs[j] = (0, c2, s == 1 ? c3 + 1 : c3, s == 2 ? c4 + 1 : c4) # Update also LBcrit for consistency purpose only - boxes[j][2] = (side_pts[ind_yinf][1], boxes[j][2][2]) + boxes[j][2][1] = side_pts[ind_yinf][1] end c1, c2, c3, c4 = npcs[j] # In case this has changed @@ -283,7 +283,7 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0 empty!(pc.top.indices_inside) npcs[j] = (c1, 0, s == 1 ? c3 + 1 : c3, s == 2 ? c4 + 1 : c4) # Update also LBcrit for consistency purpose only - boxes[j][2] = (boxes[j][2][1], side_pts[ind_ymax][2]) + boxes[j][2][2] = side_pts[ind_ymax][2] end end end diff --git a/src/connectivity/paramcrit.jl b/src/connectivity/paramcrit.jl index b38f6ec..cd282cb 100644 --- a/src/connectivity/paramcrit.jl +++ b/src/connectivity/paramcrit.jl @@ -200,9 +200,14 @@ end # ========================================================================= """ - param_crit_split(f::MPolyRingElem; v=0, detect_app=true) + param_crit_split(f::MPolyRingElem, g::MPolyRingElem; v=0, detect_app=true) -Computes the critical points of a curve `f(x, y) = 0` grouped by multiplicity. +Computes the critical points (grouped by multiplicity) and apparent singularities +of the space curve defined by: + `f(x, y) = 0` and `(df/dy)(x,y) * z = g(x,y)` + +This relies on subresultant computations and apparent singularity criterion from: +A.Poteaux, N.Islam, R.PrĂ©bet - Algorithm for Connectivity Queries on Real Algebraic Curves - ISSAC'23 """ function param_crit_split(f::MPolyRingElem, g::MPolyRingElem; v=0, detect_app=true) v > 0 && println("Compute subresultant sequence") From bd46e148ab439c2acaa5aee4a53f95dfb7e5ad8b Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 16 Apr 2026 01:17:17 +0200 Subject: [PATCH 162/180] bug fixes + genericity tests --- src/connectivity/arbtools.jl | 4 ++-- src/connectivity/connectcurves.jl | 27 +++++++++++++++++++++------ src/connectivity/paramcrit.jl | 25 ++++++++++++------------- 3 files changed, 35 insertions(+), 21 deletions(-) diff --git a/src/connectivity/arbtools.jl b/src/connectivity/arbtools.jl index 3134133..3d2ad1a 100644 --- a/src/connectivity/arbtools.jl +++ b/src/connectivity/arbtools.jl @@ -38,8 +38,8 @@ function evaluate_arb(f, g, x::Vector{QQFieldElem}, field::ArbField) is_zero(f) && return zero(parent(x)) - cf = coefficients_of_univariate(f) - cg = coefficients_of_univariate(g) + cf = field.(coefficients_of_univariate(f)) + cg = field.(coefficients_of_univariate(g)) x_arb = rat_to_arb(x, field) num = evalpoly(x_arb, cf) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index fc4fc4a..171a432 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -90,21 +90,37 @@ compute_graph(f::P, g::P, C::Vector{P}; kwargs...) where {P <: MPolyRingElem} = # ========================================================================= function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; - generic=true, precx=150, v=0, int_coeff=true, outf=true) where {P <: MPolyRingElem} + generic=true, precx=150, v=0, detect_app=true, outf=true) where {P <: MPolyRingElem} + + @assert !iszero(f) "Input does not define a curve" R = parent(f) x, y = gens(R) - intC = int_coeff ? int_coeffs : identity + typeout = outf ? Float64 : QQFieldElem + + # Empty set + total_degree(f) == 0 && + return CurveGraph( + Tuple{typeout, typeout}[], + Tuple{Int, Int}[], + Dict{Int, Vector{Int}}() + ) # Pre-processing the input - f, g = intC([f, g]) - changemat = generic ? [1 0; 0 1] : trimat_rand(QQ, 2, range=-100:100) + f, g = int_coeffs([f, g]) + changemat = generic ? [1 0; 0 1] : [ QQ(rand(-100:100)) for i=1:2, j=1:2 ] + f = evaluate(f, collect(changemat * [x; y])) precx = max(2, precx) v > 1 && println(f) + # Zero-dim param conditions + d = total_degree(f) + @assert degree(f, 2) == d && degree(f, 1) == d && degree(g, 2) < d && + is_squarefree(f) "Curve not in generic position. Try with generic=false." + v > 0 && println("Compute parametrization of critical pts...") - @iftime (v > 0) params = param_crit_split(f, g, v=v-1, detect_app=true) + @iftime (v > 0) params = param_crit_split(f, g, v=v-1, detect_app=detect_app) for i in 1:length(C) params[-i] = [ [intC(C[i][1])], C[i][2], C[i][3] ] end @@ -123,7 +139,6 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; Vert = Tuple{QQFieldElem, QQFieldElem}[] # List of points (x,y) Edg = Tuple{Int, Int}[] # List of tuples (idx, idy) Vcon = Dict{Int, Vector{Int}}(k => Int[] for k in keys(C)) # Index of control vertices - typeout = outf ? Float64 : QQFieldElem # Empty or unbounded real curves if isempty(xcrit) diff --git a/src/connectivity/paramcrit.jl b/src/connectivity/paramcrit.jl index cd282cb..4dbd643 100644 --- a/src/connectivity/paramcrit.jl +++ b/src/connectivity/paramcrit.jl @@ -213,7 +213,6 @@ function param_crit_split(f::MPolyRingElem, g::MPolyRingElem; v=0, detect_app=tr v > 0 && println("Compute subresultant sequence") f_y = derivative(f, 2) @iftime v>0 sr = subresultants(f, f_y, 2, list=true) - (isempty(sr) || total_degree(sr[1][1]) == 0) && return Dict{Int, Vector}() v > 1 && println("Factorization") @@ -226,25 +225,28 @@ function param_crit_split(f::MPolyRingElem, g::MPolyRingElem; v=0, detect_app=tr sqrmult = unique([s[2] for s in sqr]) group_sqr = Dict(m => [s[1] for s in sqr if s[2] == m] for m in sqrmult) - v > 0 && println("Compute crit partition w.r.t to multiplicity") param_crit = Dict{Int, Vector}() # Helper function to prevent out-of-bounds access on subresultant lists - get_sr = (p, idx) -> (length(sr) >= p && length(sr[p]) >= abs(idx)) ? sr[p][end+idx] : zero(parent(f)) + get_sr = (p, idx)-> (length(sr) >= p && length(sr[p]) >= abs(idx) + 1) ? sr[p][end+idx] : zero(parent(f)) + + # Critical points : multiplicity 1 in res + (1 in sqrmult) && (param_crit[1] = [group_sqr[1], -get_sr(2, -1), get_sr(2, 0)]) + # Singular points singmult = filter(p -> p*(p-1) <= sqrmult[end], 2:sqrmult[end]) + isempty(singmult) && return filter(p -> length(p.second[1]) > 0, param_crit) + + @assert length(sr) >= singmult[end] "Curve not in generic position. Try with generic=false." for p in singmult + @assert length(sr[p]) >= 2 "Curve not in generic position. Try with generic=false." param_crit[p] = [MPolyRingElem[], -get_sr(p, -1), (p-1)*get_sr(p, 0)] end - # Critical points : multiplicity 1 in res - (1 in sqrmult) && (param_crit[1] = [group_sqr[1], -get_sr(2, -1), get_sr(2, 0)]) - isempty(singmult) && return filter(p -> length(p.second[1]) > 0, param_crit) - # Nodes : multiplicity 2 in res - v > 0 && println("Compute apparent singularities") if 2 in sqrmult if detect_app + v > 0 && println("Compute apparent singularities") f_x = derivative(f, 1) A = derivative(f_y, 2) * derivative(g, 1) - derivative(f_x, 2) * derivative(g, 2) @@ -265,14 +267,11 @@ function param_crit_split(f::MPolyRingElem, g::MPolyRingElem; v=0, detect_app=tr for m in sqrmult for q in group_sqr[m] for (i, dji) in fact_gcd(q, lsr) - haskey(param_crit, i+1) ? push!(param_crit[i+1][1], dji) : error("Curve not generic") + @assert haskey(param_crit, i+1) "Curve not in generic position. Try with generic=false." + push!(param_crit[i+1][1], dji) end end end - for v in values(param_crit) - filter!(p -> total_degree(p) > 0, v[1]) - end - return filter(p -> length(p.second[1]) > 0, param_crit) end \ No newline at end of file From 1b783eb665f5047b8c645ec56673f73a0dcf5746 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Thu, 16 Apr 2026 10:36:21 +0200 Subject: [PATCH 163/180] one function for plot --- src/connectivity/plots.jl | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 51275ff..ed5bb29 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -1,7 +1,3 @@ -# Distinguishable Colors - -# file: utils/colors.jl - """ distinguishable_colors(n; s=0.8, v=0.9) @@ -62,7 +58,7 @@ end plot_graph(build_graphs_data(G)) """ -function build_graph_data(G; width=3.0, vert=true, color="#FF0000") +function build_graph_data(G::CurveGraph{T}; width=3.0, vert=true, color="#FF0000") where T <: Union{Float64,QQFieldElem} V, Vcon, E = G.vertices, G.control_nodes, G.edges # edges @@ -107,10 +103,10 @@ function plot_graphs(CP) gui() end -plot_graphs(build_graphs_data(CG)) +plot_graphs(build_graph_data(CG)) """ -function build_graphs_data(CG; width=3.0, vert=true) +function build_graph_data(CG::Vector{CurveGraph{T}}; width=3.0, vert=true) where T <: Union{Float64,QQFieldElem} c = distinguishable_colors(length(CG)) return [build_graph_data(G; width=width, vert=vert, color=c[i]) for (i, G) in enumerate(CG)] From f0d419e4cd5ec4e6f66b7079f7743b511695c147 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Thu, 16 Apr 2026 16:33:11 +0200 Subject: [PATCH 164/180] documentation of graph + start examples --- src/connectivity/graph.jl | 57 ++++++++++++++++++++++----- src/connectivity/plots.jl | 2 + test/algorithms/curve-connectivity.jl | 24 +++++++++++ 3 files changed, 74 insertions(+), 9 deletions(-) create mode 100644 test/algorithms/curve-connectivity.jl diff --git a/src/connectivity/graph.jl b/src/connectivity/graph.jl index 291ce64..afddb06 100644 --- a/src/connectivity/graph.jl +++ b/src/connectivity/graph.jl @@ -2,17 +2,26 @@ # GRAPH DECOMPOSITION # ========================================================================= -""" +@doc Markdown.doc""" connected_components(G::CurveGraph{T}) where T -Decomposes a graph into its connected components. +Decomposes a graph into its topologically connected components using a Depth-First Search (DFS). + +This function is particularly useful when a single algebraic curve resolves into multiple +disconnected real branches in space. It guarantees that isolated vertices are preserved as +their own zero-edge components. + +Crucially, this function preserves the `control_nodes` mappings. If a global control node +belonged to a specific vertex, it is correctly remapped to that vertex's new local index +within its specific disconnected subgraph. # Inputs -- `G::CurveGraph{T}`: The unified curve graph. +- `G::CurveGraph{T}`: The unified curve graph to be decomposed. # Outputs - `Vector{CurveGraph{T}}`: A list of disjoint subgraphs. Each subgraph retains the mapped coordinates, edges, and control nodes belonging to its component. + """ function connected_components(G::CurveGraph{T}) where T nv = length(G.vertices) @@ -90,22 +99,38 @@ function connected_components(G::CurveGraph{T}) where T return subgraphs end -""" +@doc Markdown.doc""" group_by_component(G::CurveGraph) +Extracts the control_nodes dictionaries partitioned by the graph's connected components. +This is primarily used to determine which external connections (or user-defined points) +belong to which isolated branch of the curve. + +# Inputs +- `G::CurveGraph{T}`: The parent graph structure. + # Outputs -- `Vector{Dict{Int, Vector{Int}}}`: Returns just the control nodes mapped to each connected component. +- `Vector{Dict{Int, Vector{Int}}}`: A list of dictionaries, one for each connected component, +detailing the local vertex indices mapped to specific control IDs. + """ function group_by_component(G::CurveGraph) subgraphs = connected_components(G) return [sg.control_nodes for sg in subgraphs if !isempty(sg.vertices)] end -""" +@doc Markdown.doc""" number_of_connected_components(G::CurveGraph) +Computes the total number of topologically disconnected branches/components in the graph. +This is a convenience wrapper for topological validation. + +# Inputs +- `G::CurveGraph{T}`: The parent graph structure. + # Outputs -- `Int`: The count of isolated subgraphs in the parent structure. +- `Int`: The count of isolated subgraphs. + """ number_of_connected_components(G::CurveGraph) = length(connected_components(G)) @@ -118,11 +143,23 @@ number_of_connected_components(G::CurveGraph) = length(connected_components(G)) merge_graphs(graphs::Vector{CurveGraph{T}}) where T Merges a collection of disjoint graphs into a single graph, mathematically fusing -vertices that share common `control_nodes` mappings. +vertices based on their control_nodes dictionnaries that describe a one-to-one +correspondance between subset of vertices of each graph. + + +# Fusion Mechanism: +This work as follows. Given V1 = [u1,u2] and V2 = [w1,w2,w3] the vertices of two graphs G1 and G2. +Let C1= {2 => [1]} and C2 = {1 => [2]} be their respective control_nodes disctionnary. +Then it merges the first vertex w1 of G2 with the second vertex u2 of G1. +The merged graph has vertices [u1,u2,w2,w3]. + +Note that control nodes that refer to external bounds (e.g., indices k <= 0 or k > length(graphs)) +are preserved in the final merged graph to allow for subsequent higher-level merging or tracking. # Inputs - `graphs::Vector{CurveGraph{T}}`: A list of graphs. `graphs[i].control_nodes[k]` should contain the local vertex indices in graph `i` that connect to graph `k`. + This vertex correspondance must be one-to-one. # Outputs - `CurveGraph{T}`: A unified graph struct. @@ -145,8 +182,10 @@ function merge_graphs(graphs::Vector{CurveGraph{T}}) where T # Step 1: Pre-map common control nodes connected to previously merged graphs for (k, common_indices_in_i) in G_i.control_nodes - if k < i && haskey(graphs[k].control_nodes, i) + if k < i && !isempty(common_indices_in_i) + @assert haskey(graphs[k].control_nodes, i) "Correspondance is not one-to-one" common_indices_in_k = graphs[k].control_nodes[i] + @assert length(common_indices_in_i) == length(common_indices_in_k) "Correspondance is not one-to-one" # Zip ensures we pair corresponding control nodes precisely for (idx_i, idx_k) in zip(common_indices_in_i, common_indices_in_k) global_map[(i, idx_i)] = global_map[(k, idx_k)] diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index ed5bb29..75cbe48 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -47,6 +47,7 @@ end # ---------- CORE BUILDERS ---------- """ # How to plot: +using Plots function plot_graph(P) plot(legend=false) E = P.edge_group @@ -93,6 +94,7 @@ end """ # How to plot: +using Plots function plot_graphs(CP) plot(legend=false) for P in CP diff --git a/test/algorithms/curve-connectivity.jl b/test/algorithms/curve-connectivity.jl new file mode 100644 index 0000000..cd4a9b7 --- /dev/null +++ b/test/algorithms/curve-connectivity.jl @@ -0,0 +1,24 @@ + +# param2 +f = -49303382*x^4 + 9395599*x^3*y + 67366686*x^3 - 27407214*x^2*y^2 - 71298014*x^2*y - 24150320*x^2 - 12067817*x*y^3 + 6797370*x*y^2 + 20838420*x*y - 18118613*x + 2357706*y^4 - 13736522*y^3 - 37604516*y^2 - 13868221*y + 6980802 +g = 32091920*x^4 - 97772598*x^3*y - 245256584*x^3 + 99093410*x^2*y^2 + 162335273*x^2*y + 239310556*x^2 + 28995368*x*y^3 - 59544597*x*y^2 - 20499914*x*y + 98243402*x + 22738226*y^3 + 111105506*y^2 + 86287748*y - 62439535 + +# Not generic +f = y^2-x^2*(x+1) + +# Crunode (after generic change of variable) +-2744*x^3 - 34692*x^2*y + 8085*x^2 - 146202*x*y^2 + 896*x*y - 205379*y^3 - 3285*y^2 + +# Acnode +157464*x^3 + 297432*x^2*y + 7012*x^2 + 187272*x*y^2 + 1496*x*y + 39304*y^3 + 1445*y^2 + +# Ordinary cusp +79507*x^3 + 543606*x^2*y + 9604*x^2 + 1238916*x*y^2 - 3528*x*y + 941192*y^3 + 324*y^2 + +# Rhamphoid cusp +-3077056399*x^5 - 16359034020*x^4*y - 28398241*x^4 - 34788831840*x^3*y^2 + 9336408*x^3*y - 36990656640*x^2*y^3 - 1151064*x^2*y^2 + 5329*x^2 - 19665918720*x*y^4 + 63072*x*y^3 - 876*x*y - 4182119424*y^5 - 1296*y^4 + 36*y^2 +or +-243*x^5 - 25515*x^4*y - 1071630*x^3*y^2 - 22504230*x^2*y^3 + 8464*x^2 - 236294415*x*y^4 + 18216*x*y - 992436543*y^5 + 9801*y^2 + +# Non-generic because two crit-point above (but rat_cur_param works) +x^4 - x^3 + 2*x^2*y^2 - 7//4*x^2 - x*y^2 + x + y^4 - 7//4*y^2 + 3//4 From 7d9e921626c6bc538d4745fca1b64bb27d4ef6af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Thu, 16 Apr 2026 16:54:08 +0200 Subject: [PATCH 165/180] more documentation --- src/connectivity/isolateboxes.jl | 68 +++++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 19 deletions(-) diff --git a/src/connectivity/isolateboxes.jl b/src/connectivity/isolateboxes.jl index c042fbc..8e7edbd 100644 --- a/src/connectivity/isolateboxes.jl +++ b/src/connectivity/isolateboxes.jl @@ -1,8 +1,11 @@ in_inter(I, J) = J[1] <= I[1] && I[2] <= J[2] overlap_inter(I, J) = max(I[1], J[1]) <= min(I[2], J[2]) - # Function that isolate roots of a multivariate polynomial with a - # single variable +""" + isolate(f; prec = 32) + +Isolate real roots of a multivariate polynomial with a single variable +""" function isolate(f; prec = 32) total_degree(f) == 0 && return [] @assert is_univariate(f) "Not univariate polynomial" @@ -11,11 +14,14 @@ function isolate(f; prec = 32) return getindex.(sols, 1) end -# univariate isolation of roots of a bivariate polynomial f whose -# ivar-th variable is evaluated at val +""" + isolate_eval(f, ivar, val; prec=64) + +Isolate real roots of a bivariate polynomial whose ivar-th variable is +evaluated at val +""" function isolate_eval(f, ivar, val; prec=64) fev = evaluate(f, [ivar], [val]) - # fev *= fev |> coefficients .|> denominator |> lcm fev = fev / content(fev) return isolate(fev, prec=prec) end @@ -74,8 +80,12 @@ function _needs_refinement(i, Lfyk, LBcrit, precx) return false end -# Compute the list of the n-th first derivative of p w.r.t v -function diff_list(p, v, n) +""" + _diff_list(p, v, n) + +Compute the list of the n-th first derivative of p w.r.t v +""" +function _diff_list(p, v, n) L = Vector{typeof(p)}(undef, n + 1) L[1] = p @inbounds for j in 2:n+1 @@ -87,14 +97,14 @@ end """ compute_crit_and_singular_boxes(f, params, precx; max_attempts=5, v=0) -Compute insulating boxes for critical points, refining precision if necessary. -Insulating means that each box contains a single critical point and -all branches of the curve intersecting the box are incident to this -critical point. +Compute insulating boxes for critical points, refining precision if +necessary. Insulating means that each box contains a single critical +point and all branches of the curve intersecting the box are incident +to this critical point. """ function insulate_crit_boxes(f, params, precx; max_attempts=5, v=0) LBcrit, Lprecx = Dict(), Dict() - Lfyk = diff_list(f, 2, maximum(keys(params), init=2)) + Lfyk = _diff_list(f, 2, maximum(keys(params), init=2)) for i in keys(params) attempts, precxi = 0, precx @@ -129,7 +139,14 @@ function insulate_crit_boxes(f, params, precx; max_attempts=5, v=0) return LBcrit, Lprecx end -# Helper function to process a single edge of the box +""" + _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v; max_retries=5) + +Function that computes the intersection of a curve with a vertical +(fixed_dim=1)/horizontal (fixed_dim=2) line, and identify those in +target interval. +Returns isolating intervals and indices of the interval in target_interval +""" function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_prec, v; max_retries=5) prec = initial_prec @@ -154,10 +171,16 @@ function _isolate_box_edge(f, fixed_dim, fixed_val, target_interval, initial_pre return BoxEdge{T}(roots, indices_inside) end end - error("Problem when isolating on one side of a box after $max_retries attempts\n Consider increasing the initial precision or genericity position.") + error("Problem when isolating on one side of a box after $max_retries attempts\n + Consider increasing the initial precision or genericity position.") end -# Function that computes the intersection of a curve with a box by isolating roots on the edges +""" + intersect_box(f, B; prec=100, v=0) + +Computes the intersection of a curve with a box by +isolating roots on the edges. +""" function intersect_box(f, B; prec=100, v=0) # Evaluate horizontal edges (fix y to B[2][1] and B[2][2], target x-interval B[1]) edge_y1 = _isolate_box_edge(f, 2, B[2][1], B[1], prec, v) @@ -197,8 +220,16 @@ function refine_xboxes(F::Vector{T} where T<:Union{PolyRingElem, MPolyRingElem}, return _update_LB_first_axis!(LB, xnew) end -# Function computing the intersection of the vertical sides of the critical boxes with the curve defined by f. -# If an intersection on top/bottom side is detected, refine the width until this does not happen or max_attemps is reached. +""" + intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0) + +Computes the intersection of the vertical sides of the critical boxes +in LBcrit with the curve defined by f. + +If an intersection on top/bottom side is detected, refine the width +using params and Lprecx until this does not happen or max_attemps is +reached. +""" function intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0) T = QQFieldElem LPCside = Dict{Int, Vector{BoxIntersections{T}}}() @@ -239,11 +270,10 @@ function intersect_vertical_boxes(f, params, LBcrit, Lprecx; max_attempts=5, v=0 attempt == max_attempts && error("Problem in computing intersections (i=$i)") end - + v > 0 && print("\n") LPCside[i] = sides_vec LnPCside[i] = nsides_vec Lprecx[i] = prec - v >= 0 && println() end # ---- Extremal case (i == 1) we vertically enlarge boxes manually ----- From 55c687eb3c966122ca18c19e693993e48b05dc11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Thu, 16 Apr 2026 18:07:10 +0200 Subject: [PATCH 166/180] more doc (type) --- docs/src/types.md | 105 ++++++++++++++++++++++++++++++++- src/connectivity/datastruct.jl | 26 -------- src/connectivity/plots.jl | 75 ++++++++++++++--------- src/types.jl | 31 +++++++++- 4 files changed, 181 insertions(+), 56 deletions(-) diff --git a/docs/src/types.md b/docs/src/types.md index 1a18966..af668a5 100644 --- a/docs/src/types.md +++ b/docs/src/types.md @@ -186,4 +186,107 @@ The reason of this tree arrangement is mainly because of the following property: of the other's*. In many cases, one can even replace "descendant" by "parent". -See the documentation of the [roadmap](@ref) function for further details. \ No newline at end of file +See the documentation of the [roadmap](@ref) function for further details. + +# Graph Data Structures & Visualization + +## Curve Graphs + +The `CurveGraph{T}` structure represents a planar straight-line graph +that is homeomorphic to a real algebraic curve. It is the output of +algorithms [compute_graph](@ref), which compute the planar projection +of curves while resolving apparent singularities. + +These real algebraic curves are typically output of roadmap algorithms +presented above. Hence `CurveGraph{T}` object can provide a +discretized skeleton of real algebraic sets that preserves +connectivity properties. In particular they share the same number of +connected components (respectively as graphs and as semi-algebraic +sets) + + +The type `CurveGraph{T}` (where `T` is typically `Float64` or `QQFieldElem`) caches the following attributes: + + * `vertices::Vector{Tuple{T, T}}`: a list of 2D coordinates representing the nodes of the graph (critical points, regular routing points, and user-defined control points). + + * `edges::Vector{Tuple{Int, Int}}`: a list of index pairs defining the undirected edges connecting the vertices in `vertices`. + + * `control_nodes::Dict{Int, Vector{Int}}`: a dictionary mapping user-defined control point IDs to their corresponding local vertex indices in the `vertices` array. These IDs typically refer to other `CurveGraph{T}` and the associated vertices: their mutual intersection. This is useful when computing arrangement of curves using [merge_graphs](@ref). + +```julia +struct CurveGraph{T} + vertices::Vector{Tuple{T, T}} + edges::Vector{Tuple{Int, Int}} + control_nodes::Dict{Int, Vector{Int}} +end +``` + +## Graph Plotting Data + +To seamlessly visualize `CurveGraph` objects using standard plotting libraries (such as `Plots.jl`), AlgebraicSolving provides an intermediate geometric representation. + +The primary structure is `GraphPlotData`, which decomposes a mathematical graph into purely visual components: + +* `edges::EdgeGroup`: contains the geometric line segments representing the graph's connections, alongside styling data (color and width). + +* `points::Vector{PointGroup}`: separates standard vertices and special control nodes into distinct scatter groups with specific markers (e.g., `:x` for standard vertices, `:+` for control nodes). + +```julia +struct EdgeGroup + edges::Vector{Tuple{Vector{Float64}, Vector{Float64}}} + color::String + width::Float64 +end + +struct PointGroup + vertices::Tuple{Vector{Float64}, Vector{Float64}} + color::String + marker::Symbol +end + +struct GraphPlotData + edge_group::EdgeGroup + point_groups::Vector{PointGroup} +end +``` + +### Core Builders + +The functions [build_graph_data](@ref) allow to compute such `GraphPlotData` from `CurveGraph{T}` objects. These former objects can be plotted with `Plot.jl` as follows. Below, `G` is a `CurveGraph{T}`. + +```julia +using Plots + +function plot_graph(P) + plot(legend=false) + E = P.edge_group + plot!(E.edges, color=E.color, width = E.width) + [scatter!(V.vertices, color=V.color, marker = V.marker) for V in P.point_groups] + gui() +end + +plot_graph(build_graphs_data(G)) +``` + +If one has `CG` a list of `CurveGraph{T}` (typically the connected +components of `G` obtained with [connected_components](@ref)). + +```julia +# How to plot: +using Plots + +function plot_graphs(CP) + plot(legend=false) + for P in CP + E = P.edge_group + plot!(E.edges, color=E.color, width = E.width) + [ scatter!(V.vertices, color=V.color, marker = V.marker) for V in P.point_groups ] + end + gui() +end + +plot_graphs(build_graph_data(CG)) +``` + +This will plot graphs in CG with distinct and distinguishable colors. +See the documentation of the [build_graph_data](@ref) function for further details. \ No newline at end of file diff --git a/src/connectivity/datastruct.jl b/src/connectivity/datastruct.jl index fa04d1f..e0349a0 100644 --- a/src/connectivity/datastruct.jl +++ b/src/connectivity/datastruct.jl @@ -19,30 +19,4 @@ Base.@kwdef struct CriticalNodeConnections center::Vector{Int} = Int[] top::Vector{Int} = Int[] right::Vector{Int} = Int[] -end - -# Connectivity graph + control nodes -struct CurveGraph{T} - vertices::Vector{Tuple{T, T}} - edges::Vector{Tuple{Int, Int}} - control_nodes::Dict{Int, Vector{Int}} -end - -# ---------- PLOT ---------- - -struct EdgeGroup - edges::Vector{Tuple{Vector{Float64}, Vector{Float64}}} - color::String - width::Float64 -end - -struct PointGroup - vertices::Tuple{Vector{Float64}, Vector{Float64}} # (x, y) - color::String - marker::Symbol -end - -struct GraphPlotData - edge_group::EdgeGroup - point_groups::Vector{PointGroup} end \ No newline at end of file diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 75cbe48..6f37d18 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -1,10 +1,10 @@ """ distinguishable_colors(n; s=0.8, v=0.9) -Return `n` visually distinct HEX colors using manual HSV→RGB conversion. +Return `n` visually distinct HEX colors using manual HSV->RGB conversion. No external libraries used. """ -function distinguishable_colors(n::Int; s::Float64=0.8, v::Float64=0.9) +function distinguishable_colors(n::Int; s::Float64=0.6, v::Float64=0.9) n <= 0 && return String[] colors = Vector{String}(undef, n) @@ -45,18 +45,35 @@ end # ---------- CORE BUILDERS ---------- -""" -# How to plot: -using Plots -function plot_graph(P) - plot(legend=false) - E = P.edge_group - plot!(E.edges, color=E.color, width = E.width) - [scatter!(V.vertices, color=V.color, marker = V.marker) for V in P.point_groups] - gui() -end -plot_graph(build_graphs_data(G)) +@doc Markdown.doc""" + build_graph_data(G::CurveGraph{T}; width=3.0, vert=true, color="#FF0000") where T <: Union{Float64,QQFieldElem} + +Construct plotting data from a `CurveGraph`. + +This function converts the piecewise linear structure encoded in `G` into a +`GraphPlotData` object, separating edges and point groups (vertices and control points), +ready for visualization with plotting libraries such as `Plots.jl` (see documentation +of `GraphPlotData`) + +# Arguments +- `G::CurveGraph{T}`: Input graph containing vertices, control nodes, and edges. +- `width::Real=3.0`: Line width used for rendering edges. +- `vert::Bool=true`: If `true`, include vertices in the graph. +- `color::AbstractString="#FF0000"`: Color used for both edges and points. + +# Behavior +- Edges are converted into line segments between vertex coordinates. +- Vertices (if enabled) are displayed with marker `:x`. +- Control nodes are grouped and displayed with marker `:+`. + +# Returns +- `GraphPlotData`: A structure containing: + - one `EdgeGroup` for all edges + - multiple `PointGroup`s for vertices and control nodes + +# Notes +- All coordinates are converted to `Float64` for compatibility with plotting backends. """ function build_graph_data(G::CurveGraph{T}; width=3.0, vert=true, color="#FF0000") where T <: Union{Float64,QQFieldElem} @@ -90,24 +107,26 @@ function build_graph_data(G::CurveGraph{T}; width=3.0, vert=true, color="#FF0000 return GraphPlotData(edge_group, point_groups) end -# ---------- MULTI GRAPHS ---------- - """ -# How to plot: -using Plots -function plot_graphs(CP) - plot(legend=false) - for P in CP - E = P.edge_group - plot!(E.edges, color=E.color, width = E.width) - [ scatter!(V.vertices, color=V.color, marker = V.marker) for V in P.point_groups ] - end - gui() -end + build_graph_data(CG::Vector{CurveGraph{T}}; width=3.0, vert=true) where T <: Union{Float64,QQFieldElem} -plot_graphs(build_graph_data(CG)) -""" +Construct plotting data for multiple `CurveGraph`s with automatically assigned colors. + +# Arguments +- `CG::Vector{CurveGraph{T}}`: Collection of curve graphs to visualize. +- `width::Real=3.0`: Line width used for rendering edges. +- `vert::Bool=true`: If `true`, include vertices in each graph. +# Behavior +- Colors are generated using `distinguishable_colors` to ensure visual contrast. +- Each graph is assigned a unique color consistently across its edges and points. + +# Returns +- `Vector{GraphPlotData}`: One plotting data object per input graph. + +# Notes +- The number of colors scales with `length(CG)`. +""" function build_graph_data(CG::Vector{CurveGraph{T}}; width=3.0, vert=true) where T <: Union{Float64,QQFieldElem} c = distinguishable_colors(length(CG)) return [build_graph_data(G; width=width, vert=vert, color=c[i]) diff --git a/src/types.jl b/src/types.jl index 56f1c08..47cbb17 100644 --- a/src/types.jl +++ b/src/types.jl @@ -78,6 +78,8 @@ Base.getindex(I::Ideal, idx::Union{Int, UnitRange}) = I.gens[idx] Base.lastindex(I::Ideal) = lastindex(I.gens) +# ---------- ROADMAPS ---------- + mutable struct RMnode base_pt::Vector{QQFieldElem} polar_eqs::Vector{QQMPolyRingElem} @@ -119,4 +121,31 @@ end Base.show(io::IO, RM::Roadmap) = print(io, all_base_pts(RM)) Base.getindex(RM::Roadmap, idx::Union{Int, UnitRange}) = all_eqs(RM)[idx] Base.lastindex(RM::Roadmap) = nb_nodes(RM) -Base.length(RM::Roadmap) = nb_nodes(RM) \ No newline at end of file +Base.length(RM::Roadmap) = nb_nodes(RM) + +# ---------- CURVE CONNECTIVITY ---------- + +struct CurveGraph{T} + vertices::Vector{Tuple{T, T}} + edges::Vector{Tuple{Int, Int}} + control_nodes::Dict{Int, Vector{Int}} +end + +# ----- PLOT ---- + +struct EdgeGroup + edges::Vector{Tuple{Vector{Float64}, Vector{Float64}}} + color::String + width::Float64 +end + +struct PointGroup + vertices::Tuple{Vector{Float64}, Vector{Float64}} + color::String + marker::Symbol +end + +struct GraphPlotData + edge_group::EdgeGroup + point_groups::Vector{PointGroup} +end \ No newline at end of file From a21d3253e512c43f2425ba8ffb2d4985c7f62529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Thu, 16 Apr 2026 18:32:54 +0200 Subject: [PATCH 167/180] more doc --- src/connectivity/connectcurves.jl | 6 ++--- src/connectivity/paramcrit.jl | 44 ++++++++++++++++++++----------- src/connectivity/tools.jl | 25 +++++++++++++++++- 3 files changed, 56 insertions(+), 19 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 171a432..6e39780 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -45,7 +45,7 @@ Returns a `CurveGraph{T}` object (where `T` is determined by the `outf` flag), c * **`generic`** (`Bool`, default `true`): If `false`, applies a random shear transformation to put the curve into generic position (preventing vertical alignments of critical points) and inverses it at the end. * **`precx`** (`Int`, default `150`): Base numerical precision used for the real root isolation of critical x-coordinates. * **`v`** (`Int`, default `0`): Verbosity level for tracking computational progress. -* **`int_coeff`** (`Bool`, default `true`): If `true`, coerces the polynomials to integer coefficients for optimized exact arithmetic. +* **`force_app`** (`Bool`, default `false`): If `true`, all nodes are considered apparent singularities and the detection step is skipped. This is useful when the original curve is known to have no nodes. * **`outf`** (`Bool`, default `true`): If `true`, outputs the vertex coordinates as machine `Float64`. If `false`, preserves exact rational coordinates (`QQFieldElem`). ### Examples @@ -90,7 +90,7 @@ compute_graph(f::P, g::P, C::Vector{P}; kwargs...) where {P <: MPolyRingElem} = # ========================================================================= function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; - generic=true, precx=150, v=0, detect_app=true, outf=true) where {P <: MPolyRingElem} + generic=true, precx=150, v=0, force_app=false, outf=true) where {P <: MPolyRingElem} @assert !iszero(f) "Input does not define a curve" @@ -120,7 +120,7 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; is_squarefree(f) "Curve not in generic position. Try with generic=false." v > 0 && println("Compute parametrization of critical pts...") - @iftime (v > 0) params = param_crit_split(f, g, v=v-1, detect_app=detect_app) + @iftime (v > 0) params = param_crit_split(f, g, v=v-1, force_app=force_app) for i in 1:length(C) params[-i] = [ [intC(C[i][1])], C[i][2], C[i][3] ] end diff --git a/src/connectivity/paramcrit.jl b/src/connectivity/paramcrit.jl index 4dbd643..22c077e 100644 --- a/src/connectivity/paramcrit.jl +++ b/src/connectivity/paramcrit.jl @@ -2,7 +2,7 @@ # SUBRESULTANTS # ========================================================================= -# Univariate resultant +# Univariate subresultants function subresultants(P::Union{PolyRingElem{T}, FqPolyRingElem}, Q::Union{PolyRingElem{T}, FqPolyRingElem}, is_Fq::Bool=false) where T <: RingElem degree(P) < degree(Q) && ((P, Q) = (Q, P)) @@ -59,7 +59,7 @@ function subresultants(P::Union{PolyRingElem{T}, FqPolyRingElem}, Q::Union{PolyR return reverse!(S) end -# Bivariate resultant +# Bivariate subresultants seen in (K[x])[y] function subresultants(P::MPolyRingElem, Q::MPolyRingElem, var_idx::Int; list=false) UP, UQ = to_univariate(P, var_idx), to_univariate(Q, var_idx) sr_uni = subresultants(UP, UQ) @@ -167,19 +167,30 @@ end # ========================================================================= -# delta : poly to factor w.r.t the factor of the polynomials in LP -function fact_gcd(delta::T, LP::Vector{T}) where T <: PolyRingElem +@doc Markdown.doc""" + fact_gcd(delta::T, LP::Vector{T}) where T <: Union{PolyRingElem, MPolyRingElem} + +Decomposes the polynomial `delta` by separating it into factors based on its greatest common divisors with the sequence of polynomials in `LP`. +The $i$-th entry corresponds to the exact factor of `delta` that divides $LP[1], \dots, LP[i-1]$, but is coprime to $LP[i]$. Factors of degree $0$ are discarded. +""" +function fact_gcd(delta::T, LP::Vector{T}) where {T <: PolyRingElem} Ldelta = Dict{Int, T}() - curr_phi = gcd(delta, LP[1]) - Ldelta[1] = divexact(delta, curr_phi) + curr_phi = delta - for i in 2:length(LP) + for (i, p) in pairs(LP) degree(curr_phi) == 0 && break - next_phi = gcd(curr_phi, LP[i]) - Ldelta[i] = divexact(curr_phi, next_phi) + + next_phi = gcd(curr_phi, p) + q = divexact(curr_phi, next_phi) + + if degree(q) > 0 + Ldelta[i] = q + end + curr_phi = next_phi end - return filter(kv -> degree(kv.second) > 0, Ldelta) + + return Ldelta end # wrapper for the above function @@ -189,18 +200,19 @@ function fact_gcd(delta::T, LP::Vector{T}) where (T <:MPolyRingElem) K, RS = coefficient_ring(R), symbols(R) A, = polynomial_ring(K, RS[1]) + # Convert to standard univariate ring d_uni = A(coefficients_of_univariate(delta)) LP_uni = [A(coefficients_of_univariate(p)) for p in LP] - out = fact_gcd(d_uni, LP_uni) - return Dict([ (i, change_ringvar(f, [first(RS)]) ) for (i,f) in out ]) + out = fact_gcd(d_uni, LP_uni) + return Dict(i => change_ringvar(f, [first(RS)]) for (i,f) in out) end # ========================================================================= """ - param_crit_split(f::MPolyRingElem, g::MPolyRingElem; v=0, detect_app=true) + param_crit_split(f::MPolyRingElem, g::MPolyRingElem; v=0, force_app=false) Computes the critical points (grouped by multiplicity) and apparent singularities of the space curve defined by: @@ -208,8 +220,10 @@ of the space curve defined by: This relies on subresultant computations and apparent singularity criterion from: A.Poteaux, N.Islam, R.PrĂ©bet - Algorithm for Connectivity Queries on Real Algebraic Curves - ISSAC'23 + +If force_app, it assumes that all nodes are apparent singularities. """ -function param_crit_split(f::MPolyRingElem, g::MPolyRingElem; v=0, detect_app=true) +function param_crit_split(f::MPolyRingElem, g::MPolyRingElem; v=0, force_app=false) v > 0 && println("Compute subresultant sequence") f_y = derivative(f, 2) @iftime v>0 sr = subresultants(f, f_y, 2, list=true) @@ -245,7 +259,7 @@ function param_crit_split(f::MPolyRingElem, g::MPolyRingElem; v=0, detect_app=tr # Nodes : multiplicity 2 in res if 2 in sqrmult - if detect_app + if !(force_app) v > 0 && println("Compute apparent singularities") f_x = derivative(f, 1) A = derivative(f_y, 2) * derivative(g, 1) - derivative(f_x, 2) * derivative(g, 2) diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index 0ab4b4b..b1bf7ff 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -1,3 +1,12 @@ +""" + order_permut2d(L) + +Return the indices that sort a 2D collection by its values. + +Given a nested array `L` (e.g. a matrix or vector of vectors), this function +flattens all entries, sorts them by value, and returns the corresponding +2D indices. +""" function order_permut2d(L) # Create a list of tuples with elements and their corresponding indices LL = [(L[i][j], (i, j)) for i in eachindex(L) for j in eachindex(L[i])] @@ -9,14 +18,28 @@ function order_permut2d(L) return sorted_ind end +""" + trimat_rand(A, n; up=true, range=-100:100) + +Generate a random triangular matrix over a given coefficient domain. +""" function trimat_rand(A, n; up=true, range=-100:100) if up return [ i==j ? one(A) : (ij ? A(rand(range)) : zero(A)) for i in 1:3, j in 1:3 ] + return [ i==j ? one(A) : (i>j ? A(rand(range)) : zero(A)) for i in 1:n, j in 1:n ] end end +""" + int_coeffs(F::Vector{P}) where P <: Union{QQMPolyRingElem, QQPolyRingElem} + int_coeffs(f::Union{QQMPolyRingElem, QQPolyRingElem}) + +Clear denominators of polynomial coefficients. + +This function rescales each polynomial so that all coefficients become integers +(by multiplying with the least common multiple of denominators). +""" function int_coeffs(F::Vector{P} where P <: Union{QQMPolyRingElem, QQPolyRingElem}) CD = [ iszero(f) ? f : lcm(map(denominator, collect(coefficients(f)))) for f in F ] return (F .* CD) From 21232a0f1bac13d7c46dfb3932dbcc975b91a3ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20P=2E?= Date: Thu, 16 Apr 2026 18:41:38 +0200 Subject: [PATCH 168/180] new function with the ideal --- src/connectivity/connectcurves.jl | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 6e39780..5fd1180 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -65,6 +65,11 @@ julia> graph = compute_graph(f, g); julia> number_of_connected_components(graph) 3 """ +function compute_graph(I::Ideal{P} where P <: QQMPolyRingElem; generic=true, kwargs...) + p = rational_curve_parametrization(I, use_lfs = !generic) + return compute_graph(p.elim, p.param[1], kwargs...) +end + # Base case: No 'C' (control points) provided compute_graph(f::P, g::P; kwargs...) where {P <: MPolyRingElem} = _compute_graph_core(f, g, Vector{Vector{P}}(); kwargs...) @@ -90,7 +95,7 @@ compute_graph(f::P, g::P, C::Vector{P}; kwargs...) where {P <: MPolyRingElem} = # ========================================================================= function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; - generic=true, precx=150, v=0, force_app=false, outf=true) where {P <: MPolyRingElem} + plane_generic=true, precx=150, v=0, force_app=false, outf=true) where {P <: MPolyRingElem} @assert !iszero(f) "Input does not define a curve" @@ -108,7 +113,7 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; # Pre-processing the input f, g = int_coeffs([f, g]) - changemat = generic ? [1 0; 0 1] : [ QQ(rand(-100:100)) for i=1:2, j=1:2 ] + changemat = plane_generic ? [1 0; 0 1] : [ QQ(rand(-100:100)) for i=1:2, j=1:2 ] f = evaluate(f, collect(changemat * [x; y])) precx = max(2, precx) @@ -242,7 +247,7 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; end # Post processing the data - if !generic + if !plane_generic for i in eachindex(Vert) vx, vy = Vert[i] Vert[i] = Tuple(changemat * [vx, vy]) From 23725c364b232e926a7bda69e0adc1c448924010 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 17 Apr 2026 01:11:06 +0200 Subject: [PATCH 169/180] bug fixes + arbtools more robust --- src/connectivity/arbtools.jl | 24 ++++++++++++++++-------- src/connectivity/paramcrit.jl | 2 +- test/algorithms/curve-connectivity.jl | 5 +++++ 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/connectivity/arbtools.jl b/src/connectivity/arbtools.jl index 3d2ad1a..eb98a10 100644 --- a/src/connectivity/arbtools.jl +++ b/src/connectivity/arbtools.jl @@ -5,9 +5,13 @@ Return a rational interval enclosing the Arb ball. """ function arb_to_rat(x::ArbFieldElem) r = radius(x) - lo = x - 2r - hi = x + 2r - return [simplest_rational_inside(lo), simplest_rational_inside(hi)] + for i in 2:5 + lo = x - i*r + hi = x + i*r + I = map(simplest_rational_inside, [lo, hi]) + contains(rat_to_arb(I, parent(x)), x) && return I + end + error("Problem in boxes computations with Arb. Try increasing precision.") end @@ -19,11 +23,15 @@ Convert rational interval (x1, x2) to Arb ball. function rat_to_arb(interval::Vector{QQFieldElem}, field::ArbField) x1, x2 = interval @assert x1 <= x2 "Invalid interval: x1 > x2" - - mid = field((x1 + x2) / 2) - rad = field((x2 - x1) / 2) - - return ball(mid, rad) + new_field = field + for i in 2:5 + mid = field((x1 + x2) / 2) + rad = field((x2 - x1) / 2) + I = ball(mid, rad) + all(contains(I, x) for x in interval) && return I + new_field = ArbField(i * field.prec) + end + error("Problem in boxes computations with Arb. Try increasing precision.") end diff --git a/src/connectivity/paramcrit.jl b/src/connectivity/paramcrit.jl index 22c077e..268c67a 100644 --- a/src/connectivity/paramcrit.jl +++ b/src/connectivity/paramcrit.jl @@ -158,7 +158,7 @@ function intersect_biv(P::Vector, A::MPolyRingElem) # Rational reconstruction failed, try next prime end - dA_prev = dA_final + dA_prev = dA_current compt += 1 end diff --git a/test/algorithms/curve-connectivity.jl b/test/algorithms/curve-connectivity.jl index cd4a9b7..8700ffc 100644 --- a/test/algorithms/curve-connectivity.jl +++ b/test/algorithms/curve-connectivity.jl @@ -22,3 +22,8 @@ or # Non-generic because two crit-point above (but rat_cur_param works) x^4 - x^3 + 2*x^2*y^2 - 7//4*x^2 - x*y^2 + x + y^4 - 7//4*y^2 + 3//4 + +# Parametrization of a circle with z=0 but with two new generic variables +# bug in arb_to_rat fixed +f = 6829*x^2 - 1482*x*y + 9565*y^2 - 64770304, +g = -1110*x^2 + 11526*x*y + 2076384 \ No newline at end of file From fc56fa4c0eb91e3c29a6db01b131b1582f1f6365 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 17 Apr 2026 03:25:04 +0200 Subject: [PATCH 170/180] Finally get all graph functions --- src/connectivity/connectcurves.jl | 155 ++++++++++++++++++------------ src/connectivity/tools.jl | 9 ++ 2 files changed, 101 insertions(+), 63 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 5fd1180..4eb2936 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -5,7 +5,7 @@ export compute_graph, connected_components, number_of_connected_components, grou # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, rat_to_arb, evaluate_arb, evaluate_arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, - intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit, MPolyBuild, change_ringvar + intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit, MPolyBuild, change_ringvar, curve_graph, curve_ratparam_graph include("tools.jl") include("datastruct.jl") @@ -16,86 +16,127 @@ include("isolateboxes.jl") include("graph.jl") include("plots.jl") + # ========================================================================= # MULTIPLE DISPATCH WRAPPERS # ========================================================================= @doc Markdown.doc""" - compute_graph(f::P, g::P; generic=true, precx=150, v=0, int_coeff=true, outf=true) where {P <: MPolyRingElem} - compute_graph(f::P, g::P, C::Vector{P}; kwargs...) - compute_graph(f::P, g::P, C::Vector{Vector{P}}; kwargs...) - compute_graph(f::P, g::P, C::Dict{Int, Vector{P}}; kwargs...) + curve_graph(I::Ideal; generic=true, outf=true, kwargs...) + curve_ratparam_graph(P::RationalCurveParametrization; kwargs...) -Computes a planar straight-line graph that is homeomorphic to a 3D space curve. + # Both functions accept optional control points C in various formats: + curve_graph(I, C::Vector{P}; kwargs...) + curve_graph(I, C::Vector{Vector{P}}; kwargs...) + curve_graph(I, C::Dict{Int, Vector{P}}; kwargs...) -The input space curve is defined by a 1D parameterization consisting of its planar projection `f(x,y) = 0` and its vertical lift `z = g(x,y) / df/dy(x,y)`. A key feature of this function is its ability to identify and resolve "apparent singularities" in the planar projection—points where two non-singular branches of the 3D curve cross in the 2D projection but do not intersect in 3D space. This is describe in the paper: +Computes a planar straight-line graph that is homeomorphic to a real algebraic (space) curve. - A.Poteaux, N.Islam, R.PrĂ©bet - Algorithm for Connectivity Queries on Real Algebraic Curves - ISSAC'23 +### Core Workflow & Pre-processing +1. **Parametrization (`curve_graph` only):** If given an `Ideal`, it first computes a `RationalCurveParametrization`. + If `generic=false`, it applies a random integer shear transformation to place the curve into generic position. +2. **Coefficient Extraction:** Pulls the planar projection `f(x,y) = 0` and the vertical lift `z = g(x,y) / df/dy(x,y)` from the parametrization. +3. **Graph Construction:** Computes bounding boxes for critical points, routes connections, + and identifies "apparent singularities" (2D crossings that do not intersect in 3D). ### Output Data Structure Returns a `CurveGraph{T}` object (where `T` is determined by the `outf` flag), containing: -* `Vert::Vector{Tuple{T, T}}`: A list of 2D coordinates representing the vertices of the graph (critical points, structural routing nodes, and injected control points). -* `Edg::Vector{Tuple{Int, Int}}`: A list of index pairs defining the undirected edges between vertices in `Vert`. -* `Vcon::Dict{Int, Vector{Int}}`: A mapping from the original 1-based index of a control point in the input array `C` to its resulting vertex index in the `Vert` array. +* `Vert::Vector{Tuple{T, T}}`: 2D coordinates of the graph vertices (critical points, routing nodes, control points). +* `Edg::Vector{Tuple{Int, Int}}`: Index pairs defining undirected edges between `Vert` indices. +* `Vcon::Dict{Int, Vector{Int}}`: A mapping from the original index of a control point keys its vertex index in `Vert`. ### Arguments -* **`f`** (`MPolyRingElem`): The bivariate polynomial defining the planar projection `f(x,y) = 0` -* **`g`** (`MPolyRingElem`): The auxiliary polynomial defining the z-coordinate via `z = g / f_y`. -* **`C`** (`Vector{P}`, Vector{Vector{MPolyRingElem}}`, or `Dict{Int, Vector{P}}`, optionnal): A single/list/dictionnary of user-defined plane points on the curve (control points). Each point is given as a parameterization `[p, a, b]` such that `p(x) = 0` and `y = a(x)/b(x)`. -* **`generic`** (`Bool`, default `true`): If `false`, applies a random shear transformation to put the curve into generic position (preventing vertical alignments of critical points) and inverses it at the end. -* **`precx`** (`Int`, default `150`): Base numerical precision used for the real root isolation of critical x-coordinates. -* **`v`** (`Int`, default `0`): Verbosity level for tracking computational progress. -* **`force_app`** (`Bool`, default `false`): If `true`, all nodes are considered apparent singularities and the detection step is skipped. This is useful when the original curve is known to have no nodes. -* **`outf`** (`Bool`, default `true`): If `true`, outputs the vertex coordinates as machine `Float64`. If `false`, preserves exact rational coordinates (`QQFieldElem`). +* **`I`** (`Ideal`): The algebraic ideal defining the curve. +* **`P`** (`RationalCurveParametrization`): A pre-computed rational parametrization. +* **`C`** (Optional): User-defined plane points on the curve (control points). Given either as Ideal or RationalParametrization. +* **`generic`** (`Bool`, default `true`): If `false`, applies a random shear transformation. +* **`precx`** (`Int`, default `150`): Base numerical precision for real root isolation. +* **`v`** (`Int`, default `0`): Verbosity level. +* **`force_app`** (`Bool`, default `false`): Skips 3D intersection checks, treating all 2D nodes as apparent singularities. +* **`outf`** (`Bool`, default `true`): Output coordinates as `Float64`. If `false`, outputs exact `QQFieldElem`. +""" +function curve_graph(I::Ideal{P}, args...; generic=true, outf=true, v=0, kwargs...) where {P <: QQMPolyRingElem} + R = parent(I) + n = nvars(R) + typeout = outf ? Float64 : QQFieldElem -### Examples -```jldoctest -julia> using AlgebraicSolving + # Base Case: 1D Ideal (Points) + if n == 1 + sols = real_solutions(I) + Vert = [(typeout(xi[1]), zero(typeout)) for xi in sols] + # If C is a Dict, instantiate keys. If it's a Vector or absent, return empty Dict + C_keys = length(args) > 0 && args[1] isa Dict ? keys(args[1]) : Int[] + Vcon = Dict{Int, Vector{Int}}(k => Int[] for k in C_keys) + return CurveGraph{typeout}(Vert, Tuple{Int, Int}[], Vcon) + end -julia> R, (x,y) = polynomial_ring(QQ, ["x","y"]) -(Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[x, y]) + # Pre-processing: Generic Position Shear + # We explicitly define linear forms if !generic to share them with C + v > 0 && println("Compute curve rational parametrization...") + lfs = nothing + if !generic + make_vec(i) = [j <= n ? ZZRingElem(rand(-100:100)) : (j == n+i ? one(ZZRingElem) : zero(ZZRingElem)) for j in 1:n+3] + lfs = make_vec.(1:3) + p_I = rational_curve_parametrization(I, cfs_lfs = lfs) + else + p_I = rational_curve_parametrization(I) + end + # 2. Process Control Ideals (C) if provided + if length(args) > 0 + C = args[1] + new_RS = symbols(parent(p_I.elim)) -julia> # Define a space curve projection and its z-lift - f = -49303382*x^4 + 9395599*x^3*y + 67366686*x^3 - 27407214*x^2*y^2 - 71298014*x^2*y - 24150320*x^2 - 12067817*x*y^3 + 6797370*x*y^2 + 20838420*x*y - 18118613*x + 2357706*y^4 - 13736522*y^3 - 37604516*y^2 - 13868221*y + 6980802; - g = 32091920*x^4 - 97772598*x^3*y - 245256584*x^3 + 99093410*x^2*y^2 + 162335273*x^2*y + 239310556*x^2 + 28995368*x*y^3 - 59544597*x*y^2 - 20499914*x*y + 98243402*x + 22738226*y^3 + 111105506*y^2 + 86287748*y - 62439535; + # Maps Ideal to the new ring and parameterize it with aligned linear forms + C_param = [ is_nothing(lfs) ? rational_parametrization(c) : param_use_lfs(c, lfs, new_RS) for c in C ] -julia> graph = compute_graph(f, g); + # Map C based on its input structure + if C_input isa AbstractDict + C_param = Dict(k => param_C(v) for (k, v) in C_input) + else + C_input isa AbstractVector || error("Control points C must be a Vector or Dict of Ideals.") + end -julia> number_of_connected_components(graph) -3 -""" -function compute_graph(I::Ideal{P} where P <: QQMPolyRingElem; generic=true, kwargs...) - p = rational_curve_parametrization(I, use_lfs = !generic) - return compute_graph(p.elim, p.param[1], kwargs...) + return curve_ratparam_graph(p_I, C_param; outf=outf, kwargs...) + end + + # Delegate to the parametrization function, blindly passing any `C` format down + return curve_ratparam_graph(p, args...; outf=outf, kwargs...) end -# Base case: No 'C' (control points) provided -compute_graph(f::P, g::P; kwargs...) where {P <: MPolyRingElem} = - _compute_graph_core(f, g, Vector{Vector{P}}(); kwargs...) +# ========================================================================= +# MULTIPLE DISPATCH WRAPPERS (INTERNAL) +# ========================================================================= + +# Case 1: No control points +curve_ratparam_graph(p::CurveRationalParametrization; kwargs...) = + _compute_graph_core(p.elim, length(p.param) > 0 ? p.param[end] : zero(parent(p.elim)), Vector{Vector{typeof(p.elim)}}(); kwargs...) + +# Case 2: C is a Vector of Parametrizations +curve_ratparam_graph(p::CurveRationalParametrization, C::Vector{RationalParametrization}; kwargs...) = + _compute_graph_core(p.elim, length(p.param) > 0 ? p.param[end] : zero(parent(p.elim)), + [ [c.elim, c.param[end], c.denom] for c in C]; kwargs...) -# Case 1: C is a Vector of Vectors -compute_graph(f::P, g::P, C::Vector{Vector{P}}; kwargs...) where {P <: MPolyRingElem} = - _compute_graph_core(f, g, C; kwargs...) +# Case 3: C is a Dictionary of Parametrizations (Remaps keys post-computation) +function curve_ratparam_graph(p::CurveRationalParametrization, C::Dict{Int, RationalParametrization}; kwargs...) + f = p.elim + g = length(p.param) > 0 ? p.param[end] : one(parent(f)) -# Case 2: C is a Dictionary -function compute_graph(f::P, g::P, C::Dict{Int, Vector{P}}; kwargs...) where {P <: MPolyRingElem} - graph = _compute_graph_core(f, g, collect(values(C)); kwargs...) - # Remap Vcon dictionary keys to match original dict keys + # Compute graph using the raw vector of parametrizations + pC = [ [c.elim, c.param[end], c.denom] for c in values(C)] + graph = _compute_graph_core(f, g, pC; kwargs...) + + # Remap Vcon dictionary keys to match the user's original dictionary mapped_vcon = Dict{Int, Vector{Int}}(k => graph.control_nodes[i] for (i, k) in enumerate(keys(C))) return CurveGraph(graph.vertices, graph.edges, mapped_vcon) end -# Case 3: C is a single Vector -compute_graph(f::P, g::P, C::Vector{P}; kwargs...) where {P <: MPolyRingElem} = - _compute_graph_core(f, g, [C]; kwargs...) - # ========================================================================= # CORE IMPLEMENTATION # ========================================================================= function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; - plane_generic=true, precx=150, v=0, force_app=false, outf=true) where {P <: MPolyRingElem} + precx=150, v=0, force_app=false, outf=true) where {P <: MPolyRingElem} @assert !iszero(f) "Input does not define a curve" @@ -113,11 +154,8 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; # Pre-processing the input f, g = int_coeffs([f, g]) - changemat = plane_generic ? [1 0; 0 1] : [ QQ(rand(-100:100)) for i=1:2, j=1:2 ] - - f = evaluate(f, collect(changemat * [x; y])) precx = max(2, precx) - v > 1 && println(f) + v > 1 && println("f = $f"); println("g = $g") # Zero-dim param conditions d = total_degree(f) @@ -135,7 +173,7 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; v > 0 && println("Compute intersections with critical boxes..") @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(f, params, LBcrit, Lprecx, v=v-1) - + return LBcrit, LPCside # Critical values and their order xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in keys(LBcrit)) xcritpermut = order_permut2d(xcrit) @@ -208,7 +246,6 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; end # 3. Below the critical point - # TODO: many vertices and edges could be removed here for k in 1:ymincrit-1 yval = sum(PCside.left.points[k] + PCside.right.points[k]) / 4 push!(Vert, (xcmid, yval)) @@ -246,14 +283,6 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; end end - # Post processing the data - if !plane_generic - for i in eachindex(Vert) - vx, vy = Vert[i] - Vert[i] = Tuple(changemat * [vx, vy]) - end - end - if outf Vert = [ (Float64(x), Float64(y)) for (x,y) in Vert ] end diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index b1bf7ff..1ebae1c 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -55,4 +55,13 @@ macro iftime(v, ex) $(esc(ex)) end end +end + + +function param_use_lfs(I::Ideal, cfs_lfs::Vector{Vector{T}} where T<: RingElem, new_RS::Symbol) + new_R = polynomial_ring(base_ring(I), new_RS) + new_gens = [change_ringvar(f, new_RS) for f in gens(I)] + I_new = Ideal(vcat(new_gens, [transpose(cfs_lf) * gens(new_R) for cfs_lf in cfs_lfs])) + + return rational_parametrization(I_new) end \ No newline at end of file From 3742fc352604c95f6cec81b1d1e18e328738bdba Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 17 Apr 2026 13:31:50 +0200 Subject: [PATCH 171/180] introduce arrangement curves (little bug) + several bug fixes --- src/connectivity/connectcurves.jl | 98 +++++++++++++++++++++---------- src/connectivity/paramcrit.jl | 25 ++++---- 2 files changed, 80 insertions(+), 43 deletions(-) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 4eb2936..acf3c89 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -5,7 +5,7 @@ export compute_graph, connected_components, number_of_connected_components, grou # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, rat_to_arb, evaluate_arb, evaluate_arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, - intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit, MPolyBuild, change_ringvar, curve_graph, curve_ratparam_graph + intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit, MPolyBuild, change_ringvar, curve_graph, curve_ratparam_graph, curve_arrangement_graph include("tools.jl") include("datastruct.jl") @@ -16,14 +16,57 @@ include("isolateboxes.jl") include("graph.jl") include("plots.jl") +@doc Markdown.doc""" + curve_arrangement_graph(curves::Vector{Ideal}; generic=true, outf=true, kwargs...) + curve_arrangement_graph(curves::Vector{Ideal}, C::Vector; kwargs...) -# ========================================================================= -# MULTIPLE DISPATCH WRAPPERS -# ========================================================================= +Computes the combined planar graph of an arrangement of multiple space curves. +Automatically computes the mutual intersections between all curves and guarantees +they are projected using a shared, unified linear form. +""" +function curve_arrangement_graph(curves::Vector{Ideal{P}}; generic=true, outf=true, kwargs...) where {P <: QQMPolyRingElem} + N = length(curves) + @assert N > 0 "Must provide at least one curve." + + R = parent(curves[1]) + n = nvars(R) + + # 1. Establish the Shared Projection Context + # We MUST generate the linear forms here and force all curves/intersections to use them. + lfs = nothing + if !generic + make_vec(i) = [j <= n ? ZZRingElem(rand(-100:100)) : (j == n+i ? one(ZZRingElem) : zero(ZZRingElem)) for j in 1:n+3] + lfs = make_vec.(1:3) + end + + # 3. Compute Intersections and Build Individual Graphs + graphs = Vector{CurveGraph}(undef, N) + p_inter = Dict{Set{Int}, RationalParametrization}() + for i in 1:N + p_I = lfs === nothing ? rational_curve_parametrization(curves[i]) : + rational_curve_parametrization(curves[i], cfs_lfs=lfs) + new_RS = symbols(parent(p_I.elim)) + + # Control pts are intersections with all other curves; use Dict to avoid re-computation + C_i = Dict{Int, RationalParametrization}( j => p_inter[Set((i,j))] for j in 1:i-1) + for j in i+1:N + I_ij = vcat(curves[i].gens, curves[j].gens) |> Ideal + C_i[j] = isnothing(lfs) ? rational_parametrization(I_ij) : param_use_lfs(I_ij, lfs, new_RS) + p_inter[Set((i,j))] = + RationalParametrization(C_i[j].vars, C_i[j].cfs_lf, C_i[j].elim, C_i[j].denom, C_i[j].param) + end + + graphs[i] = curve_graph(p_I, C_i; outf=outf, kwargs...) + graphs[i] = _compute_graph_core(p_I.elim, length(p_I.param) > 0 ? p_I.param[end] : zero(parent(p_I.elim)), C_i; kwargs...) + end + + # 4. Merge the graph according to their intersections + return merge_graphs(graphs...) +end @doc Markdown.doc""" curve_graph(I::Ideal; generic=true, outf=true, kwargs...) - curve_ratparam_graph(P::RationalCurveParametrization; kwargs...) + curve_graph(P::RationalCurveParametrization; kwargs...) # Both functions accept optional control points C in various formats: curve_graph(I, C::Vector{P}; kwargs...) @@ -33,7 +76,7 @@ include("plots.jl") Computes a planar straight-line graph that is homeomorphic to a real algebraic (space) curve. ### Core Workflow & Pre-processing -1. **Parametrization (`curve_graph` only):** If given an `Ideal`, it first computes a `RationalCurveParametrization`. +1. **Parametrization:** If given an `Ideal`, it first computes a `RationalCurveParametrization`. If `generic=false`, it applies a random integer shear transformation to place the curve into generic position. 2. **Coefficient Extraction:** Pulls the planar projection `f(x,y) = 0` and the vertical lift `z = g(x,y) / df/dy(x,y)` from the parametrization. 3. **Graph Construction:** Computes bounding boxes for critical points, routes connections, @@ -97,45 +140,38 @@ function curve_graph(I::Ideal{P}, args...; generic=true, outf=true, v=0, kwargs. C_input isa AbstractVector || error("Control points C must be a Vector or Dict of Ideals.") end - return curve_ratparam_graph(p_I, C_param; outf=outf, kwargs...) + return curve_graph(p_I, C_param; outf=outf, v=v, kwargs...) end # Delegate to the parametrization function, blindly passing any `C` format down - return curve_ratparam_graph(p, args...; outf=outf, kwargs...) + return curve_graph(p_I, args...; outf=outf, v=v, kwargs...) end # ========================================================================= # MULTIPLE DISPATCH WRAPPERS (INTERNAL) # ========================================================================= + + # Case 1: No control points -curve_ratparam_graph(p::CurveRationalParametrization; kwargs...) = - _compute_graph_core(p.elim, length(p.param) > 0 ? p.param[end] : zero(parent(p.elim)), Vector{Vector{typeof(p.elim)}}(); kwargs...) +curve_graph(p::RationalCurveParametrization; generic=true, kwargs...) = + _compute_graph_core(p.elim, length(p.param) > 0 ? p.param[end] : zero(parent(p.elim)), Dict{Int, Vector{typeof(p.elim)}}(); kwargs...) # Case 2: C is a Vector of Parametrizations -curve_ratparam_graph(p::CurveRationalParametrization, C::Vector{RationalParametrization}; kwargs...) = +curve_graph(p::RationalCurveParametrization, C::Vector{RationalParametrization}; generic=true, kwargs...) = _compute_graph_core(p.elim, length(p.param) > 0 ? p.param[end] : zero(parent(p.elim)), - [ [c.elim, c.param[end], c.denom] for c in C]; kwargs...) - -# Case 3: C is a Dictionary of Parametrizations (Remaps keys post-computation) -function curve_ratparam_graph(p::CurveRationalParametrization, C::Dict{Int, RationalParametrization}; kwargs...) - f = p.elim - g = length(p.param) > 0 ? p.param[end] : one(parent(f)) + Dict( i => [c.elim, c.param[end], c.denom] for (i,c) in enumerate(C)); kwargs...) - # Compute graph using the raw vector of parametrizations - pC = [ [c.elim, c.param[end], c.denom] for c in values(C)] - graph = _compute_graph_core(f, g, pC; kwargs...) - - # Remap Vcon dictionary keys to match the user's original dictionary - mapped_vcon = Dict{Int, Vector{Int}}(k => graph.control_nodes[i] for (i, k) in enumerate(keys(C))) - return CurveGraph(graph.vertices, graph.edges, mapped_vcon) -end +# Case 3: C is a Dictionary of Parametrizations +curve_graph(p::RationalCurveParametrization, C::Dict{Int, RationalParametrization}; generic=true, kwargs...) = + _compute_graph_core(p.elim, length(p.param) > 0 ? p.param[end] : zero(parent(p.elim)), + Dict( i => [c.elim, c.param[end], c.denom] for (i,c) in C); kwargs...) # ========================================================================= # CORE IMPLEMENTATION # ========================================================================= -function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; +function _compute_graph_core(f::P, g::P, C::Dict{Int, Vector{P}}; precx=150, v=0, force_app=false, outf=true) where {P <: MPolyRingElem} @assert !iszero(f) "Input does not define a curve" @@ -155,7 +191,7 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; # Pre-processing the input f, g = int_coeffs([f, g]) precx = max(2, precx) - v > 1 && println("f = $f"); println("g = $g") + v > 2 && println("f = $f \n g = $g") # Zero-dim param conditions d = total_degree(f) @@ -164,8 +200,8 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; v > 0 && println("Compute parametrization of critical pts...") @iftime (v > 0) params = param_crit_split(f, g, v=v-1, force_app=force_app) - for i in 1:length(C) - params[-i] = [ [intC(C[i][1])], C[i][2], C[i][3] ] + for (i, k) in enumerate(keys(C)) + params[-i] = [ [intC(C[k][1])], C[k][2], C[k][3] ] end v > 0 && println("Computing insulating critical boxes") @@ -173,7 +209,7 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; v > 0 && println("Compute intersections with critical boxes..") @iftime (v > 0) LPCside, LnPCside = intersect_vertical_boxes(f, params, LBcrit, Lprecx, v=v-1) - return LBcrit, LPCside + # Critical values and their order xcrit = Dict(i => [LBcrit[i][j][1] for j in eachindex(LBcrit[i])] for i in keys(LBcrit)) xcritpermut = order_permut2d(xcrit) @@ -269,7 +305,7 @@ function _compute_graph_core(f::P, g::P, C::Vector{Vector{P}}; for k in nI_right; push!(Edg, (length(Vert), Corr[i][j].right[k])); end if i < 0 # Control point - push!(Vcon[-i], length(Vert)) + push!(Vcon[keys(C)[-i]], length(Vert)) end end diff --git a/src/connectivity/paramcrit.jl b/src/connectivity/paramcrit.jl index 268c67a..043fda3 100644 --- a/src/connectivity/paramcrit.jl +++ b/src/connectivity/paramcrit.jl @@ -118,7 +118,9 @@ Uses a modular CRT loop. function intersect_biv(P::Vector, A::MPolyRingElem) iszero(A) && return P[1] - dA_prev, dA_final = Int[], Int[] + RSA = symbols(parent(A)) + dA_Q_prev, dA_Q_final = QQFieldElem[], QQFieldElem[] + dA_Z_curr = ZZRingElem[] pprod, p = ZZ(1), ZZ(1) << 60 compt = 0 @@ -127,7 +129,7 @@ function intersect_biv(P::Vector, A::MPolyRingElem) Fp = GF(p) # Prime check lcA, lcP = ZZ(leading_coefficient(A)), ZZ(leading_coefficient(P[1])) - divides(p, gcd(lcA, lcP))[1] && continue + iszero(rem(gcd(lcA, lcP), p)) && continue # Map polynomials natively to Fp Pp = [map_coefficients(Fp, poly) for poly in P] @@ -137,31 +139,30 @@ function intersect_biv(P::Vector, A::MPolyRingElem) dAp = gcd(Pp[1], Apev) # Lift coefficients back to integers for CRT - dA_current = [lift(ZZ, c) for c in coefficients(dAp)] + dA_Z_next = [lift(ZZ, c) for c in coefficients_of_univariate(dAp)] if compt > 0 - dA_current = [crt([d1, d2], [pprod, p]) for (d1, d2) in zip(dA_prev, dA_current)] + dA_Z_next = [crt([d1, d2], [pprod, p]) for (d1, d2) in zip(dA_Z_curr, dA_Z_next)] end # Trivial GCD : reduced gcd has larger degree # Then, A(x,y) does not vanish on the points defined by q(x)=0 - all(iszero(c) for c in dA_current[2:end]) && return one(parent(A)) + all(iszero(c) for c in dA_Z_next[2:end]) && return one(parent(A)) pprod *= p try - dA_final = [reconstruct(c, pprod) for c in dA_current] - if (compt > 0 && dA_final == dA_prev) - fact = MPolyBuild(dA_final, RSA, 1) - divides(fact, P[1])[1] && return fact + dA_Q_final = [reconstruct(c, pprod) for c in dA_Z_next] + if (compt > 0 && dA_Q_final == dA_Q_prev) + fact = MPolyBuild(dA_Q_final, RSA, 1) + divides(P[1], fact)[1] && return fact end catch - # Rational reconstruction failed, try next prime end - dA_prev = dA_current + dA_Z_curr = dA_Z_next + dA_Q_prev = dA_Q_final compt += 1 end - error("Failed multi-modular computation of apparent sing: $compt primes used") end From 840b3a289e4cb6e0fb3d244763115e5dd5200f2a Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 17 Apr 2026 17:51:18 +0200 Subject: [PATCH 172/180] several bug fixes --- src/connectivity/arbtools.jl | 16 ++++++----- src/connectivity/connectcurves.jl | 46 ++++++++++++++++++++----------- src/connectivity/tools.jl | 12 +++++--- 3 files changed, 47 insertions(+), 27 deletions(-) diff --git a/src/connectivity/arbtools.jl b/src/connectivity/arbtools.jl index eb98a10..d31d312 100644 --- a/src/connectivity/arbtools.jl +++ b/src/connectivity/arbtools.jl @@ -4,14 +4,16 @@ Return a rational interval enclosing the Arb ball. """ function arb_to_rat(x::ArbFieldElem) - r = radius(x) - for i in 2:5 - lo = x - i*r - hi = x + i*r + m, r = midpoint(x), 2*radius(x) + for _ in 2:10 + lo = m - r + hi = m + r + I = map(simplest_rational_inside, [lo, hi]) - contains(rat_to_arb(I, parent(x)), x) && return I + I[1] <= x <= I[2] && return I + r *= 10 end - error("Problem in boxes computations with Arb. Try increasing precision.") + error("Problem in boxes computations with Arb (arb_to_rat). Try increasing precision.") end @@ -31,7 +33,7 @@ function rat_to_arb(interval::Vector{QQFieldElem}, field::ArbField) all(contains(I, x) for x in interval) && return I new_field = ArbField(i * field.prec) end - error("Problem in boxes computations with Arb. Try increasing precision.") + error("Problem in boxes computations with Arb (rat_to_arb). Try increasing precision.") end diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index acf3c89..f5fab7e 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -5,7 +5,8 @@ export compute_graph, connected_components, number_of_connected_components, grou # DEBUG export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, rat_to_arb, evaluate_arb, evaluate_arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, - intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit, MPolyBuild, change_ringvar, curve_graph, curve_ratparam_graph, curve_arrangement_graph + intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit, MPolyBuild, change_ringvar, curve_graph, curve_ratparam_graph, + curve_arrangement_graph, arb_to_rat include("tools.jl") include("datastruct.jl") @@ -24,12 +25,14 @@ Computes the combined planar graph of an arrangement of multiple space curves. Automatically computes the mutual intersections between all curves and guarantees they are projected using a shared, unified linear form. """ -function curve_arrangement_graph(curves::Vector{Ideal{P}}; generic=true, outf=true, kwargs...) where {P <: QQMPolyRingElem} +function curve_arrangement_graph(curves::Vector{Ideal{P}}; generic=true, outf=true, v=0, kwargs...) where {P <: QQMPolyRingElem} N = length(curves) @assert N > 0 "Must provide at least one curve." R = parent(curves[1]) n = nvars(R) + typeout = outf ? Float64 : QQFieldElem + # 1. Establish the Shared Projection Context # We MUST generate the linear forms here and force all curves/intersections to use them. @@ -37,12 +40,14 @@ function curve_arrangement_graph(curves::Vector{Ideal{P}}; generic=true, outf=tr if !generic make_vec(i) = [j <= n ? ZZRingElem(rand(-100:100)) : (j == n+i ? one(ZZRingElem) : zero(ZZRingElem)) for j in 1:n+3] lfs = make_vec.(1:3) + u_lfs = lfs[2][1:end-3] # for zero-dim param of intersect pts end # 3. Compute Intersections and Build Individual Graphs - graphs = Vector{CurveGraph}(undef, N) + graphs = Vector{CurveGraph{typeout}}(undef, N) p_inter = Dict{Set{Int}, RationalParametrization}() for i in 1:N + v > 0 && println("Compute graph of curve number $i/$N...A,") p_I = lfs === nothing ? rational_curve_parametrization(curves[i]) : rational_curve_parametrization(curves[i], cfs_lfs=lfs) new_RS = symbols(parent(p_I.elim)) @@ -51,17 +56,17 @@ function curve_arrangement_graph(curves::Vector{Ideal{P}}; generic=true, outf=tr C_i = Dict{Int, RationalParametrization}( j => p_inter[Set((i,j))] for j in 1:i-1) for j in i+1:N I_ij = vcat(curves[i].gens, curves[j].gens) |> Ideal - C_i[j] = isnothing(lfs) ? rational_parametrization(I_ij) : param_use_lfs(I_ij, lfs, new_RS) + C_i[j] = isnothing(lfs) ? rational_parametrization(I_ij) : param_use_lfs(I_ij, u_lfs, new_RS[end-1]) p_inter[Set((i,j))] = RationalParametrization(C_i[j].vars, C_i[j].cfs_lf, C_i[j].elim, C_i[j].denom, C_i[j].param) end - - graphs[i] = curve_graph(p_I, C_i; outf=outf, kwargs...) - graphs[i] = _compute_graph_core(p_I.elim, length(p_I.param) > 0 ? p_I.param[end] : zero(parent(p_I.elim)), C_i; kwargs...) + @show C_i + @show graphs + graphs[i] = curve_graph(p_I, C_i; outf=outf, v=v-1, kwargs...) end # 4. Merge the graph according to their intersections - return merge_graphs(graphs...) + return merge_graphs(graphs) end @doc Markdown.doc""" @@ -120,6 +125,7 @@ function curve_graph(I::Ideal{P}, args...; generic=true, outf=true, v=0, kwargs. if !generic make_vec(i) = [j <= n ? ZZRingElem(rand(-100:100)) : (j == n+i ? one(ZZRingElem) : zero(ZZRingElem)) for j in 1:n+3] lfs = make_vec.(1:3) + u_lfs = lfs[2][1:end-3] # for zero-dim param of control pts p_I = rational_curve_parametrization(I, cfs_lfs = lfs) else p_I = rational_curve_parametrization(I) @@ -131,7 +137,7 @@ function curve_graph(I::Ideal{P}, args...; generic=true, outf=true, v=0, kwargs. new_RS = symbols(parent(p_I.elim)) # Maps Ideal to the new ring and parameterize it with aligned linear forms - C_param = [ is_nothing(lfs) ? rational_parametrization(c) : param_use_lfs(c, lfs, new_RS) for c in C ] + C_param = [ is_nothing(lfs) ? rational_parametrization(c) : param_use_lfs(c, u_lfs, new_RS[end-1]) for c in C ] # Map C based on its input structure if C_input isa AbstractDict @@ -151,21 +157,28 @@ end # MULTIPLE DISPATCH WRAPPERS (INTERNAL) # ========================================================================= +# Small helper +function prepare_param(P,Q) + R = parent(Q) + param = is_constant(P.elim) ? [P.elim,P.elim,P.elim] : [P.elim, P.param[end], P.denom] + return [ evaluate(p, gens(R)[1]) for p in param ] +end # Case 1: No control points curve_graph(p::RationalCurveParametrization; generic=true, kwargs...) = - _compute_graph_core(p.elim, length(p.param) > 0 ? p.param[end] : zero(parent(p.elim)), Dict{Int, Vector{typeof(p.elim)}}(); kwargs...) + _compute_graph_core(p.elim, length(p.param) > 0 ? p.param[end] : zero(parent(p.elim)), + Dict{Int, Vector{typeof(p.elim)}}(); kwargs...) # Case 2: C is a Vector of Parametrizations curve_graph(p::RationalCurveParametrization, C::Vector{RationalParametrization}; generic=true, kwargs...) = _compute_graph_core(p.elim, length(p.param) > 0 ? p.param[end] : zero(parent(p.elim)), - Dict( i => [c.elim, c.param[end], c.denom] for (i,c) in enumerate(C)); kwargs...) + Dict( i => prepare_param(c, p.elim) for (i,c) in enumerate(C)); kwargs...) # Case 3: C is a Dictionary of Parametrizations curve_graph(p::RationalCurveParametrization, C::Dict{Int, RationalParametrization}; generic=true, kwargs...) = _compute_graph_core(p.elim, length(p.param) > 0 ? p.param[end] : zero(parent(p.elim)), - Dict( i => [c.elim, c.param[end], c.denom] for (i,c) in C); kwargs...) + Dict( i => prepare_param(c, p.elim) for (i,c) in C); kwargs...) # ========================================================================= # CORE IMPLEMENTATION @@ -191,7 +204,7 @@ function _compute_graph_core(f::P, g::P, C::Dict{Int, Vector{P}}; # Pre-processing the input f, g = int_coeffs([f, g]) precx = max(2, precx) - v > 2 && println("f = $f \n g = $g") + v > 2 && println("f = $f \n g = $g\n $C") # Zero-dim param conditions d = total_degree(f) @@ -200,8 +213,9 @@ function _compute_graph_core(f::P, g::P, C::Dict{Int, Vector{P}}; v > 0 && println("Compute parametrization of critical pts...") @iftime (v > 0) params = param_crit_split(f, g, v=v-1, force_app=force_app) - for (i, k) in enumerate(keys(C)) - params[-i] = [ [intC(C[k][1])], C[k][2], C[k][3] ] + keys_C = collect(keys(C)) + for (i, k) in enumerate(keys_C) + params[-i] = [ [int_coeffs(C[k][1])], int_coeffs(C[k][2]), int_coeffs(C[k][3]) ] end v > 0 && println("Computing insulating critical boxes") @@ -305,7 +319,7 @@ function _compute_graph_core(f::P, g::P, C::Dict{Int, Vector{P}}; for k in nI_right; push!(Edg, (length(Vert), Corr[i][j].right[k])); end if i < 0 # Control point - push!(Vcon[keys(C)[-i]], length(Vert)) + push!(Vcon[keys_C[-i]], length(Vert)) end end diff --git a/src/connectivity/tools.jl b/src/connectivity/tools.jl index 1ebae1c..6ceb7ae 100644 --- a/src/connectivity/tools.jl +++ b/src/connectivity/tools.jl @@ -57,11 +57,15 @@ macro iftime(v, ex) end end +# We compute a zero-dim param of I w.r.t. a new generic variable v +# given by Sv (Symbol) and defined by the linear form in cfs_lf +function param_use_lfs(I::Ideal, cfs_lf::Vector{T} where T<: RingElem, Sv::Symbol) + R = parent(I) + new_RS = vcat(symbols(R), Sv) + _, new_V = polynomial_ring(base_ring(R), new_RS) -function param_use_lfs(I::Ideal, cfs_lfs::Vector{Vector{T}} where T<: RingElem, new_RS::Symbol) - new_R = polynomial_ring(base_ring(I), new_RS) - new_gens = [change_ringvar(f, new_RS) for f in gens(I)] - I_new = Ideal(vcat(new_gens, [transpose(cfs_lf) * gens(new_R) for cfs_lf in cfs_lfs])) + new_gens = [change_ringvar(f, new_RS) for f in I.gens] + I_new = Ideal(vcat(new_gens, [new_V[end] + transpose(cfs_lf) * new_V[1:end-1]])) return rational_parametrization(I_new) end \ No newline at end of file From beb2897215f59fb1541f07bc52d3729e832a4d87 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 17 Apr 2026 18:46:57 +0200 Subject: [PATCH 173/180] docs+ start tests --- docs/src/connectivity.md | 90 +++++++++++++++++++++++++++ src/connectivity/plots.jl | 1 - test/algorithms/curve-connectivity.jl | 39 +++--------- 3 files changed, 100 insertions(+), 30 deletions(-) diff --git a/docs/src/connectivity.md b/docs/src/connectivity.md index a932210..ea4f765 100644 --- a/docs/src/connectivity.md +++ b/docs/src/connectivity.md @@ -45,4 +45,94 @@ In addition, AlgebraicSolving can compute equations definition critical loci of dimproj = length(J)-1, only_mins = false ) where (P <: MPolyRingElem) +``` + +# Algorithms for connectivity queries on real algebraic curve + +## Introduction + +AlgebraicSolving allows to compute a graph whose associated (3D) piecewise linear curve is semi-algebraically homeomorphic to a real algebraic curve given as input. +This input can be: + * an `Ideal` given by generators over the rationals, whose real trace is the curve; + * a one-dimensionnal parametrization given as a `RationalCurveParametrization`. We refer to the `Types` page for such a structure. + +It is also possible to compute the arrangement of several curves by simply providing the corresponding vector of Ideals. + +In both cases, user can, in addition, provide control points that will be correctly identified in the final graph, from a topological point of view. + +The underlying engines are + * internal subresultants computations for paramtrization of critical points; + * `msolve` for univariate real root isolation. + +## Computing curve graphs + +```@docs + curve_graph( + I::Ideal{P}, args...; + generic=true, + outf=true, + v=0, + kwargs... + ) where {P <: QQMPolyRingElem} +``` + +```@docs + curve_arrangement_graph( + curves::Vector{Ideal{P}}; + generic=true, + outf=true, + v=0, + kwargs... + ) where (P <: MPolyRingElem) +``` + +## Computing with curve graphs + +Once such a graph is computed, it is encoded in a CurveGraph object, whose description can be found in the Types section of this documentation. +These are nothing but sets of verteices and nodes. +One can perform different operations on such strutures. + +```@docs + connected_components( + G::CurveGraph{T} + ) where T +``` + +```@docs + group_by_components( + G::CurveGraph{T} + ) +``` + +```@docs + number_of_connected_components( + G::CurveGraph{T} + ) +``` + +```@docs + merge_graphs( + graphs::Vector{CurveGraph{T}} + ) where T +``` + +## Displaying curve graph + +As e.g. Plots.jl is not part of AlgebraicSolving.jl, it cannot provide direct functions for plotting curve graphs. However, functions for exporting curve graphs in a format adapted to most ploting libraries, encoded in a `GraphPlotData` object. We refer to the Types section for more information on this structuree. + +```@docs + build_graph_data( + G::CurveGraph{T}; + width=3.0, + vert=true, + color="#FF0000" + ) where T <: Union{Float64,QQFieldElem} +``` + +```@docs + build_graph_data( + CG::Vector{CurveGraph{T}}; + width=3.0, + vert=true + ) where T <: Union{Float64,QQFieldElem} ``` \ No newline at end of file diff --git a/src/connectivity/plots.jl b/src/connectivity/plots.jl index 6f37d18..cec0ce7 100644 --- a/src/connectivity/plots.jl +++ b/src/connectivity/plots.jl @@ -75,7 +75,6 @@ of `GraphPlotData`) # Notes - All coordinates are converted to `Float64` for compatibility with plotting backends. """ - function build_graph_data(G::CurveGraph{T}; width=3.0, vert=true, color="#FF0000") where T <: Union{Float64,QQFieldElem} V, Vcon, E = G.vertices, G.control_nodes, G.edges diff --git a/test/algorithms/curve-connectivity.jl b/test/algorithms/curve-connectivity.jl index 8700ffc..ea1fcbe 100644 --- a/test/algorithms/curve-connectivity.jl +++ b/test/algorithms/curve-connectivity.jl @@ -1,29 +1,10 @@ - -# param2 -f = -49303382*x^4 + 9395599*x^3*y + 67366686*x^3 - 27407214*x^2*y^2 - 71298014*x^2*y - 24150320*x^2 - 12067817*x*y^3 + 6797370*x*y^2 + 20838420*x*y - 18118613*x + 2357706*y^4 - 13736522*y^3 - 37604516*y^2 - 13868221*y + 6980802 -g = 32091920*x^4 - 97772598*x^3*y - 245256584*x^3 + 99093410*x^2*y^2 + 162335273*x^2*y + 239310556*x^2 + 28995368*x*y^3 - 59544597*x*y^2 - 20499914*x*y + 98243402*x + 22738226*y^3 + 111105506*y^2 + 86287748*y - 62439535 - -# Not generic -f = y^2-x^2*(x+1) - -# Crunode (after generic change of variable) --2744*x^3 - 34692*x^2*y + 8085*x^2 - 146202*x*y^2 + 896*x*y - 205379*y^3 - 3285*y^2 - -# Acnode -157464*x^3 + 297432*x^2*y + 7012*x^2 + 187272*x*y^2 + 1496*x*y + 39304*y^3 + 1445*y^2 - -# Ordinary cusp -79507*x^3 + 543606*x^2*y + 9604*x^2 + 1238916*x*y^2 - 3528*x*y + 941192*y^3 + 324*y^2 - -# Rhamphoid cusp --3077056399*x^5 - 16359034020*x^4*y - 28398241*x^4 - 34788831840*x^3*y^2 + 9336408*x^3*y - 36990656640*x^2*y^3 - 1151064*x^2*y^2 + 5329*x^2 - 19665918720*x*y^4 + 63072*x*y^3 - 876*x*y - 4182119424*y^5 - 1296*y^4 + 36*y^2 -or --243*x^5 - 25515*x^4*y - 1071630*x^3*y^2 - 22504230*x^2*y^3 + 8464*x^2 - 236294415*x*y^4 + 18216*x*y - 992436543*y^5 + 9801*y^2 - -# Non-generic because two crit-point above (but rat_cur_param works) -x^4 - x^3 + 2*x^2*y^2 - 7//4*x^2 - x*y^2 + x + y^4 - 7//4*y^2 + 3//4 - -# Parametrization of a circle with z=0 but with two new generic variables -# bug in arb_to_rat fixed -f = 6829*x^2 - 1482*x*y + 9565*y^2 - 64770304, -g = -1110*x^2 + 11526*x*y + 2076384 \ No newline at end of file +@testset "Algorithms -> Curve Graph" begin + R, (x,y) = polynomial_ring(QQ, [:x,:y]) + + # param2 (generic) + f = -49303382*x^4 + 9395599*x^3*y + 67366686*x^3 - 27407214*x^2*y^2 - 71298014*x^2*y - 24150320*x^2 - 12067817*x*y^3 + 6797370*x*y^2 + 20838420*x*y - 18118613*x + 2357706*y^4 - 13736522*y^3 - 37604516*y^2 - 13868221*y + 6980802 + g = 32091920*x^4 - 97772598*x^3*y - 245256584*x^3 + 99093410*x^2*y^2 + 162335273*x^2*y + 239310556*x^2 + 28995368*x*y^3 - 59544597*x*y^2 - 20499914*x*y + 98243402*x + 22738226*y^3 + 111105506*y^2 + 86287748*y - 62439535 + P = AlgebraicSolving.RationalCurveParametrization([:z,:x,:y], Vector{Vector{ZZRingElem}}(), f, derivative(f, 2), [g]) + G = curve_graph(P) + @test number_of_connected_components(G) == 3 +end \ No newline at end of file From f1e13892b1932b1bf8e9e6cb8c1a5b36db84d140 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Fri, 17 Apr 2026 19:03:40 +0200 Subject: [PATCH 174/180] clean and add inclusion --- src/AlgebraicSolving.jl | 5 +++++ src/connectivity/connectcurves.jl | 11 ++--------- src/exports.jl | 4 +++- test/runtests.jl | 3 ++- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/AlgebraicSolving.jl b/src/AlgebraicSolving.jl index f48e3d3..2c7802f 100644 --- a/src/AlgebraicSolving.jl +++ b/src/AlgebraicSolving.jl @@ -22,8 +22,13 @@ include("siggb/siggb.jl") include("progress/main.jl") #= interp =# include("interp/main.jl") +#= connectivity =# +include("connectivity/connectcurves.jl") +include("connectivity/graph.jl") +include("connectivity/plots.jl") #= examples =# include("examples/katsura.jl") include("examples/cyclic.jl") + end # module AlgebraicSolving diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index f5fab7e..6c0360c 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -1,14 +1,7 @@ -export compute_graph, connected_components, number_of_connected_components, group_by_component, merge_graphs, - plot_graph, plot_graphs, plot_graph_comp, Bresultant, param_crit_split, build_graphs_data, build_graph_data +export connected_components, number_of_connected_components, group_by_component, merge_graphs, build_graph_data,curve_graph,curve_arrangement_graph - # DEBUG - export interp_subresultants, mmod_subresultants, subresultants, diff, diff_list, trimat_rand, fact_gcd, isolate_eval, isolate, - rat_to_arb, evaluate_arb, evaluate_arb_rat, int_coeffs, array_to_poly, parray_asvar, poly_to_array, homogenize, rem_var, - intersect_biv, num_biv_rat_mod, parray_asvarcoeff, mmod_param_crit, MPolyBuild, change_ringvar, curve_graph, curve_ratparam_graph, - curve_arrangement_graph, arb_to_rat - -include("tools.jl") + include("tools.jl") include("datastruct.jl") include("buildpoly.jl") include("paramcrit.jl") diff --git a/src/exports.jl b/src/exports.jl index f1d3afa..3ac8301 100644 --- a/src/exports.jl +++ b/src/exports.jl @@ -6,4 +6,6 @@ export polynomial_ring, MPolyRing, GFElem, MPolyRingElem, equidimensional_decomposition, homogenize, dimension, FqMPolyRingElem, hilbert_series, hilbert_dimension, hilbert_degree, hilbert_polynomial, rational_curve_parametrization, roadmap, computepolar, all_eqs, - all_base_pts, nb_nodes, subresultants, change_ringvar \ No newline at end of file + all_base_pts, nb_nodes, connected_components, number_of_connected_components, + group_by_component, merge_graphs, build_graph_data,curve_graph, + curve_arrangement_graph \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index f6cda36..ec44662 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -11,8 +11,9 @@ include("algorithms/hilbert.jl") include("algorithms/decomposition.jl") include("algorithms/param-curves.jl") include("examples/katsura.jl") -include("interp/thiele.jl") +include("interp/thiele.jl") include("interp/newton.jl") include("interp/cuyt_lee.jl") include("interp/resultant.jl") +include("algorithms/curve-connectivity.jl") end From 2f5b4359e47c93d530fa52747003eaa3a143e587 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 20 Apr 2026 14:49:13 +0200 Subject: [PATCH 175/180] fix dependancies --- Project.toml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Project.toml b/Project.toml index 764a2c4..fac42ed 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "AlgebraicSolving" uuid = "66b61cbe-0446-4d5d-9090-1ff510639f9d" -version = "0.10.4" authors = ["ederc ", "Mohab Safey El Din ", "RĂ©mi Prebet "] +version = "0.10.4" [deps] Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" @@ -9,25 +9,28 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" -Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -Primes = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" msolve_jll = "6d01cc9a-e8f6-580e-8c54-544227e08205" +[extras] +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test"] + [compat] Distributed = "1.6" LinearAlgebra = "1.6" Logging = "1.6" Markdown = "1.6" Nemo = "0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.50, 0.51, 0.52, 0.53, 0.54" -Plots = "1.41.0" Printf = "1.6" Random = "1.6" REPL = "1.6" StaticArrays = "1" Test = "1.6" julia = "1.10" -msolve_jll = "0.900.502" +msolve_jll = "0.900.502" \ No newline at end of file From a0ed6077a08b2a853454fe593faf1a1d4f1ccb83 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 20 Apr 2026 14:54:38 +0200 Subject: [PATCH 176/180] change test location --- test/{algorithms => connectivity}/curve-connectivity.jl | 0 test/runtests.jl | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename test/{algorithms => connectivity}/curve-connectivity.jl (100%) diff --git a/test/algorithms/curve-connectivity.jl b/test/connectivity/curve-connectivity.jl similarity index 100% rename from test/algorithms/curve-connectivity.jl rename to test/connectivity/curve-connectivity.jl diff --git a/test/runtests.jl b/test/runtests.jl index ec44662..c1c4b78 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -15,5 +15,5 @@ include("interp/thiele.jl") include("interp/newton.jl") include("interp/cuyt_lee.jl") include("interp/resultant.jl") -include("algorithms/curve-connectivity.jl") +include("connectivity/curve-connectivity.jl") end From 5eacc92057852e8c20cc35090a77a060c67be650 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 20 Apr 2026 15:23:44 +0200 Subject: [PATCH 177/180] remove dependancies --- src/imports.jl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/imports.jl b/src/imports.jl index c2af46b..632b29a 100644 --- a/src/imports.jl +++ b/src/imports.jl @@ -3,11 +3,8 @@ using msolve_jll using Nemo using LinearAlgebra using StaticArrays -using Plots, Colors -#pythonplot() -import Plots: plot -import Random: MersenneTwister, randperm +import Random: MersenneTwister import Logging: ConsoleLogger, with_logger, Warn, Info import Printf: @sprintf, @printf import Distributed: AbstractWorkerPool, remotecall_fetch From 5e5a612eb7fdcbadd2335524d8ae0bd11c606f65 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 20 Apr 2026 15:23:53 +0200 Subject: [PATCH 178/180] update doc --- src/connectivity/connectcurves.jl | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 6c0360c..57cd9a6 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -95,6 +95,23 @@ Returns a `CurveGraph{T}` object (where `T` is determined by the `outf` flag), c * **`v`** (`Int`, default `0`): Verbosity level. * **`force_app`** (`Bool`, default `false`): Skips 3D intersection checks, treating all 2D nodes as apparent singularities. * **`outf`** (`Bool`, default `true`): Output coordinates as `Float64`. If `false`, outputs exact `QQFieldElem`. + +### Example +```jldoctest +julia> using AlgebraicSolving + +julia> R, (x, y, z) = polynomial_ring(QQ, ["x", "y", "z"]); + +julia> f = -42*x^2 + 101*x*y - 8*x*z - 88*x + 53*y^2 + 71*y*z + 154*y + 53*z^2 + 2*z - 32; + g = -7*x^2 - 144*x*y - 126*x*z - 7*x + 30*y^2 - 34*y*z + 72*y + 71*z^2 + 46*z + 5; + +julia> I = Ideal([f, g]); + +julia> G = curve_graph(I); + +julia> number_of_connected_components(G) +3 +``` """ function curve_graph(I::Ideal{P}, args...; generic=true, outf=true, v=0, kwargs...) where {P <: QQMPolyRingElem} R = parent(I) From d1831efb785391dd14e218e34c1d505b87727775 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 20 Apr 2026 15:25:25 +0200 Subject: [PATCH 179/180] remove manifest.toml --- Manifest.toml | 1245 ------------------------------------------------- 1 file changed, 1245 deletions(-) delete mode 100644 Manifest.toml diff --git a/Manifest.toml b/Manifest.toml deleted file mode 100644 index 43a90bf..0000000 --- a/Manifest.toml +++ /dev/null @@ -1,1245 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.12.6" -manifest_format = "2.0" -project_hash = "df55572e31ee2a4a5a0c44bb96cd0c13ec9af668" - -[[deps.AbstractAlgebra]] -deps = ["LinearAlgebra", "MacroTools", "PrecompileTools", "Preferences", "Random", "RandomExtensions", "SparseArrays"] -git-tree-sha1 = "14745b9234c1e4ea56fb13f89dd7e798ffbfd399" -uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" -version = "0.48.4" -weakdeps = ["Test"] - - [deps.AbstractAlgebra.extensions] - TestExt = "Test" - -[[deps.AlgebraicSolving]] -deps = ["BenchmarkTools", "Colors", "LinearAlgebra", "Logging", "Markdown", "Nemo", "Plots", "Primes", "Printf", "Random", "StaticArrays", "msolve_jll"] -path = "." -uuid = "66b61cbe-0446-4d5d-9090-1ff510639f9d" -version = "0.10.4" - -[[deps.AliasTables]] -deps = ["PtrArrays", "Random"] -git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff" -uuid = "66dad0bd-aa9a-41b7-9441-69ab47430ed8" -version = "1.1.3" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.2" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" -version = "1.11.0" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" -version = "1.11.0" - -[[deps.BenchmarkTools]] -deps = ["Compat", "JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] -git-tree-sha1 = "6876e30dc02dc69f0613cb6ece242144f2ca9e56" -uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -version = "1.7.0" - -[[deps.BitFlags]] -git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" -uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.9" - -[[deps.Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "1b96ea4a01afe0ea4090c5c8039690672dd13f2e" -uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.9+0" - -[[deps.Cairo_jll]] -deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "a21c5464519504e41e0cbc91f0188e8ca23d7440" -uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.18.5+1" - -[[deps.CodecZlib]] -deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "962834c22b66e32aa10f7611c08c8ca4e20749a9" -uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.8" - -[[deps.ColorSchemes]] -deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] -git-tree-sha1 = "b0fd3f56fa442f81e0a47815c92245acfaaa4e34" -uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.31.0" - -[[deps.ColorTypes]] -deps = ["FixedPointNumbers", "Random"] -git-tree-sha1 = "67e11ee83a43eb71ddc950302c53bf33f0690dfe" -uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" -version = "0.12.1" -weakdeps = ["StyledStrings"] - - [deps.ColorTypes.extensions] - StyledStringsExt = "StyledStrings" - -[[deps.ColorVectorSpace]] -deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] -git-tree-sha1 = "8b3b6f87ce8f65a2b4f857528fd8d70086cd72b1" -uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" -version = "0.11.0" - - [deps.ColorVectorSpace.extensions] - SpecialFunctionsExt = "SpecialFunctions" - - [deps.ColorVectorSpace.weakdeps] - SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" - -[[deps.Colors]] -deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] -git-tree-sha1 = "37ea44092930b1811e666c3bc38065d7d87fcc74" -uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.13.1" - -[[deps.Compat]] -deps = ["TOML", "UUIDs"] -git-tree-sha1 = "9d8a54ce4b17aa5bdce0ea5c34bc5e7c340d16ad" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.18.1" -weakdeps = ["Dates", "LinearAlgebra"] - - [deps.Compat.extensions] - CompatLinearAlgebraExt = "LinearAlgebra" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.3.0+1" - -[[deps.ConcurrentUtilities]] -deps = ["Serialization", "Sockets"] -git-tree-sha1 = "21d088c496ea22914fe80906eb5bce65755e5ec8" -uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.5.1" - -[[deps.Contour]] -git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8" -uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" -version = "0.6.3" - -[[deps.DataAPI]] -git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.16.0" - -[[deps.DataStructures]] -deps = ["OrderedCollections"] -git-tree-sha1 = "e357641bb3e0638d353c4b29ea0e40ea644066a6" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.19.3" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" -version = "1.11.0" - -[[deps.Dbus_jll]] -deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "473e9afc9cf30814eb67ffa5f2db7df82c3ad9fd" -uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab" -version = "1.16.2+0" - -[[deps.DelimitedFiles]] -deps = ["Mmap"] -git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" -uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" -version = "1.9.1" - -[[deps.DocStringExtensions]] -git-tree-sha1 = "7442a5dfe1ebb773c29cc2962a8980f47221d76c" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.9.5" - -[[deps.Downloads]] -deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.7.0" - -[[deps.EpollShim_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8a4be429317c42cfae6a7fc03c31bad1970c310d" -uuid = "2702e6a9-849d-5ed8-8c21-79e8b8f9ee43" -version = "0.0.20230411+1" - -[[deps.ExceptionUnwrapping]] -deps = ["Test"] -git-tree-sha1 = "d36f682e590a83d63d1c7dbd287573764682d12a" -uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" -version = "0.1.11" - -[[deps.Expat_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "27af30de8b5445644e8ffe3bcb0d72049c089cf1" -uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.7.3+0" - -[[deps.FFMPEG]] -deps = ["FFMPEG_jll"] -git-tree-sha1 = "95ecf07c2eea562b5adbd0696af6db62c0f52560" -uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" -version = "0.4.5" - -[[deps.FFMPEG_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libva_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "01ba9d15e9eae375dc1eb9589df76b3572acd3f2" -uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "8.0.1+0" - -[[deps.FLINT_jll]] -deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "MPFR_jll", "OpenBLAS32_jll"] -git-tree-sha1 = "b730e276143ad63360611f64243117d00276b632" -uuid = "e134572f-a0d5-539d-bddf-3cad8db41a82" -version = "301.400.1+0" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" -version = "1.11.0" - -[[deps.FixedPointNumbers]] -deps = ["Statistics"] -git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" -uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.8.5" - -[[deps.Fontconfig_jll]] -deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"] -git-tree-sha1 = "f85dac9a96a01087df6e3a749840015a0ca3817d" -uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" -version = "2.17.1+0" - -[[deps.Format]] -git-tree-sha1 = "9c68794ef81b08086aeb32eeaf33531668d5f5fc" -uuid = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8" -version = "1.3.7" - -[[deps.FreeType2_jll]] -deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "2c5512e11c791d1baed2049c5652441b28fc6a31" -uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.13.4+0" - -[[deps.FriBidi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "7a214fdac5ed5f59a22c2d9a885a16da1c74bbc7" -uuid = "559328eb-81f9-559d-9380-de523a88c83c" -version = "1.0.17+0" - -[[deps.GLFW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll", "libdecor_jll", "xkbcommon_jll"] -git-tree-sha1 = "b7bfd56fa66616138dfe5237da4dc13bbd83c67f" -uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" -version = "3.4.1+0" - -[[deps.GMP_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" -version = "6.3.0+2" - -[[deps.GR]] -deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Preferences", "Printf", "Qt6Wayland_jll", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "p7zip_jll"] -git-tree-sha1 = "ee0585b62671ce88e48d3409733230b401c9775c" -uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.73.22" - - [deps.GR.extensions] - IJuliaExt = "IJulia" - - [deps.GR.weakdeps] - IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" - -[[deps.GR_jll]] -deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "7dd7173f7129a1b6f84e0f03e0890cd1189b0659" -uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.73.22+0" - -[[deps.GettextRuntime_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll"] -git-tree-sha1 = "45288942190db7c5f760f59c04495064eedf9340" -uuid = "b0724c58-0f36-5564-988d-3bb0596ebc4a" -version = "0.22.4+0" - -[[deps.Ghostscript_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Zlib_jll"] -git-tree-sha1 = "38044a04637976140074d0b0621c1edf0eb531fd" -uuid = "61579ee1-b43e-5ca0-a5da-69d92c66a64b" -version = "9.55.1+0" - -[[deps.Glib_jll]] -deps = ["Artifacts", "GettextRuntime_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "24f6def62397474a297bfcec22384101609142ed" -uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.86.3+0" - -[[deps.Graphite2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8a6dbda1fd736d60cc477d99f2e7a042acfa46e8" -uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.15+0" - -[[deps.Grisu]] -git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" -uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" -version = "1.0.2" - -[[deps.HTTP]] -deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "PrecompileTools", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "5e6fe50ae7f23d171f44e311c2960294aaa0beb5" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.10.19" - -[[deps.HarfBuzz_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll"] -git-tree-sha1 = "f923f9a774fcf3f5cb761bfa43aeadd689714813" -uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" -version = "8.5.1+0" - -[[deps.IntegerMathUtils]] -git-tree-sha1 = "4c1acff2dc6b6967e7e750633c50bc3b8d83e617" -uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" -version = "0.1.3" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" -version = "1.11.0" - -[[deps.IrrationalConstants]] -git-tree-sha1 = "b2d91fe939cae05960e760110b328288867b5758" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.2.6" - -[[deps.JLFzf]] -deps = ["REPL", "Random", "fzf_jll"] -git-tree-sha1 = "82f7acdc599b65e0f8ccd270ffa1467c21cb647b" -uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" -version = "0.1.11" - -[[deps.JLLWrappers]] -deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "0533e564aae234aff59ab625543145446d8b6ec2" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.7.1" - -[[deps.JSON]] -deps = ["Dates", "Logging", "Parsers", "PrecompileTools", "StructUtils", "UUIDs", "Unicode"] -git-tree-sha1 = "b3ad4a0255688dcb895a52fafbaae3023b588a90" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "1.4.0" - - [deps.JSON.extensions] - JSONArrowExt = ["ArrowTypes"] - - [deps.JSON.weakdeps] - ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" - -[[deps.JpegTurbo_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "b6893345fd6658c8e475d40155789f4860ac3b21" -uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "3.1.4+0" - -[[deps.JuliaSyntaxHighlighting]] -deps = ["StyledStrings"] -uuid = "ac6e5ff7-fb65-4e79-a425-ec3bc9c03011" -version = "1.12.0" - -[[deps.LAME_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "059aabebaa7c82ccb853dd4a0ee9d17796f7e1bc" -uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.3+0" - -[[deps.LERC_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "aaafe88dccbd957a8d82f7d05be9b69172e0cee3" -uuid = "88015f11-f218-50d7-93a8-a6af411a945d" -version = "4.0.1+0" - -[[deps.LLVMOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "eb62a3deb62fc6d8822c0c4bef73e4412419c5d8" -uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" -version = "18.1.8+0" - -[[deps.LZO_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "1c602b1127f4751facb671441ca72715cc95938a" -uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.3+0" - -[[deps.LaTeXStrings]] -git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c" -uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.4.0" - -[[deps.Latexify]] -deps = ["Format", "Ghostscript_jll", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] -git-tree-sha1 = "44f93c47f9cd6c7e431f2f2091fcba8f01cd7e8f" -uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" -version = "0.16.10" - - [deps.Latexify.extensions] - DataFramesExt = "DataFrames" - SparseArraysExt = "SparseArrays" - SymEngineExt = "SymEngine" - TectonicExt = "tectonic_jll" - - [deps.Latexify.weakdeps] - DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" - tectonic_jll = "d7dd28d6-a5e6-559c-9131-7eb760cdacc5" - -[[deps.LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.4" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "OpenSSL_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "8.15.0+0" - -[[deps.LibGit2]] -deps = ["LibGit2_jll", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" -version = "1.11.0" - -[[deps.LibGit2_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "OpenSSL_jll"] -uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" -version = "1.9.0+0" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "OpenSSL_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.11.3+1" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" -version = "1.11.0" - -[[deps.Libffi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "c8da7e6a91781c41a863611c7e966098d783c57a" -uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" -version = "3.4.7+0" - -[[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "d36c21b9e7c172a44a10484125024495e2625ac0" -uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.7.1+1" - -[[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "be484f5c92fad0bd8acfef35fe017900b0b73809" -uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.18.0+0" - -[[deps.Libmount_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "97bbca976196f2a1eb9607131cb108c69ec3f8a6" -uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.41.3+0" - -[[deps.Libtiff_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "f04133fe05eff1667d2054c53d59f9122383fe05" -uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.7.2+0" - -[[deps.Libuuid_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "d0205286d9eceadc518742860bf23f703779a3d6" -uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.41.3+0" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -version = "1.12.0" - -[[deps.LogExpFunctions]] -deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "13ca9e2586b89836fd20cccf56e57e2b9ae7f38f" -uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.29" - - [deps.LogExpFunctions.extensions] - LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" - LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" - LogExpFunctionsInverseFunctionsExt = "InverseFunctions" - - [deps.LogExpFunctions.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" - InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" -version = "1.11.0" - -[[deps.LoggingExtras]] -deps = ["Dates", "Logging"] -git-tree-sha1 = "f00544d95982ea270145636c181ceda21c4e2575" -uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.2.0" - -[[deps.MPFR_jll]] -deps = ["Artifacts", "GMP_jll", "Libdl"] -uuid = "3a97d323-0669-5f0c-9066-3539efd106a3" -version = "4.2.2+0" - -[[deps.MacroTools]] -git-tree-sha1 = "1e0228a030642014fe5cfe68c2c0a818f9e3f522" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.16" - -[[deps.Markdown]] -deps = ["Base64", "JuliaSyntaxHighlighting", "StyledStrings"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" -version = "1.11.0" - -[[deps.MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] -git-tree-sha1 = "8785729fa736197687541f7053f6d8ab7fc44f92" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.1.10" - -[[deps.MbedTLS_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "ff69a2b1330bcb730b9ac1ab7dd680176f5896b8" -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.1010+0" - -[[deps.Measures]] -git-tree-sha1 = "b513cedd20d9c914783d8ad83d08120702bf2c77" -uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" -version = "0.3.3" - -[[deps.Missings]] -deps = ["DataAPI"] -git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" -uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.2.0" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" -version = "1.11.0" - -[[deps.MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2025.11.4" - -[[deps.NaNMath]] -deps = ["OpenLibm_jll"] -git-tree-sha1 = "9b8215b1ee9e78a293f99797cd31375471b2bcae" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "1.1.3" - -[[deps.Nemo]] -deps = ["AbstractAlgebra", "FLINT_jll", "LinearAlgebra", "Random", "RandomExtensions", "SHA"] -git-tree-sha1 = "dc1998cf33825b8e2550309acf72adf462cd57c8" -uuid = "2edaba10-b0f1-5616-af89-8c11ac63239a" -version = "0.54.1" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.3.0" - -[[deps.Ogg_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "b6aa4566bb7ae78498a5e68943863fa8b5231b59" -uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" -version = "1.3.6+0" - -[[deps.OpenBLAS32_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "46cce8b42186882811da4ce1f4c7208b02deb716" -uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" -version = "0.3.30+0" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.29+0" - -[[deps.OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.7+0" - -[[deps.OpenSSL]] -deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "NetworkOptions", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "1d1aaa7d449b58415f97d2839c318b70ffb525a0" -uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.6.1" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.5.4+0" - -[[deps.Opus_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e2bb57a313a74b8104064b7efd01406c0a50d2ff" -uuid = "91d4177d-7536-5919-b921-800302f37372" -version = "1.6.1+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "05868e21324cede2207c6f0f466b4bfef6d5e7ee" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.8.1" - -[[deps.PCRE2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.44.0+1" - -[[deps.Pango_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "0662b083e11420952f2e62e17eddae7fc07d5997" -uuid = "36c8627f-9965-5494-a995-c6b170f724f3" -version = "1.57.0+0" - -[[deps.Parsers]] -deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "7d2f8f21da5db6a806faf7b9b292296da42b2810" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.8.3" - -[[deps.Pixman_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] -git-tree-sha1 = "db76b1ecd5e9715f3d043cec13b2ec93ce015d53" -uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.44.2+0" - -[[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.12.1" -weakdeps = ["REPL"] - - [deps.Pkg.extensions] - REPLExt = "REPL" - -[[deps.PlotThemes]] -deps = ["PlotUtils", "Statistics"] -git-tree-sha1 = "41031ef3a1be6f5bbbf3e8073f210556daeae5ca" -uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" -version = "3.3.0" - -[[deps.PlotUtils]] -deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "StableRNGs", "Statistics"] -git-tree-sha1 = "26ca162858917496748aad52bb5d3be4d26a228a" -uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.4.4" - -[[deps.Plots]] -deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "TOML", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] -git-tree-sha1 = "fd2476993d84cedaaf6a03cf1a291d9acc18f70e" -uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.41.0" - - [deps.Plots.extensions] - FileIOExt = "FileIO" - GeometryBasicsExt = "GeometryBasics" - IJuliaExt = "IJulia" - ImageInTerminalExt = "ImageInTerminal" - UnitfulExt = "Unitful" - - [deps.Plots.weakdeps] - FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" - GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" - IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" - ImageInTerminal = "d8c32880-2388-543b-8c61-d9f865259254" - Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" - -[[deps.PrecompileTools]] -deps = ["Preferences"] -git-tree-sha1 = "07a921781cab75691315adc645096ed5e370cb77" -uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.3.3" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "8b770b60760d4451834fe79dd483e318eee709c4" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.5.2" - -[[deps.Primes]] -deps = ["IntegerMathUtils"] -git-tree-sha1 = "25cdd1d20cd005b52fc12cb6be3f75faaf59bb9b" -uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" -version = "0.5.7" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" -version = "1.11.0" - -[[deps.Profile]] -deps = ["StyledStrings"] -uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" -version = "1.11.0" - -[[deps.PtrArrays]] -git-tree-sha1 = "4fbbafbc6251b883f4d2705356f3641f3652a7fe" -uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" -version = "1.4.0" - -[[deps.Qt6Base_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Vulkan_Loader_jll", "Xorg_libSM_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_cursor_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "libinput_jll", "xkbcommon_jll"] -git-tree-sha1 = "34f7e5d2861083ec7596af8b8c092531facf2192" -uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" -version = "6.8.2+2" - -[[deps.Qt6Declarative_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6ShaderTools_jll"] -git-tree-sha1 = "da7adf145cce0d44e892626e647f9dcbe9cb3e10" -uuid = "629bc702-f1f5-5709-abd5-49b8460ea067" -version = "6.8.2+1" - -[[deps.Qt6ShaderTools_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll"] -git-tree-sha1 = "9eca9fc3fe515d619ce004c83c31ffd3f85c7ccf" -uuid = "ce943373-25bb-56aa-8eca-768745ed7b5a" -version = "6.8.2+1" - -[[deps.Qt6Wayland_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6Declarative_jll"] -git-tree-sha1 = "8f528b0851b5b7025032818eb5abbeb8a736f853" -uuid = "e99dba38-086e-5de3-a5b1-6e4c66e897c3" -version = "6.8.2+2" - -[[deps.REPL]] -deps = ["InteractiveUtils", "JuliaSyntaxHighlighting", "Markdown", "Sockets", "StyledStrings", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" -version = "1.11.0" - -[[deps.Random]] -deps = ["SHA"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -version = "1.11.0" - -[[deps.RandomExtensions]] -deps = ["Random", "SparseArrays"] -git-tree-sha1 = "b8a399e95663485820000f26b6a43c794e166a49" -uuid = "fb686558-2515-59ef-acaa-46db3789a887" -version = "0.4.4" - -[[deps.RecipesBase]] -deps = ["PrecompileTools"] -git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" -uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "1.3.4" - -[[deps.RecipesPipeline]] -deps = ["Dates", "NaNMath", "PlotUtils", "PrecompileTools", "RecipesBase"] -git-tree-sha1 = "45cf9fd0ca5839d06ef333c8201714e888486342" -uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" -version = "0.6.12" - -[[deps.Reexport]] -git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.2.2" - -[[deps.RelocatableFolders]] -deps = ["SHA", "Scratch"] -git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" -uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" -version = "1.0.1" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "62389eeff14780bfe55195b7204c0d8738436d64" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.1" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" -version = "0.7.0" - -[[deps.Scratch]] -deps = ["Dates"] -git-tree-sha1 = "9b81b8393e50b7d4e6d0a9f14e192294d3b7c109" -uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.3.0" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" -version = "1.11.0" - -[[deps.Showoff]] -deps = ["Dates", "Grisu"] -git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" -uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" -version = "1.0.3" - -[[deps.SimpleBufferStream]] -git-tree-sha1 = "f305871d2f381d21527c770d4788c06c097c9bc1" -uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" -version = "1.2.0" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" -version = "1.11.0" - -[[deps.SortingAlgorithms]] -deps = ["DataStructures"] -git-tree-sha1 = "64d974c2e6fdf07f8155b5b2ca2ffa9069b608d9" -uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.2.2" - -[[deps.SparseArrays]] -deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" -version = "1.12.0" - -[[deps.StableRNGs]] -deps = ["Random"] -git-tree-sha1 = "4f96c596b8c8258cc7d3b19797854d368f243ddc" -uuid = "860ef19b-820b-49d6-a774-d7a799459cd3" -version = "1.0.4" - -[[deps.StaticArrays]] -deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "0f529006004a8be48f1be25f3451186579392d47" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.17" - - [deps.StaticArrays.extensions] - StaticArraysChainRulesCoreExt = "ChainRulesCore" - StaticArraysStatisticsExt = "Statistics" - - [deps.StaticArrays.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - -[[deps.StaticArraysCore]] -git-tree-sha1 = "6ab403037779dae8c514bad259f32a447262455a" -uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.4" - -[[deps.Statistics]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0" -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" -version = "1.11.1" -weakdeps = ["SparseArrays"] - - [deps.Statistics.extensions] - SparseArraysExt = ["SparseArrays"] - -[[deps.StatsAPI]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "178ed29fd5b2a2cfc3bd31c13375ae925623ff36" -uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.8.0" - -[[deps.StatsBase]] -deps = ["AliasTables", "DataAPI", "DataStructures", "IrrationalConstants", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "aceda6f4e598d331548e04cc6b2124a6148138e3" -uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.34.10" - -[[deps.StructUtils]] -deps = ["Dates", "UUIDs"] -git-tree-sha1 = "28145feabf717c5d65c1d5e09747ee7b1ff3ed13" -uuid = "ec057cc2-7a8d-4b58-b3b3-92acb9f63b42" -version = "2.6.3" - - [deps.StructUtils.extensions] - StructUtilsMeasurementsExt = ["Measurements"] - StructUtilsTablesExt = ["Tables"] - - [deps.StructUtils.weakdeps] - Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" - Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" - -[[deps.StyledStrings]] -uuid = "f489334b-da3d-4c2e-b8f0-e476e12c162b" -version = "1.11.0" - -[[deps.SuiteSparse_jll]] -deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] -uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" -version = "7.8.3+2" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.3" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.0" - -[[deps.TensorCore]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" -uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" -version = "0.1.1" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -version = "1.11.0" - -[[deps.TranscodingStreams]] -git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.11.3" - -[[deps.URIs]] -git-tree-sha1 = "bef26fb046d031353ef97a82e3fdb6afe7f21b1a" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.6.1" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" -version = "1.11.0" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" -version = "1.11.0" - -[[deps.UnicodeFun]] -deps = ["REPL"] -git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" -uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" -version = "0.4.1" - -[[deps.Unitful]] -deps = ["Dates", "LinearAlgebra", "Random"] -git-tree-sha1 = "6258d453843c466d84c17a58732dda5deeb8d3af" -uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.24.0" - - [deps.Unitful.extensions] - ConstructionBaseUnitfulExt = "ConstructionBase" - ForwardDiffExt = "ForwardDiff" - InverseFunctionsUnitfulExt = "InverseFunctions" - PrintfExt = "Printf" - - [deps.Unitful.weakdeps] - ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" - Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.UnitfulLatexify]] -deps = ["LaTeXStrings", "Latexify", "Unitful"] -git-tree-sha1 = "af305cc62419f9bd61b6644d19170a4d258c7967" -uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728" -version = "1.7.0" - -[[deps.Unzip]] -git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" -uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" -version = "0.2.0" - -[[deps.Vulkan_Loader_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Wayland_jll", "Xorg_libX11_jll", "Xorg_libXrandr_jll", "xkbcommon_jll"] -git-tree-sha1 = "2f0486047a07670caad3a81a075d2e518acc5c59" -uuid = "a44049a8-05dd-5a78-86c9-5fde0876e88c" -version = "1.3.243+0" - -[[deps.Wayland_jll]] -deps = ["Artifacts", "EpollShim_jll", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll"] -git-tree-sha1 = "96478df35bbc2f3e1e791bc7a3d0eeee559e60e9" -uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" -version = "1.24.0+0" - -[[deps.XZ_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "9cce64c0fdd1960b597ba7ecda2950b5ed957438" -uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.8.2+0" - -[[deps.Xorg_libICE_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "a3ea76ee3f4facd7a64684f9af25310825ee3668" -uuid = "f67eecfb-183a-506d-b269-f58e52b52d7c" -version = "1.1.2+0" - -[[deps.Xorg_libSM_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libICE_jll"] -git-tree-sha1 = "9c7ad99c629a44f81e7799eb05ec2746abb5d588" -uuid = "c834827a-8449-5923-a945-d239c165b7dd" -version = "1.2.6+0" - -[[deps.Xorg_libX11_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "808090ede1d41644447dd5cbafced4731c56bd2f" -uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.8.13+0" - -[[deps.Xorg_libXau_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "aa1261ebbac3ccc8d16558ae6799524c450ed16b" -uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.13+0" - -[[deps.Xorg_libXcursor_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "6c74ca84bbabc18c4547014765d194ff0b4dc9da" -uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" -version = "1.2.4+0" - -[[deps.Xorg_libXdmcp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "52858d64353db33a56e13c341d7bf44cd0d7b309" -uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.6+0" - -[[deps.Xorg_libXext_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "1a4a26870bf1e5d26cd585e38038d399d7e65706" -uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.8+0" - -[[deps.Xorg_libXfixes_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "75e00946e43621e09d431d9b95818ee751e6b2ef" -uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" -version = "6.0.2+0" - -[[deps.Xorg_libXi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] -git-tree-sha1 = "a376af5c7ae60d29825164db40787f15c80c7c54" -uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" -version = "1.8.3+0" - -[[deps.Xorg_libXinerama_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll"] -git-tree-sha1 = "0ba01bc7396896a4ace8aab67db31403c71628f4" -uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" -version = "1.1.7+0" - -[[deps.Xorg_libXrandr_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "6c174ef70c96c76f4c3f4d3cfbe09d018bcd1b53" -uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" -version = "1.5.6+0" - -[[deps.Xorg_libXrender_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "7ed9347888fac59a618302ee38216dd0379c480d" -uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" -version = "0.9.12+0" - -[[deps.Xorg_libpciaccess_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "4909eb8f1cbf6bd4b1c30dd18b2ead9019ef2fad" -uuid = "a65dc6b1-eb27-53a1-bb3e-dea574b5389e" -version = "0.18.1+0" - -[[deps.Xorg_libxcb_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXau_jll", "Xorg_libXdmcp_jll"] -git-tree-sha1 = "bfcaf7ec088eaba362093393fe11aa141fa15422" -uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.17.1+0" - -[[deps.Xorg_libxkbfile_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "ed756a03e95fff88d8f738ebc2849431bdd4fd1a" -uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" -version = "1.2.0+0" - -[[deps.Xorg_xcb_util_cursor_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_jll", "Xorg_xcb_util_renderutil_jll"] -git-tree-sha1 = "9750dc53819eba4e9a20be42349a6d3b86c7cdf8" -uuid = "e920d4aa-a673-5f3a-b3d7-f755a4d47c43" -version = "0.1.6+0" - -[[deps.Xorg_xcb_util_image_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"] -git-tree-sha1 = "f4fc02e384b74418679983a97385644b67e1263b" -uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" -version = "0.4.1+0" - -[[deps.Xorg_xcb_util_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll"] -git-tree-sha1 = "68da27247e7d8d8dafd1fcf0c3654ad6506f5f97" -uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" -version = "0.4.1+0" - -[[deps.Xorg_xcb_util_keysyms_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"] -git-tree-sha1 = "44ec54b0e2acd408b0fb361e1e9244c60c9c3dd4" -uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" -version = "0.4.1+0" - -[[deps.Xorg_xcb_util_renderutil_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"] -git-tree-sha1 = "5b0263b6d080716a02544c55fdff2c8d7f9a16a0" -uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" -version = "0.3.10+0" - -[[deps.Xorg_xcb_util_wm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"] -git-tree-sha1 = "f233c83cad1fa0e70b7771e0e21b061a116f2763" -uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" -version = "0.4.2+0" - -[[deps.Xorg_xkbcomp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxkbfile_jll"] -git-tree-sha1 = "801a858fc9fb90c11ffddee1801bb06a738bda9b" -uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" -version = "1.4.7+0" - -[[deps.Xorg_xkeyboard_config_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"] -git-tree-sha1 = "00af7ebdc563c9217ecc67776d1bbf037dbcebf4" -uuid = "33bec58e-1273-512f-9401-5d533626f822" -version = "2.44.0+0" - -[[deps.Xorg_xtrans_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "a63799ff68005991f9d9491b6e95bd3478d783cb" -uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.6.0+0" - -[[deps.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.3.1+2" - -[[deps.Zstd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "446b23e73536f84e8037f5dce465e92275f6a308" -uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.7+1" - -[[deps.eudev_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "c3b0e6196d50eab0c5ed34021aaa0bb463489510" -uuid = "35ca27e7-8b34-5b7f-bca9-bdc33f59eb06" -version = "3.2.14+0" - -[[deps.fzf_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "b6a34e0e0960190ac2a4363a1bd003504772d631" -uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" -version = "0.61.1+0" - -[[deps.libaom_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "371cc681c00a3ccc3fbc5c0fb91f58ba9bec1ecf" -uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" -version = "3.13.1+0" - -[[deps.libass_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "125eedcb0a4a0bba65b657251ce1d27c8714e9d6" -uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.17.4+0" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.15.0+0" - -[[deps.libdecor_jll]] -deps = ["Artifacts", "Dbus_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pango_jll", "Wayland_jll", "xkbcommon_jll"] -git-tree-sha1 = "9bf7903af251d2050b467f76bdbe57ce541f7f4f" -uuid = "1183f4f0-6f2a-5f1a-908b-139f9cdfea6f" -version = "0.2.2+0" - -[[deps.libdrm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libpciaccess_jll"] -git-tree-sha1 = "63aac0bcb0b582e11bad965cef4a689905456c03" -uuid = "8e53e030-5e6c-5a89-a30b-be5b7263a166" -version = "2.4.125+1" - -[[deps.libevdev_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "56d643b57b188d30cccc25e331d416d3d358e557" -uuid = "2db6ffa8-e38f-5e21-84af-90c45d0032cc" -version = "1.13.4+0" - -[[deps.libfdk_aac_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "646634dd19587a56ee2f1199563ec056c5f228df" -uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "2.0.4+0" - -[[deps.libinput_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "eudev_jll", "libevdev_jll", "mtdev_jll"] -git-tree-sha1 = "91d05d7f4a9f67205bd6cf395e488009fe85b499" -uuid = "36db933b-70db-51c0-b978-0f229ee0e533" -version = "1.28.1+0" - -[[deps.libpng_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "e015f211ebb898c8180887012b938f3851e719ac" -uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.55+0" - -[[deps.libva_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "libdrm_jll"] -git-tree-sha1 = "7dbf96baae3310fe2fa0df0ccbb3c6288d5816c9" -uuid = "9a156e7d-b971-5f62-b2c9-67348b8fb97c" -version = "2.23.0+0" - -[[deps.libvorbis_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll"] -git-tree-sha1 = "11e1772e7f3cc987e9d3de991dd4f6b2602663a5" -uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.8+0" - -[[deps.msolve_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "FLINT_jll", "GMP_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl", "MPFR_jll", "OpenBLAS32_jll"] -git-tree-sha1 = "acd1dc4f0213298fa267501e0ff5906952df2678" -uuid = "6d01cc9a-e8f6-580e-8c54-544227e08205" -version = "0.900.400+0" - -[[deps.mtdev_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "b4d631fd51f2e9cdd93724ae25b2efc198b059b1" -uuid = "009596ad-96f7-51b1-9f1b-5ce2d5e8a71e" -version = "1.1.7+0" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.64.0+1" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.7.0+0" - -[[deps.x264_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "14cc7083fc6dff3cc44f2bc435ee96d06ed79aa7" -uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" -version = "10164.0.1+0" - -[[deps.x265_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e7b67590c14d487e734dcb925924c5dc43ec85f3" -uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" -version = "4.1.0+0" - -[[deps.xkbcommon_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] -git-tree-sha1 = "a1fc6507a40bf504527d0d4067d718f8e179b2b8" -uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" -version = "1.13.0+0" From 946f5813f4c4a93941b5f797fbbefcbb51ecb557 Mon Sep 17 00:00:00 2001 From: Remi Prebet Date: Mon, 20 Apr 2026 15:52:29 +0200 Subject: [PATCH 180/180] fix doc and multiple inclusion --- docs/src/connectivity.md | 8 ++++---- src/AlgebraicSolving.jl | 2 -- src/connectivity/connectcurves.jl | 5 +---- src/connectivity/graph.jl | 4 ++-- test/connectivity/curve-connectivity.jl | 3 ++- 5 files changed, 9 insertions(+), 13 deletions(-) diff --git a/docs/src/connectivity.md b/docs/src/connectivity.md index ea4f765..b6b20fc 100644 --- a/docs/src/connectivity.md +++ b/docs/src/connectivity.md @@ -100,20 +100,20 @@ One can perform different operations on such strutures. ```@docs group_by_components( - G::CurveGraph{T} + G::CurveGraph ) ``` ```@docs number_of_connected_components( - G::CurveGraph{T} + G::CurveGraph ) ``` ```@docs merge_graphs( - graphs::Vector{CurveGraph{T}} - ) where T + graphs::Vector{CurveGraph} + ) ``` ## Displaying curve graph diff --git a/src/AlgebraicSolving.jl b/src/AlgebraicSolving.jl index 2c7802f..50ac27c 100644 --- a/src/AlgebraicSolving.jl +++ b/src/AlgebraicSolving.jl @@ -24,8 +24,6 @@ include("progress/main.jl") include("interp/main.jl") #= connectivity =# include("connectivity/connectcurves.jl") -include("connectivity/graph.jl") -include("connectivity/plots.jl") #= examples =# include("examples/katsura.jl") include("examples/cyclic.jl") diff --git a/src/connectivity/connectcurves.jl b/src/connectivity/connectcurves.jl index 57cd9a6..82ca459 100644 --- a/src/connectivity/connectcurves.jl +++ b/src/connectivity/connectcurves.jl @@ -1,7 +1,4 @@ - -export connected_components, number_of_connected_components, group_by_component, merge_graphs, build_graph_data,curve_graph,curve_arrangement_graph - - include("tools.jl") +include("tools.jl") include("datastruct.jl") include("buildpoly.jl") include("paramcrit.jl") diff --git a/src/connectivity/graph.jl b/src/connectivity/graph.jl index afddb06..1505beb 100644 --- a/src/connectivity/graph.jl +++ b/src/connectivity/graph.jl @@ -107,7 +107,7 @@ This is primarily used to determine which external connections (or user-defined belong to which isolated branch of the curve. # Inputs -- `G::CurveGraph{T}`: The parent graph structure. +- `G::CurveGraph`: The parent graph structure. # Outputs - `Vector{Dict{Int, Vector{Int}}}`: A list of dictionaries, one for each connected component, @@ -126,7 +126,7 @@ Computes the total number of topologically disconnected branches/components in t This is a convenience wrapper for topological validation. # Inputs -- `G::CurveGraph{T}`: The parent graph structure. +- `G::CurveGraph`: The parent graph structure. # Outputs - `Int`: The count of isolated subgraphs. diff --git a/test/connectivity/curve-connectivity.jl b/test/connectivity/curve-connectivity.jl index ea1fcbe..edfb610 100644 --- a/test/connectivity/curve-connectivity.jl +++ b/test/connectivity/curve-connectivity.jl @@ -3,8 +3,9 @@ # param2 (generic) f = -49303382*x^4 + 9395599*x^3*y + 67366686*x^3 - 27407214*x^2*y^2 - 71298014*x^2*y - 24150320*x^2 - 12067817*x*y^3 + 6797370*x*y^2 + 20838420*x*y - 18118613*x + 2357706*y^4 - 13736522*y^3 - 37604516*y^2 - 13868221*y + 6980802 + df = 9395599*x^3 - 54814428*x^2*y - 71298014*x^2 - 36203451*x*y^2 + 13594740*x*y + 20838420*x + 9430824*y^3 - 41209566*y^2 - 75209032*y - 13868221 g = 32091920*x^4 - 97772598*x^3*y - 245256584*x^3 + 99093410*x^2*y^2 + 162335273*x^2*y + 239310556*x^2 + 28995368*x*y^3 - 59544597*x*y^2 - 20499914*x*y + 98243402*x + 22738226*y^3 + 111105506*y^2 + 86287748*y - 62439535 - P = AlgebraicSolving.RationalCurveParametrization([:z,:x,:y], Vector{Vector{ZZRingElem}}(), f, derivative(f, 2), [g]) + P = AlgebraicSolving.RationalCurveParametrization([:z,:x,:y], Vector{Vector{ZZRingElem}}(), f, df, [g]) G = curve_graph(P) @test number_of_connected_components(G) == 3 end \ No newline at end of file

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∋hFyiL{au8UeSLHqk5LscI-HgUbkh$kSp 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�YpUv6%=$A1yNivV-8~uAnKae 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Ɩjr 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�`Cl*jMz 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